1、函数描述

[x,y,z] = ellipsoid(xc,yc,zc,xr,yr,zr,n)
生成由三个n+1×n+1矩阵描述的曲面网格,使surf(x,y,z)能够绘制具有中心(xc,yc,zc)和半轴长度(xr,yr,zr)的椭球体。

2、举例说明

椭球中心为(0,0,0),半长轴为(2,3,4)

[x, y, z] = ellipsoid(0,0,0,2,3,4,30);
figure
surf(x, y, z)
axis equal
绘制椭球包络线

[x, y, z] = ellipsoid(0,0,0,2,3,4,30);
plot3(x,y,z)
axis equal;
将椭圆进行旋转(绕x轴旋转20度)

[x, y, z]= ellipsoid(0,0,0,2,3,4,30);
h=plot3(x,y,z);
axis equal;
direction = [1 0 0];
rotate(h,direction,20)
				
% ELLIPSOID 绘制椭圆体。 % P = ELIPSOID_SHELL(Q,q,N) 在单元格中生成 (N+1) 向量,使得已计算轴 P{n} 上的 % 点。 % % P = ELLIPSOID_SHELL(Q,q) 使用 N = 20。 % % ELLIPSOID_SHELL(...) 没有输出参数绘制椭球图% 作为 SURFACE 并且不返回任何内容。 % % 椭球数据是使用以下公式生成的: % % (xq)'*inv(Q)*(xq) = 1 % %其中Q对应于正定对称% 矩阵。 如果 dim(q)>3 则没有情节。 % % 例子: % % P = ellipsoid_shell(diag([3;5;4])); % % q = [3;2;1]; % Q = [8.5 2.9 1.5; 2.9 3.8 1; 1.5 1 .5]; % 椭球壳(Q,q,30); % % 另见球体、圆
最小二乘法的一般圆锥拟合 funcEllipseFit_nlinfit 说明:通过在Matlab中调用nlinfit函数进行一般圆锥拟合,并根据分散点的分布返回椭圆,抛物线或双曲线的拟合圆锥系数。 funcEllipseFit_OGal 说明:使用最小二乘法准则的椭圆拟合和包含椭圆的拟合状态和几何参数的返回结构。 如果椭圆拟合失败,则状态为抛物线或双曲线,并且几何参数为空;否则,为0。 如果椭圆拟合成功,则状态为null并返回几何参数。此方法由Ohad Gal实现。 最小二乘法约束圆锥拟合 funcEllipseFit_RBrown 说明:使用Bookmark或Euclidean不变约束,通过优化从点到拟合椭圆的正交距离的平方和,使用非线性最小二乘法进行椭圆拟合。