Java 如何使用Math.atan2将对象移动到特定位置
想象一下,我在屏幕上的某个点上放置了一个对象Java 如何使用Math.atan2将对象移动到特定位置,java,math,trigonometry,Java,Math,Trigonometry,想象一下,我在屏幕上的某个点上放置了一个对象 X=6; e Y =60; 现在我正试图做到这一点: double radius = Math.atan2(Object.x(), Object.y()); this.dx2 =Math.cos(radius); this.dy2 =Math.sin(radius); 从屏幕的右侧,它将出现随机圆圈 屏幕的高度为160,因此从0到160可以显示一个圆圈 这些圆的X始
X=6; e Y =60;
现在我正试图做到这一点:
double radius = Math.atan2(Object.x(), Object.y());
this.dx2 =Math.cos(radius);
this.dy2 =Math.sin(radius);
从屏幕的右侧,它将出现随机圆圈
屏幕的高度为160,因此从0到160可以显示一个圆圈
这些圆的X始终相同(最大宽度)
它们从右到左(目标所在的位置)
我希望他们都去这个目标
其思想是在更新方法上移动圆:
x -=(dx2 * spd); y -=(dy2 * spd);
你真的知道atan2是如何工作的吗?我将笛卡尔坐标(x,y)转换为极坐标($\theta$,幅值)。你可以发布一个最简单的工作示例吗?我尝试使用Math.toDegrees(x)。我知道是关于半径数的。我不明白所有圆圈都能走的路线的逻辑。我看到一个例子在起作用,它与我发布的代码有关。我非常怀疑使用
atan2
来分配一个名为radius
的变量。它不是给你一个长度,而是给你一个角度。(另外,请注意,您正在使用x
作为两个参数)。双x只是一个输入错误。