MATLAB创建椭圆曲面函数-ellipsoid

ellipsoid:创建椭圆体
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')

【免责声明】本文档部分内容摘自网络平台,版权归原作者所有,仅用于技术分享与交流,非商业用途!若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!