gpt4 book ai didi

java - 常规实现中如何改变轨迹球的中心?

转载 作者:行者123 更新时间:2023-12-01 15:40:56 26 4
gpt4 key购买 nike

我使用以下两个教程成功地在 java 中实现了轨迹球:

  1. http://nehe.gamedev.net/tutorial/arcball_rotation/19003
  2. http://www.java-tips.org/other-api-tips/jogl/arcball-rotation-nehe-tutorial-jogl-port.html

该轨迹球位于屏幕中心。现在,我希望将其置于屏幕上的任意点的中心。如何将中心逻辑合并到现有代码中?由于中心的引入,鼠标坐标的归一化如何变化?

最佳答案

这可以通过转换鼠标坐标轻松实现。当您像第一个教程开始时那样转换鼠标坐标时,不要只是将它们转换为指定的范围 -1..1,而是首先减去要创建轨迹球的屏幕中心的偏移量中心。因此,要使轨迹球中心向右 50 像素、中心上方 20 像素,请使用

MousePt.X  =  ((MousePt.X-50) /Width)*2)-1;
MousePt.Y = ((MousePt.X-20) /Height)*2)-1;

关于java - 常规实现中如何改变轨迹球的中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com