我正在使用以下内容来获取实体的x和y位置,因为它随着时间的推移沿着椭圆路径行进:
x = Math.cos(time)*width/2
y = Math.sin(time)*height/2
是否有一种简单的方法可以将整个物体旋转一定的度数,例如45或132?
答案 0 :(得分:3)
您可以使用简单的旋转变换:
x1 = x*cos(a) - y*sin(a)
y1 = x*sin(a) + y*cos(a)
a
- 是要旋转的角度。
此Wikipedia article详细说明了
答案 1 :(得分:1)
对于您使用上面的等式计算的每个点(x,y),您可以通过以下等式将其旋转θ度(逆时针)
其中x和y是旋转前的原始坐标,x'和y'是旋转后的坐标,θ是旋转的角度。
答案 2 :(得分:0)
是的,只需对结果x
和y
进行2D旋转即可旋转椭圆:
xrot = x * cos(A) - y * sin(A)
yrot = x * sin(A) + y * cos(A)
请记住Radians = Degrees * PI / 180
。