计算3d旋转后的y距离?

问题描述:

我会开始说我的数学很差,计算3d旋转后的y距离?

我试图计算一个圆和屏幕中心之间的距离,将包含该圆的图像旋转45度在3D中,

(的对象更改为图像的Y距离旋转)

image

我希望我自己很清楚, 提前感谢!

+0

我不是一个很好的人,但我会说你可以用Distance = cos(angle)*(平面中心与圆之间的距离),它基本上是一个直角三角形,你可以使用cos(a)=相邻/斜边 – Tearsdontfalls 2013-03-03 12:49:15

忽略视角,屏幕中心的距离跟随余弦。高度将是:

rotatedY = cos(angle) * originalY; 

Subsituting 45所导致

rotatedY = cos(45) * originalY = 0.707 * originalY; 

所以怎么样,圈总是会在70%的原非旋转Y值的高度。

请问你在做什么?也许我可以给你一个更好的答案。

+0

嘿,谢谢你的回答!我正在编程一个游戏,我需要一些数学方面的帮助来创建一个跟随玩家的相机,这个问题中的图像其实就是游戏的世界,这个圆圈就是玩家 – Radicate 2013-03-03 14:06:56

+0

尝试这个解决方案后,它似乎就像我错过了什么,它只是不工作,因为我想要它 – Radicate 2013-03-03 14:11:39

+0

我刚刚读了你的其他问题。我明白你想要做什么,但我不认为这是正确的做法。尝试将相机位置设置为播放器的位置加上一个常量偏移量。这将做到这一点。 – Hannesh 2013-03-03 17:12:34