2013-03-13 68 views
0

嗨朋友我需要使用java oop方法計算兩點之間的線長,並從3點得到3條線,然後證明它是三角形,否則如果它三角形計算三角區 謝謝使用oop java計算兩點之間的線長

+2

挑選自己喜歡的公式似乎是一個家庭作業的問題。到目前爲止你做了什麼 ? – Joe2013 2013-03-13 04:31:20

+0

首先,您需要製作具有x和y座標的類命名點。那麼你需要做一些邏輯來計算長度並證明三點不在一條線上。所以它一定是三角形。 – 2013-03-13 04:32:51

回答

1

爲了計算線路長度,http://en.wikipedia.org/wiki/Euclidean_distance兩個維度

的情況下,要想從點線,使線條勾勒出點i % n(i + 1) % n其中n是點的數量,並從i範圍0n-1像一個循環標準。

爲了證明三條線是三角形 - 如果你從三個點做出它們,他們顯然是。如果他們之間只有三個點,他們也是一個三角形(例如,你可以將它們添加到Set,看看是否只存在三個獨特的點)。

編輯:丹尼爾羅伯特斯指出,他們也不需要共線,即使你知道他們的觀點是共同的。證明三條線不共線的一種方法是使用y2-y1x2-x1來計算tan2(y,x),它給出了該線的角度 - 如果它們是共線的,那麼兩條線將具有相同的角度。如果它們不是共線的,那麼沒有一條線會共享一個共同的角度。 (這個證明是微不足道的。)

要計算一個三角形的面積,從http://en.wikipedia.org/wiki/Triangle#Computing_the_area_of_a_triangle

+0

我需要java編碼 – 2013-03-13 04:36:37

+1

@Shanmuganathan Shanshayan請嘗試編碼他們,當你陷入困境嘗試隔離問題,解決問題,谷歌它,如果你100%卡住,然後發佈你的具體問題。 – Patashu 2013-03-13 04:37:52

+1

我想你會比給你的代碼更好地服務於一般建議(教導一個人釣魚)。 – jahroy 2013-03-13 04:40:13

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)); 
+0

@jahroy我以爲stackoverflow是一個網站,人們回答對方的問題,而不是互相學習。 – 2013-03-13 04:57:13