【发布时间】:2019-06-28 23:42:06
【问题描述】:
我是 Java 的 JTS 新手。 我想得到线段 a-b 的垂直平分线。
- 坐标a(2,3)
- 坐标 b(8,7)
我使用了 verticalBisector 方法,但我无法理解它的结果。 对我来说,似乎它根本与垂直平分线无关。 能否请您解释一下结果的含义以及如何将结果用于垂直平分线?
package Sui;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Triangle;
import com.vividsolutions.jts.algorithm.HCoordinate;
import com.vividsolutions.jts.algorithm.NotRepresentableException;
public class Suitwo {
public static void main (String[] args) {
System.out.println("");
Suitwo main = new Suitwo();
main.testCalcCoord();
}
public void testCalcCoord() {
Coordinate[] coords = {new Coordinate(2, 3),
new Coordinate(8, 7),
new Coordinate(0, 0)};
Triangle tri = new Triangle(coords[0],coords[1],coords[2]);
HCoordinate hcoord = tri.perpendicularBisector(coords[0],coords[1]);
Coordinate calccord = new Coordinate();
double x = 0.0;
double y = 0.0;
try {
calccord = hcoord.getCoordinate();
x = hcoord.getX();
y = hcoord.getY();
} catch (NotRepresentableException e) {
System.out.println("NotRepresentableException");
System.exit(1);
}
System.out.print("calccord:");
System.out.println(calccord);
System.out.print("X:");
System.out.println(x);
System.out.print("Y:");
System.out.println(y);
}
}
结果
计算:(-0.12, -0.08, NaN)
X:-0.12
Y:-0.08
【问题讨论】:
-
我想我明白了结果的含义,但是如果目标是获得表示垂直平分线的实际线段,那么它的形式相当不方便。如果主要目标是解释结果,我会犹豫(因为我不确定我是否能充分解释)。如果主要目标是粗略解释结果并显示计算的替代方案,我会发布答案。