В этом примере показано, как создать и отобразить комплексный трехмерный объект и управлять его внешним видом.
Это использование в качестве примера графический объект вызвало заварной чайник Ньюэлла. Вершина, поверхность и данные об индексе цвета для заварного чайника вычисляются teapotData
функция. Поскольку заварной чайник является комплексной геометрической фигурой, существует большое количество вершин (4608) и поверхности (3872) возвращено функцией.
[verts, faces, cindex] = teapotGeometry;
Используя данные о геометрии, чертите заварной чайник с помощью patch
команда. patch
команда создает объект закрашенной фигуры.
figure p = patch('Faces',faces,'Vertices',verts,'FaceVertexCData',cindex,'FaceColor','interp')
p = Patch with properties: FaceColor: 'interp' FaceAlpha: 1 EdgeColor: [0 0 0] LineStyle: '-' Faces: [3872x4 double] Vertices: [4608x3 double] Show all properties
Используйте view
команда, чтобы изменить ориентацию объекта.
view(-151,30) % change the orientation axis equal off % make the axes equal and invisible
Сделайте объектное прозрачное использование FaceAlpha
свойство объекта закрашенной фигуры.
p.FaceAlpha = 0.3; % make the object semi-transparent
Если FaceColor
свойство не установлено ни в 'один', затем объект появляется как схема проволочного каркаса.
p.FaceColor = 'none'; % turn off the colors
Измените цвета для объекта с помощью colormap
функция.
p.FaceAlpha = 1; % remove the transparency p.FaceColor = 'interp'; % set the face colors to be interpolated p.LineStyle = 'none'; % remove the lines colormap(copper) % change the colormap
Добавьте свет, чтобы заставить объект казаться более реалистичным.
l = light('Position',[-0.4 0.2 0.9],'Style','infinite')
l = Light with properties: Color: [1 1 1] Style: 'infinite' Position: [-0.4000 0.2000 0.9000] Visible: on Show all properties
lighting gouraud
Эти свойства закрашенной фигуры объектное влияние сила света и отражающие свойства объекта:
AmbientStrength
- управляет силой рассеянного света
DiffuseStrength
- управляет силой рассеянного света
SpecularStrength
- управляет силой отраженного света
SpecularExponent
- управляет резкостью отраженного света
SpecularColorReflectance
- средства управления, как отраженный цвет вычисляется.
Можно установить эти свойства индивидуально. Чтобы установить эти свойства на предопределенное множество значений, которые аппроксимируют внешний вид металлического, солнечного, или тусклого материала, используйте material
команда.
material shiny
Отрегулируйте положение света с помощью его Position
свойство. Положение находится в x, y, z координаты.
l.Position = [-0.1 0.6 0.8]
l = Light with properties: Color: [1 1 1] Style: 'infinite' Position: [-0.1000 0.6000 0.8000] Visible: on Show all properties