2015-09-13 22 views
1

我的数学非常生疏,我从未像过去一样想象过去二维空间的事物。根据距离和角度从已知的起点找到一个新的3D位置

我的问题是这样的。给定一个原点(p1),如何根据两个角度(Yaw和Pitch)计算一个已知距离(100个单位)的新点(p2)。

我知道的是虚拟房间的3D尺寸,房间内的原点以及偏航和俯仰(我称之为水平角度和垂直角度)。为了把它写成英文,我想根据它的Yaw和Pitch值在这个房间内从这个房间内发射100个单位的一行,并在该行的末尾得到该点。

我想在空间这点,因为我想用p1和p2来定义我的线。我想最终继续在线/平面相交测试中使用此线。这些飞机在虚拟房间内也是众所周知的。我只提到这一点,因为我缺乏数学知识,有人可能会建议我看看其他方法。

回答

2

如果你只是想定义一条线,你不需要第二点。该线的方向矢量可以直接计算为:

/cos pitch * sin yaw \ 
dir = | sin pitch   | 
     \ cos pitch * cos yaw/

这假定y轴向上。零偏航指向正z轴。增加偏航将转向朝向正x轴的方向。这些定义都是可以互换的。

线则是:

x = startPoint + t * dir | t \in R 

如果你真的想第二点,只要使用100 t和计算x

相关问题