Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

ellipsoid

创建椭圆体

说明

示例

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr) 返回椭圆体的 x、y 和 z 坐标,但不进行绘制。返回的椭圆体的中心坐标为 (xc,yc,zc),半轴长度为 (xr,yr,zr),由 20×20 个面组成。

该函数以三个 21×21 矩阵形式返回 x、y 和 z 坐标。

要使用返回的坐标绘制椭圆体,请使用 surfmesh 函数。

示例

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr,n) 返回具有 n×n 个面的椭圆体的 x、y 和 z 坐标。该函数以三个 (n+1)×(n+1) 矩阵形式返回 x、y 和 z 坐标。

示例

ellipsoid(___) 绘制椭圆体,但不返回坐标。此语法与上述语法中的任一前面的输入参数结合使用。

示例

ellipsoid(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。

示例

全部折叠

创建并绘制一个以 (0, –0.5, 0) 为中心、半轴长度为 (6, 3.25, 3.25) 的椭圆体。使用 axis equal 可沿每个坐标方向使用相等的数据单位。

ellipsoid(0,-0.5,0,6,3.25,3.25)
axis equal

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

生成以 (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

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

绘制第二个椭圆体,其中心从第一个椭圆体平移 (3, 0, 5)。为了能够在下一步骤中旋转第二个椭圆体,将曲面对象返回为 s

hold on
s = surf(X+3,Y,Z+5);

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

将第二个椭圆体围绕其 x 轴旋转 45 度。平移和旋转后的椭圆体的新坐标存储在 s.Xdatas.Ydatas.Zdata 中。

direction = [1 0 0];
rotate(s,direction,45)

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

显示均以坐标 (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')

Figure contains 3 axes objects. Axes object 1 with title 20-by-20 faces (Default) contains an object of type surface. Axes object 2 with title 50-by-50 faces contains an object of type surface. Axes object 3 with title 80-by-80 faces contains an object of type surface.

输入参数

全部折叠

椭圆体中心坐标,指定为以逗号分隔的三个标量数字。

数据类型: single | double

沿 x、y 和 z 轴的主半轴,指定为以逗号分隔的三个标量数字。

数据类型: single | double

面的数量,指定为正整数标量。

目标坐标区,指定为 Axes 对象。如果未指定坐标区,则 ellipsoid 在当前坐标区中绘图。

算法

ellipsoid 使用以下方程生成数据:

(xxc)2xr2+(yyc)2yr2+(zzc)2zr2=1.

ellipsoid(0,0,0,1,1,1) 等效于单位球体。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |