【问题标题】:How to check if a location is near a line between to points and coordinates on that line?如何检查某个位置是否在该线上的点和坐标之间的线附近?
【发布时间】:2016-08-30 14:22:56
【问题描述】:
我有一家工厂,拥有 A、B 和 C 三个工厂。每个工厂都包含连续 1 到 9 台机器。
对于每个植物,我都知道位置 1 和 9。它们之间的位置都不知道。
现在用户可以穿过工厂并为每台机器保存一个位置。
问题:我怎样才能实现在两条边 1 和 9 之间有一条线?我想在 Java Vectors 中做到这一点。
所以用户可以通过他当前的位置,程序会保存该行最近的位置。
目的是了解机器的所有位置。
【问题讨论】:
标签:
java
android
vector
gps
location
【解决方案1】:
不要真正把问题弄清楚。但认为这可能会有所帮助
创建一个点对象,x 坐标用于植物,y 坐标用于机器
Point location = new Point(1,1);//表示它在机器 1 上的 Plant 1
创建一个方法来获取用户的位置并存储它
void setLocation(int plant, int location){
location = new Point(plant, location);
}
点getLocation(){
return location;
}
【解决方案2】:
您可以制作一个二维点数组,其中植物为行,机器为列,Point[plants][machines]。然后遍历数组并给每个Point一个确定的位置。然后创建一个名为Search的方法。在此搜索方法中,将传入两个参数,一个 x 和 y 坐标(用户的坐标)。然后搜索方法将遍历二维点数组,并进行数学运算以找到与传递的点最近的点在坐标中。应该像使用距离公式一样简单。然后您可以更改用户的坐标以匹配找到的最近点的坐标。