嗨朋友我需要使用java oop方法计算两点之间的线长并从3点得到3线然后证明它是三角形,如果它是三角形计算三角形面积谢谢
问问题
964 次
2 回答
1
对于计算线长,http ://en.wikipedia.org/wiki/Euclidean_distance对于二维的情况
要从点中获取线,请从点中创建线,点的数量和i % n
范围在(i + 1) % n
哪里,例如标准 for 循环。n
i
0
n-1
证明三条线是一个三角形——如果你从三个点组成它们,它们显然是。如果它们之间仅共享三个点,那么它们也是一个三角形(例如,您可以将它们添加到 aSet
并查看是否仅存在三个唯一点)。
编辑:Daniel Robertus 指出它们也不必共线,即使你知道它们的观点是共同的。证明三条线不共线的一种方法是计算tan2(y,x)
使用y2-y1
and 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 回答