我必须通过VTK(例如通过头骨)和键盘导航实现某种飞行。
我的想法是操纵我的相机,以便我可以移动物体。在VTK中,您可以使用方位角,高程,滚动等功能操作相机。
除了Elevation函数之外,每个函数都可以正常工作并执行它应该执行的操作。 这个应该在焦点周围向上或向下移动我的相机。 直到它向上或向下达到大约90度才实际做到这一点。一旦达到90度,它就会以一种不合逻辑的方式转动我的物体。这很难解释,但它并没有继续提升我的焦点。
我已经看过这个函数是如何实现的,但是我无法找到它的行为方式。
有没有人知道可能导致这个问题的原因是什么?
答案 0 :(得分:2)
有必要重新计算ViewUp向量以强制它垂直于相机焦点向量。
在将值应用于方位角和高程后,调用相机的OrthogonalizeViewUp()方法。
myVtkCamera->OrthogonalizeViewUp();