我有兩個位置(經度,緯度),其中一個位置是當前位置,另一個位置是目標位置。我想要做的是有一個循環,將當前位置分階段地移動到目標位置。我不完全確定將當前位置移到目標位置的數學。向目標位置移動位置
回答
這裏是粗糙演示代碼,實現所有點兩個points.I希望之間的階段,這將是對你有幫助:
import java.awt.Point;
public class Path
{
public static void main(String[] args)
{
Point start = new Point(0,0);
Point destination = new Point(100,150);
int iStages = 9;//Suppose I want to reach to destination in 9 jumps
int jumpX = (destination.x - start.x)/iStages;
int jumpY = (destination.y - start.y)/iStages;
Point currPos = start;
for (int i = 0; i < iStages ; i++)
{
System.out.println(currPos);
currPos = new Point(currPos.x + jumpX , currPos.y + jumpY);
}
currPos = new Point(destination.x , destination.y);
System.out.println(currPos);
}
}
謝謝。我正在尋找使每個步驟的距離保持恆定而不是步驟的數量。因此,舉例來說,如果您從0,0開始,則需要兩倍的步數才能達到100,100而達到50,50。這是基於兩點之間的距離計算iStages的情況嗎? – FlabbyRabbit
你的意思是,如果路徑是從點(10,10)到點(100,100)或從點(32,23)到點(50,60)',那麼你希望每個步長都是恆定的說'd = 10'? –
我想基於點之間的距離的步數。所以我把距離分成了一個任意的數字,並且用它來表示完美運作的步數。感謝您的幫助。 – FlabbyRabbit
- 1. 移動光標位置
- 2. 光標從位置移動
- 3. 與光標位置移動
- 4. 可移動標記位置 - 刷新標記位置(GMaps4JSF 1.1.3-u3)
- 5. RaphaelJS目標位置
- 6. Android目標位置
- 7. 移動NopCommerce插件項目位置
- 8. Android:ArrayList將項目移動到位置0
- 9. href#移動滾動位置
- 10. ActionBarSherlock動畫移動位置
- 11. 將陣列項目移位4位置
- 12. 從移動標記獲取新位置
- 13. 在c中移動光標位置#
- 14. 數據jQuery的圖標位置移動
- 15. 將控件移動到光標位置?
- 16. 在contentEditable中移動光標位置div
- 17. 根據鼠標位置移動div
- 18. 移動用戶位置標記
- 19. 隨着鼠標移動相機的目標位置
- 20. ViewPager偏移光標位置
- 21. Codemirror光標位置偏移
- 22. 指向鼠標位置jquery
- 23. 在鼠標移動時設置自動滾動位置
- 24. 獲取學位從當前位置到目標位置Android
- 25. 移動位置彼此
- 26. $ .mobile.showPageLoadingMsg的JQuery移動位置
- 27. 百分比位置移動
- 28. C#移動Console.ReadLine()的位置
- 29. 移動位置的Div
- 30. jQuery:移動元素位置
你看哪種類型的路徑呢?直線或曲線或任何之字形路徑? –
只要一條直線 – FlabbyRabbit
試試[Bresenham的線算法](http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm)。這非常有效。 – OldCurmudgeon