我试图在相对于原点(0,0,0)的3D空间中找到一个点.我有3个值来计算这个点:围绕x轴和y轴的旋转度以及“视距”.使用这些值,如何在相对于原点的3D空间中定位点?我尝试过使用基本的三角函数,但结果似乎是随机的.下图提供了需要完成的视觉效果.
>’vd’是“查看距离”
>’c’是价值持有人
>'(x,y,z)’是我想要找到的坐标
我想要做的是找到一个玩家正在看一定距离的点(在一定距离内找到玩家直接视线中的一个点).请记住,围绕x轴和y轴的旋转不断变化,但视距保持不变.如果有人有任何建议,如何做到这一点的方法,或需要澄清,请在下面评论/回答.
我在LWJGL中这样做,我使用的代码如下:
float c = (float)(Math.cos(Math.toRadians(A00.rot.y)) * view_distance);
locate.y = (float)(Math.sin(Math.toRadians(rot.y)) * view_distance);
locate.x = (float)(Math.cos(Math.toRadians(rot.x)) * c);
locate.z = (float)(Math.sin(Math.toRadians(rot.x)) * c);
编辑:
我的问题是这个当前设置由于某种原因不起作用.数学对我来说似乎是合法的,但我必须在图形的实际设置中的某处出错.