В этом примере показано, как получить свойства графика поверхности в MATLAB ® и изменить значения свойств, чтобы настроить график.
Существует несколько способов создать объект поверхности в MATLAB. Один из способов - использовать surf.
[X,Y,Z] = peaks(50); figure surf(X,Y,Z)

Как и все графические объекты, поверхности имеют свойства, которые можно просматривать и изменять. Эти свойства имеют значения по умолчанию. Отображение объекта поверхности, s, показывает наиболее часто используемые поверхностные свойства, такие как EdgeColor, LineStyle, FaceColor, и FaceLighting.
s = surf(X,Y,Z)

s =
Surface with properties:
EdgeColor: [0 0 0]
LineStyle: '-'
FaceColor: 'flat'
FaceLighting: 'flat'
FaceAlpha: 1
XData: [50x50 double]
YData: [50x50 double]
ZData: [50x50 double]
CData: [50x50 double]
Show all properties
Для доступа к отдельным свойствам используйте синтаксис записи через точку object.PropertyName. Для примера верните FaceColor свойство поверхности.
s.FaceColor
ans = 'flat'
Для изменения свойств поверхности доступны несколько функций. Для примера используйте shading функция для управления затенением вашей поверхности.
shading interp % interpolate the colormap across the surface face

Используйте lighting функция, чтобы настроить характеристики подсветки вашей поверхности. В порядке lighting чтобы иметь любое влияние, вы должны осветить вашу поверхность, создав световой объект.
light % create a light lighting gouraud % preferred method for lighting curved surfaces

Чтобы изменить свойство отражающей способности вашей поверхности, используйте material функция.
material dull % set material to be dull, no specular highlights

Чтобы задать прозрачность для всех объектов в текущей системе координат, используйте alpha функция. Эта функция устанавливает прозрачность на любое значение между 1 и 0, где 1 означает полностью непрозрачную, а 0 означает полностью прозрачную.
alpha(0.8) % set transparency to 0.8
Чтобы настроить внешний вид вашей поверхности, измените значения свойств с помощью записи через точку.
CData определяет цвета для вершин поверхности. The FaceColor свойство указывает, как цвета граней поверхности определяются из вершинных цветов.
s.CData = hypot(X,Y); % set color data
s.FaceColor = 'interp'; % interpolate to get face colors
AlphaData определяет прозрачность для каждой вершины поверхности. The FaceAlpha свойство указывает, как прозрачность граней поверхности определяется из вершинной прозрачности.
s.AlphaData = gradient(Z); % set vertex transparencies s.FaceAlpha = 'interp'; % interpolate to get face transparencies

Графические объекты в MATLAB имеют много свойств. Чтобы увидеть все свойства поверхности, используйте get команда.
get(s)
AlignVertexCenters: off
AlphaData: [50x50 double]
AlphaDataMapping: 'scaled'
AmbientStrength: 0.3000
Annotation: [1x1 matlab.graphics.eventdata.Annotation]
BackFaceLighting: 'reverselit'
BeingDeleted: off
BusyAction: 'queue'
ButtonDownFcn: ''
CData: [50x50 double]
CDataMapping: 'scaled'
CDataMode: 'manual'
CDataSource: ''
Children: [0x0 GraphicsPlaceholder]
Clipping: on
ContextMenu: [0x0 GraphicsPlaceholder]
CreateFcn: ''
DataTipTemplate: [1x1 matlab.graphics.datatip.DataTipTemplate]
DeleteFcn: ''
DiffuseStrength: 0.8000
DisplayName: ''
EdgeAlpha: 1
EdgeColor: 'none'
EdgeLighting: 'none'
FaceAlpha: 'interp'
FaceColor: 'interp'
FaceLighting: 'gouraud'
FaceNormals: [49x49x3 double]
FaceNormalsMode: 'auto'
HandleVisibility: 'on'
HitTest: on
Interruptible: on
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerEdgeColor: 'auto'
MarkerFaceColor: 'none'
MarkerSize: 6
MeshStyle: 'both'
Parent: [1x1 Axes]
PickableParts: 'visible'
Selected: off
SelectionHighlight: on
SpecularColorReflectance: 1
SpecularExponent: 10
SpecularStrength: 0
Tag: ''
Type: 'surface'
UserData: []
VertexNormals: [50x50x3 double]
VertexNormalsMode: 'auto'
Visible: on
XData: [50x50 double]
XDataMode: 'manual'
XDataSource: ''
YData: [50x50 double]
YDataMode: 'manual'
YDataSource: ''
ZData: [50x50 double]
ZDataSource: ''