我正在尝试一些光线跟踪,而且我一直坚持相机计算。让我说我有一个兴趣点,我正在看,p,我有一个有利位置,p0。所以我的相机原点是o = p0,我的相机方向是d = p - p0,但是我如何得到向上矢量?据我所知,o和d定义了一个平面,我需要通过在该平面上提供滚动值或二维矢量来在该平面上使用矢量。不确定如何处理这个问题。
有人能指出我正确的方向吗?
答案 0 :(得分:2)
通常你会使用另一个向量作为代理,例如world up。要构建正确向上的向量,您可以使用技巧。由于交叉积保证给出与原始向量正交的向量,因此可以使用它来构建矩阵。
你做的是你用你的代理世界越过方向向量,并且你得到了侧向量,你现在可以使用方向穿过侧向量来获得一个向上指向向上的向量世界了。
因此,您最终会得到与您的代理并行投影的边。如果你自下而上自上而下,这显然会失败。