Изменение свойств поверхности

В этом примере показано, как получить свойства объемной поверхностной диаграммы в 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

Get Individual Surface Properties

Чтобы получить доступ к отдельным свойствам, используйте синтаксис записи через точку object.PropertyName. Например, возвратите FaceColor свойство поверхности.

s.FaceColor
ans = 
'flat'

Change Commonly Used Surface Properties

Несколько функций доступны, чтобы изменить поверхностные свойства. Например, используйте 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

Изменение другой Surface Properties

Чтобы настроить вид вашей поверхности, измените значения свойств с помощью записи через точку.

CData задает цвета для вершин поверхности. FaceColor свойство указывает, как цвета поверхностных поверхностей определяются из цветов вершины.

s.CData = hypot(X,Y);      % set color data

s.FaceColor = 'interp';    % interpolate to get face colors

AlphaData задает прозрачность для каждой вершины поверхности. FaceAlpha свойство указывает, как прозрачность поверхностных поверхностей определяется из прозрачности вершины.

s.AlphaData = gradient(Z);    % set vertex transparencies
s.FaceAlpha = 'interp';       % interpolate to get face transparencies

Получение всей Surface Properties

Графические объекты в 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'
                   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'
               UIContextMenu: [0x0 GraphicsPlaceholder]
                    UserData: []
               VertexNormals: [50x50x3 double]
           VertexNormalsMode: 'auto'
                     Visible: 'on'
                       XData: [50x50 double]
                   XDataMode: 'manual'
                 XDataSource: ''
                       YData: [50x50 double]
                   YDataMode: 'manual'
                 YDataSource: ''
                       ZData: [50x50 double]
                 ZDataSource: ''
Для просмотра документации необходимо авторизоваться на сайте