我有两个位置(经度,纬度),其中一个位置是当前位置,另一个位置是目标位置。我想要做的是有一个循环,将当前位置分阶段地移动到目标位置。我不完全确定将当前位置移到目标位置的数学。向目标位置移动位置
回答
这里是粗糙演示代码,实现所有点两个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