2016-05-04 92 views
-1

我正在製作一個遊戲,顯示從特定起點到遊標的路線。由於目前的系統非常陳舊(可能大約10年左右...),並且部分中斷,我想從頭開始重寫這些代碼。 假設我的屏幕上有一組點 - ,最後一點是我的光標 - 和一個Graphics2D對象。我如何使用盡可能最短的方式畫出一條平滑的線,通過所有這些點?通過一組n點繪製平滑曲線

回答

1

如何我會畫一條線使用可能

最短的路該要求是有點矛盾會平穩度過所有這些點。點列表中最短的曲線是一個多邊形,但多邊形通常不光滑。

但是,您正在尋找的可能是樣條插值。這在標準Java包中不可用,但是您可以在Apache Commons Math中使用SplineInterpolator

+0

是的,樣條插值是我正在尋找的......不,樣條插值器需要增加x值才能工作。由於這條線是地圖上的路線,因此x可以隨意增加或減少 – RoiEX

+0

@RoiEX:您可以使用點索引作爲增加的X值(曲線參數),然後對實際的X和Y使用兩個單獨的「SplineInterpolator」座標。 –

+0

但是我怎麼會得到這兩個曲線? – RoiEX