朋友们,我需要使用java oop方法计算两点之间的线长,并从3点得到3行然后证明它是三角形,如果它是三角形计算三角形区域 谢谢
答案 0 :(得分:1)
用于计算线长,http://en.wikipedia.org/wiki/Euclidean_distance用于二维
要从点获取线条,请从点i % n
和(i + 1) % n
中创建线条,其中n
是点数,i
范围从0
到n-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));