2012-03-07 10 views
0

クラスのプロジェクトを作成する際には、明らかにShapeクラスの助けなしに図形(三角形、四角形、五角形)を定義しています。Line2D.Doubleは線が交差していると言っています

形状が有効であることを確認するために、Line2D.Double linesIntersect()を使用して、2つの点セット間の接続があるかどうかを確認します(p1-p4 x p2-p3)。私はlinesIntersect(double,double,double,double,etc)に私の入力を持っているときに設定:

p1(-1,-1) 
p2(-1,-11) 
p3(5,0) 
p4(5,5) 

それはp1からp4へのラインがp2からp3にラインを横切っていることを私に伝えます。実際には、それらは2つの斜めの平行線でなければなりません。

助けが必要ですか?

+3

サンプルコード、またはそれは発生しませんでした。 – cHao

答えて

1

申し訳ありませんが、入力した内容に基づいて、p1、p4はp2、p3と平行ではありません。

p1(-1,-1) 
p4(5,5) 

p2(-1,-11) 
p3(5,0) 

P1、P4が1

P2の傾きを有する、P3はあなたが行が平行になるようにしたい場合は、あなたが変更する必要が11/6または1.83

の傾きを持っていますp3。

p3(5,-5) 
+0

本当に、私の悪いですが、実際には、2つのラインがポイントで開始し、終了しており、いつでもポイントが交差することはありません。 linesIntersect()の使用で何が間違っていたのかを知りました。応答に感謝します! – user1231771

+0

@ user1231771:交差法では、線が終点を超えていると仮定していると思います。 –