Geometry 如何将点投影到球体上
如果我有一个点(x,y,z),如何把它投射到一个球体上(x0,y0,z0,半径)(在它的表面上)。 我的输入将是点和球体的坐标。 输出应该是球体上投影点的坐标Geometry 如何将点投影到球体上,geometry,coordinate-transformation,Geometry,Coordinate Transformation,如果我有一个点(x,y,z),如何把它投射到一个球体上(x0,y0,z0,半径)(在它的表面上)。 我的输入将是点和球体的坐标。 输出应该是球体上投影点的坐标 只需将笛卡尔坐标转换为球坐标?基本上,您需要构造一条穿过球体中心和点的线。然后将这条线与球体相交,得到投影点 更详细地说: 让p作为点,s球体的中心和r半径,然后x=s+r*(p-s)/(norm(p-s))其中x是您要寻找的点。实现留给您 我同意球坐标法也适用,但计算要求更高。在上面的公式中,唯一的非平凡运算是范数的平方根。如果将球体中
只需将笛卡尔坐标转换为球坐标?基本上,您需要构造一条穿过球体中心和点的线。然后将这条线与球体相交,得到投影点 更详细地说: 让
p
作为点,s
球体的中心和r
半径,然后x=s+r*(p-s)/(norm(p-s))
其中x
是您要寻找的点。实现留给您
我同意球坐标法也适用,但计算要求更高。在上面的公式中,唯一的非平凡运算是范数的平方根。如果将球体中心的坐标设置为系统原点(x0、y0、z0),则该运算有效。因此,您将获得指向该原点(Xp',Yp',Zp')的点的坐标,并将坐标转换为极坐标,您将放弃半径(球体中心和点之间的距离),角度将定义投影。对于最简单的投影(沿将点连接到球体中心的线):
如何投影点?连接点和球体中心?平行于某个轴?其他投影?还有(x,y,z)点和球体中心的值相同,或者只是使用相同的变量名?@George将点直接放置在球体表面上,大小等于半径