wing2 发表于 2006-3-23 16:58

[求助]如何利用已有数据作球体

我有二十四个数据想利用这些数据做一个球,请各位帮帮忙!

happy 发表于 2006-3-23 22:01

想了一下不知道对不对
设共有n组数据,已知各点坐标为xi,yi,zi,球心坐标a,b,c 半径为r
那么这个问题就变成
min{nr-∑[(xi-a)^2+(yi-b)^2+(zi-c)^2]}
∑表示1到n的累加
这就变成了一个无约束非线性规划问题,用fminunc求解可以得到r,a,b,c然后画球
以上仅供参考

happy 发表于 2006-3-24 07:44

昨天式子写错了
应该是:min{abs{nr-∑[(xi-a)^2+(yi-b)^2+(zi-c)^2]}}

w89986581 发表于 2006-3-24 09:48

对于最简单情况,若给定四个不共面的点,就可以确定四个点共面的球。建议约束条件为:Min[空间点到各三角形外心法线(通过三角形外心且垂直与三角形面的直线)距离之和
[此贴子已经被作者于2006-3-24 10:11:40编辑过]

happy 发表于 2006-3-24 16:18

对于最简单情况,若给定四个不共面的点,就可以确定四个点共面的球。建议约束条件为:Min[空间点到各三角形外心法线(通过三角形外心且垂直与三角形面的直线)距离之和
如果给出点数较多,比如搂主说得24个点,这种算法计算量是否过大了?

wing2 发表于 2006-3-24 16:37

我尝试一下吧,谢谢Happy老师!

w89986581 发表于 2006-3-24 17:12

约束条件min{abs{nr-∑[(xi-a)^2+(yi-b)^2+(zi-c)^2]}}适用于数据点等概率分布在球面的情况,对于数据点分布不均匀的情况,这个约束得不到球心的,呵呵。
计算得到各个三角形的中心C(xi,yi,zi)、单位法向量Ni(nxi,nyi,nzi),以及中心与球心连线单位方向向量N0i,约束条件为Max;<,>表示点乘,即向量夹角余弦。
[此贴子已经被作者于2006-3-24 17:21:16编辑过]

happy 发表于 2006-3-24 21:41

约束条件min{abs{nr-∑[(xi-a)^2+(yi-b)^2+(zi-c)^2]}}适用于数据点等概率分布在球面的情况,对于数据点分布不均匀的情况,这个约束得不到球心的,呵呵。
计算得到各个三角形的中心C(xi,yi,zi)、单位法向量Ni(nxi,nyi,nzi),以及中心与球心连线单位方向向量N0i,约束条件为Max;<,>表示点乘,即向量夹角余弦。
页: [1]
查看完整版本: [求助]如何利用已有数据作球体