【问题标题】:Java - Make an object follow drawn linesJava - 使对象遵循画线
【发布时间】:2013-01-17 16:24:39
【问题描述】:

所以我有 4 个点,p1、p2、p3 和 p4。每当它们到达太左(x-100)时,它们就会不断地向左移动并回到最右边(窗口宽度+ 100)。他们的 Y 是随机的。

我还在每个点之间画了一条线,这使得一条流畅的“锯齿状”线在屏幕上移动(有点像 Windows 任务管理器中的 CPU 使用率图表)。

    if (p1x < p2x) {
        g.drawLine(p1x, p1y, p2x, p2y);
    }
    if (p2x < p3x) {
        g.drawLine(p2x, p2y, p3x, p3y);
    }
    if (p3x < p4x) {
        g.drawLine(p3x, p3y, p4x, p4y);
    }
    if (p4x < p1x) {
        g.drawLine(p4x, p4y, p1x, p1y);
    }

我想让一个点在窗口中有一个恒定的 X,但是随着 Y 轴上的线移动,我该怎么做?

【问题讨论】:

  • 我真的不明白你在问什么。请提供更多信息或插图。

标签: java geometry awt line java-2d


【解决方案1】:

我想你可能正在寻找linear interpolation:

// assuming p0x and p0y are the coordinates of the dot, and it needs to
// be drawn somewhere between p3 and p4 (ie, p3x < p0x < p4x :
p0y = p3y + (p4y-p3y) * (p0x-p3x) / (p4x-p3x);

查看维基百科页面,尤其是图纸,如果我对您问题的解释有误,请告诉我。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多