使用oop java计算两点之间的行长度

时间:2013-03-13 04:28:17

标签: java oop

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

2 个答案:

答案 0 :(得分:1)

用于计算线长,http://en.wikipedia.org/wiki/Euclidean_distance用于二维

要从点获取线条,请从点i % n(i + 1) % n中创建线条,其中n是点数,i范围从0n-1就像循环标准一样。

要证明三条线是一个三角形 - 如果你用三个点制作它们,它们显然是。如果它们中只有三个点,它们也是一个三角形(例如,你可以将它们添加到Set并查看是否只存在三个唯一点。)

编辑:丹尼尔罗伯特斯指出,他们也不需要共线,即使你知道他们的观点是共同的。证明三条线不是共线的一种方法是使用tan2(y,x)y2-y1计算x2-x1,它会给出该线的角度 - 如果它们是共线的,那么两个线条将具有相同的角度。如果它们不是共线的,则没有一条线将共享一个共同的角度。 (证明这一点很简单。)

要计算三角形的面积,请从http://en.wikipedia.org/wiki/Triangle#Computing_the_area_of_a_triangle

中选择您喜欢的公式

答案 1 :(得分: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));