2013-02-02 33 views
0

所以我有4點,P1,P2,P3和P4。當它們到達太遠時,它們不斷移動到左邊並且移回到最右邊(窗口寬度+ 100)(x-100)。他們的Y是隨機的。Java - 使對象沿着劃線

我還在每個點之間繪製了線條,這使得流暢的「鋸齒狀」線條在屏幕上移動(類似於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軸上移動這條線,我該怎麼做?

+1

我真的不明白你在問什麼。請提供更多信息或插圖。 – atomman

回答

2

我想你可能會尋找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); 

看一看維基百科頁面,尤其是圖紙,如果我對你的問題的解釋是錯誤的只是讓我知道。