围绕给定点2D的圆周运动

gle*_*ien 2 math android opengl-es rotation

我想在给定点周围的圆上移动一个对象.我在Android上使用OpenGL,而我的视口是横向模式下的屏幕分辨率(1280*800).我想要旋转对象的点是例如(500,300),这是用户按下的位置.我也有所需圆圈的半径r.总结一下,我是圆的中心,半径和角度(我希望在游戏循环的每次迭代中移动对象的数量)

到目前为止我试过这个:

this.setPosX(((float)Math.cos(angle)*radius + center.x) * width);
this.setPosY(((float)Math.sin(angle)*radius + center.y) * height);
Run Code Online (Sandbox Code Playgroud)

这将创建沿省略号的运动,而不是圆圈......

谁能帮帮我吗?

cjd*_*jds 5

它会产生一个椭圆,因为圆圈没有高度.试试这个

this.setPosX(((float)Math.cos(angle)*radius ) + center.x);
this.setPosY(((float)Math.sin(angle)*radius ) +center.y);
Run Code Online (Sandbox Code Playgroud)