Java 如何将波形(由正弦构成)从图片顶部移动到底部?

Java 如何将波形(由正弦构成)从图片顶部移动到底部?,java,graphics,Java,Graphics,我试图将波浪吸引到海面上,但我不知道如何将波浪从顶部移动到底部。不管我做了什么改变,他们都是最重要的。 下面是我用来绘制波浪的代码: Dimension d = getSize(); int x, y, winWidth = d.width, winHeight = d.height; int halfHeight = 10; int lastX = 0, lastY = halfHeight; double trajectory

我试图将波浪吸引到海面上,但我不知道如何将波浪从顶部移动到底部。不管我做了什么改变,他们都是最重要的。 下面是我用来绘制波浪的代码:

Dimension d = getSize();
        int x, y, winWidth = d.width, winHeight = d.height;
        int halfHeight = 10;
        int lastX = 0, lastY = halfHeight;
        double trajectory = 2 * Math.PI;
        double factor = trajectory / 100;

        for (x = 1; x <= winWidth; x++) {
            double sine = Math.sin (x * factor) * halfHeight;
            y = halfHeight - (int)sine;
            graafika.drawLine (x, y, lastX, lastY);
            lastX = x; lastY = y;
        }
Dimension d=getSize();
int x,y,winWidth=d.width,winHeight=d.height;
int半高=10;
int lastX=0,lastY=半高;
双轨迹=2*Math.PI;
双因素=轨迹/100;
对于(x=1;x,您可以通过替换来“镜像”波的位置

y = halfHeight - (int)sine;

这首先将正弦波放在最底部,然后向上移动半个正弦波,使整个波可见。

使用高度

graafika.drawLine (x, y+winHeight-20, lastX, lastY+winHeight-20);

能给我们完整的密码吗?
graafika.drawLine (x, y+winHeight-20, lastX, lastY+winHeight-20);