Создание логотипа MATLAB

В этом примере показано, как создать и отобразить логотип MATLAB ®.

Используйте membrane команда для генерации данных поверхности для логотипа.

L = 160*membrane(1,100);

Создайте рисунок и оси для отображения логотипа. Затем создайте поверхность для логотипа, используя точки из membrane команда. Отключите линии на поверхности.

f = figure;
ax = axes;

s = surface(L);
s.EdgeColor = 'none';
view(3)

Figure contains an axes. The axes contains an object of type surface.

Отрегулируйте пределы осей так, чтобы оси были плотными вокруг логотипа.

ax.XLim = [1 201];
ax.YLim = [1 201];
ax.ZLim = [-53.4 160];

Figure contains an axes. The axes contains an object of type surface.

Отрегулируйте вид логотипа, используя свойства камеры осей. Свойства камеры управляют видом трехмерной сцены, подобной камере с объективом масштаба.

ax.CameraPosition = [-145.5 -229.7 283.6];
ax.CameraTarget = [77.4 60.2 63.9];
ax.CameraUpVector = [0 0 1];
ax.CameraViewAngle = 36.7;

Figure contains an axes. The axes contains an object of type surface.

Измените положение осей и соотношение сторон x, y и z, чтобы заполнить дополнительное пространство в окне рисунка.

ax.Position = [0 0 1 1];
ax.DataAspectRatio = [1 1 .9];

Figure contains an axes. The axes contains an object of type surface.

Создайте свет, чтобы осветить логотип. Сам свет не виден, но его свойства могут быть заданы, чтобы изменить внешний вид любой закрашенной фигуры или объекта поверхности в осях.

l1 = light;
l1.Position = [160 400 80];
l1.Style = 'local';
l1.Color = [0 0.8 0.8];
 
l2 = light;
l2.Position = [.5 -1 .4];
l2.Color = [0.8 0.8 0];

Figure contains an axes. The axes contains an object of type surface.

Измените цвет логотипа.

s.FaceColor = [0.9 0.2 0.2];

Figure contains an axes. The axes contains an object of type surface.

Используйте подсветку и зеркальные (отражательные) свойства поверхности, чтобы контролировать эффекты подсветки.

s.FaceLighting = 'gouraud';
s.AmbientStrength = 0.3;
s.DiffuseStrength = 0.6; 
s.BackFaceLighting = 'lit';

s.SpecularStrength = 1;
s.SpecularColorReflectance = 1;
s.SpecularExponent = 7;

Figure contains an axes. The axes contains an object of type surface.

Отключите ось, чтобы увидеть конечный результат.

axis off
f.Color = 'black';