0

嗨朋友我需要使用java oop方法计算两点之间的线长并从3点得到3线然后证明它是三角形,如果它是三角形计算三角形面积谢谢

4

2 回答 2

1

对于计算线长,http ://en.wikipedia.org/wiki/Euclidean_distance对于二维的情况

要从点中获取线,请从点中创建线,点的数量和i % n范围在(i + 1) % n哪里,例如标准 for 循环。ni0n-1

证明三条线是一个三角形——如果你从三个点组成它们,它们显然是。如果它们之间仅共享三个点,那么它们也是一个三角形(例如,您可以将它们添加到 aSet并查看是否仅存在三个唯一点)。

编辑:Daniel Robertus 指出它们也不必共线,即使你知道它们的观点是共同的。证明三条线不共线的一种方法是计算tan2(y,x)使用y2-y1and x2-x1,它给出了该线的角度 - 如果它们是共线的,那么其中两条线将具有相同的角度。如果它们不是共线的,则没有一条线将共享一个共同的角度。(这个证明是微不足道的。)

要计算三角形的面积,请从http://en.wikipedia.org/wiki/Triangle#Computing_the_area_of_a_triangle中选择您最喜欢的公式

于 2013-03-13T04:34:14.083 回答
0
Point2D p1 = new Point2D.Double (10.0, 15.0);
Point2D p2 = new Point2D.Double (16.0, 7.0);
Point2D p3 = new Point2D.Double (12.0, 11.0);

System.out.println ("Distance from p1 to p2: " + p1.distance (p2));
System.out.println (
    "Area of {p1, p2, p3} triangle: " + 
    0.5 * p1.distance (p2) * new Line2D.Double (p1, p2).ptLineDist (p3));
于 2013-03-13T04:46:18.117 回答