图形-从世界坐标确定TRIANGLE_FAN圆的半径和局部坐标



目前,我在openGL中有一个具有多个坐标系统的太阳系。也就是说,太阳有自己的轨道坐标系来表示围绕它运行的行星,也有自己的坐标系来表示代表太阳的圆。每个行星都有自己的轨道和形状。

我使用GL_TRIANGLE_FAN为行星制作球体。

然后,当我收到鼠标坐标时,我使用glUnProject将它们从窗口转换为世界坐标。然后,我尝试将这些世界坐标转换为本地坐标,以确定鼠标点击是否在行星形状内。如果是,它输出行星的名称-困难的部分是让行星点击识别工作。

我似乎不知道如何正确地做这件事。我使用的公式是true if ((pow(target_LCS[0],2) + pow(target_LCS[1],2))

OpenGL对对象一无所知。当你用GL_TRIANGLE_FAN创建一个球体时,你必须有代码告诉opengl在哪里绘制球体以及半径是多少。如果你想做相交测试,你需要自己跟踪行星半径和行星位置。因此,只需使用绘图代码中指定的位置和半径。

相关内容

  • 没有找到相关文章

最新更新