如何让物体做圆周运动 - Java

How to make an object move in a circle - Java

首先我想说我是编程新手,非常感谢非常简单、详细且易于阅读的代码和答案!

我正在做一个 Java Graphics Applet 程序,它将从 Java 的 Draw 方法围绕程序的中心移动一个简单的球体。 最终目标是有一种方法,我可以在一个方法中指定半径、将要移动的球体的大小以及它的移动速度。

对于任何能够帮助我解决问题的人来说,一个完整的程序答案(从所有导入到最后一个“}”)会很棒,所以我可以 copy/paste 它和修补用它来适合我的程序。

如果可能,我希望不要使用任何第 3 方 jar 等

这是满足这些要求所需的代码示例。这将显示一个 'orbits' 一个点的小球体。我正在为此解决数学问题,但您需要自己使用图形 API 来实现它(因为我没有从您的 post 那里获得足够的细节)。

每次调用此方法时,都会将参数 timeInterval 递增 1。注意:这肯定不是 最佳 方法,但它符合您对一切都在一种方法中的要求。

public void drawOrbitingSphere(int timeInterval) {

    // let's just choose a bunch of values that we'll need
    double orbitX = 100; /* x-coordinate in orbit's center */
    double orbitY = 100; /* y-coordinate in orbit's center */
    double orbitRadius = 50;
    double orbitSpeed = Math.PI / 16;
    double sphereRadius = 10;

    /*
     * based on the current time interval, we'll calculate where the sphere
     * is at on its orbit
     */
    double radian = orbitSpeed * timeInterval;
    double drawX = orbitX + orbitRadius * Math.cos(radian);
    double drawY = orbitY + orbitRadius * Math.sin(radian);

    // use whichever Draw method is provided by your API
    drawSphere(drawX, drawY, sphereRadius);
}