我想测试世界上任何给定点是否在四/平面上?四边形/平面可以通过任何值进行平移/旋转/缩放,但它仍然应该能够检测给定点是否在其上。如果四边形未应用任何旋转/缩放/平移,我还需要获得该点所在的位置。
例如,考虑尺寸为100x100的0,0,0的四边形,沿z轴以45度角旋转。如果我在世界上的鼠标位置是(x,y,0,),我需要知道该点是否落在当前转换中的四边形上?如果是的话,那么我需要知道是否没有对四边形应用变换,那个点就在那里?任何代码示例都会有很大的帮助
答案 0 :(得分:1)
光线投射方法可能最简单:
gluUnProject()
获取投射到场景中的光线的世界空间方向。光线的原点是相机位置。如果你对这里涉及的一些数学没有信心,那么像GLM这样的数学库将非常有用,它具有相应的功能,如glm::unProject()
以及反转矩阵的函数和做你需要的所有其他转换。