因此,如果给出任意单位向量N和另一个在球坐标theta(N和V之间的极角)和phi(方位角)和r = 1中定义的向量V.如何将向量V转换为笛卡尔坐标坐标?
现在,我知道通常从球形到笛卡儿的转换如下:
x = r * sin theta * cos phi
y = r * sin theta * sin phi
z = r * cos theta
然而,由于角度theta和phi分别定义为向量N而不是轴,因此上述转换不起作用,是吗?那么我将如何修改转换呢?
答案 0 :(得分:2)
我觉得根据您必须提供的信息,这根本不可能。
您不能使用相对于另一个向量定义的球形极坐标分量的向量V
。在标准球面极坐标系中,点P
的坐标由(r,theta,phi)
给出,其中theta
是极角,phi
方位角,{{1}距离原点的欧氏距离。极角是z轴与将原点连接到点r
的线之间的角度。方位角定义为x轴与将原点连接到P
到P
平面的正交投影的线之间的角度。
有时这两个角度的定义是相反的。上面的内容在wiki页面http://en.wikipedia.org/wiki/Spherical_polars
中清楚地说明了这里的要点是角度是相对于两个相互正交的轴定义的 - 在这种情况下是z和x。因此,相对于单个向量xy
定义的极坐标角和方位角不能 - 您可以相对于N
测量其中一个而不是两者。
目前的情况是,如果没有提供与您的N
正交的另一个矢量来提供与其他角度(极坐标或方位角)测量的轴,则无法解决您的问题。
您对N
的描述表明这是某个旋转坐标系的z轴,N
取其极角。您需要另一个向量,该向量给出相同旋转坐标系的x轴,V
测量其相对于的方位角。使用该信息,您可以获得将旋转坐标系轴映射到笛卡尔坐标轴的旋转矩阵 - 从那里您将获得足够的信息以获得所需的笛卡尔坐标V
。
答案 1 :(得分:0)
看看这个:http://www.ewerksinc.com/refdocs/coordinate%20and%20unit%20vector.pdf
在第7页上,您将找到球形和笛卡尔向量之间的转换公式。