从欧拉位置和旋转计算向前和向上矢量?

时间:2016-05-28 20:48:24

标签: math rotation game-engine euler-angles

我在3D空间中有一个物体,我所拥有的只是一个欧拉位置和旋转。如何根据我的信息计算前向和向上矢量?

我知道我可以用这种方式计算前向矢量:

set.seed(2)
n <- 100
for(i in 1:1000) {
     sim <- arima.sim(list(ar=c(0.9,-0.4),ma=c(-1.2,0.3)),n=n) 
     fit <- arima(sim, order = c(1,0,1), method="ML")
}

..其中target是沿着对象所在轴的任意点。使用我拥有的信息,如何以这种方式选择任意点进行标准化?

我不确定如何解决“向上”向量。

1 个答案:

答案 0 :(得分:0)

首先从您的欧拉角创建变换矩阵(使用与渲染时相同的方法)。然后直接从中提取向前和向上的轴向量。例如,我的视图矩阵使用Z轴用于向前/向后,X轴用于向左/向右,因此我将使用这两个轴。你会在这里找到载体的位置:

Understanding 4x4 homogenous transform matrices