2012-06-19 30 views
1

我正試圖將該矢量從該頂點投影到未知頂點的末端 那個矢量。知識:矢量長度,起始頂點座標,角度(偏航,滾動,俯仰)。未知數:終止向量結束處的頂點座標。在已知長度的矢量的末尾計算3D頂點

在2D我能以這種方式完成它:

Target.X = Source.X + (sin(Facing*DEG2RAD)*Distance); 
Target.Y = Source.Y - (cos(Facing*DEG2RAD)*Distance); 

矩陣似乎是大材小用。我有一些3D工作無力,但這是不準確的,這使我相信我沒有全部公式的所有適當元素。

Target.Z = Source.Z - (sin(Pitch*DEG2RAD)*Distance); 

Ref:Facing/Pitch以度爲單位(乘以DEG2RAD即pi/180)。

任何/所有的幫助表示讚賞。謝謝。

+0

這可能是一些使用http://en.wikipedia.org/wiki/Euler_angles的 – mathematician1975

+0

非常酷。謝謝;) – CoderX

回答

2

你必須糾正x和y座標(PROJECT它們拖回的X/Y平面):

Target.X = Source.X + Distance * cos(Pitch * DEG2RAD) * sin(Facing * DEG2RAD); 
Target.Y = Source.Y - Distance * cos(Pitch * DEG2RAD) * cos(Facing * DEG2RAD); 
Target.Z = Source.Z - Distance * sin(Pitch * DEG2RAD); 
+0

這真棒。我插上它,它嚇壞了工作。謝啦。 :D – CoderX

+0

感謝您的提示。 – CoderX