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