1.椭球创建和显示椭圆体
创建并绘制一个以 (0, –0.5, 0) 为中心、半轴长度为 (6, 3.25, 3.25) 的椭圆体。使用 axis equal 可沿每个坐标方向使用相等的数据单位。
ellipsoid(0,-0.5,0,6,3.25,3.25)
axis equal
2.对椭圆体应用平移和旋转
生成以 (0, 0, 0) 为中心、半轴长度为 (1.5, 1.5, 3) 的椭圆体的坐标。
[X,Y,Z] = ellipsoid(0,0,0,1.5,1.5,3);
创建椭圆体的曲面图。
surf(X,Y,Z);
axis equal
绘制第二个椭圆体,其中心从第一个椭圆体平移 (3, 0, 5)。为了能够在下一步骤中旋转第二个椭圆体,将曲面对象返回为 s。
hold on
s = surf(X+3,Y,Z+5);
将第二个椭圆体围绕其 x 轴旋转 45 度。平移和旋转后的椭圆体的新坐标存储在 s.Xdata、s.Ydata 和 s.Zdata 中。
direction = [1 0 0];
rotate(s,direction,45)
3.显示具有不同面数的椭圆体
显示均以坐标 (0, 0, 0) 为中心、半轴长度为 (2, 1, 1) 但具有不同面数的多个椭圆体。
调用 tiledlayout 函数以创建 2×2 分块图布局。调用 nexttile 函数来创建坐标区。然后,使用 ellipsoid 函数绘制三个具有不同面数的椭圆体。通过指定坐标区,在图的不同图块中绘制椭圆体。
tiledlayout(2,2);
ax1 = nexttile;
ellipsoid(ax1,0,0,0,2,1,1)
axis equal
title('20-by-20 faces (Default)')
ax2 = nexttile;
ellipsoid(ax2,0,0,0,2,1,1,50)
axis equal
title('50-by-50 faces')
ax3 = nexttile;
ellipsoid(ax3,0,0,0,2,1,1,80)
axis equal
title('80-by-80 faces')
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删