Line2D. Дважды сказав мне, что линии пересекаются, когда они не - PullRequest
0 голосов
/ 07 марта 2012

При создании проекта для класса мы определяем фигуры (треугольник, четырехугольник, пятиугольник) без помощи класса Shape.

В своих проверках, чтобы убедиться, что форма верна, я использую Line2D.Double linesIntersect(), чтобы определить, есть ли связи между двумя наборами точек (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. Когда на самом деле они должны быть две диагональные параллельные линии.

Любая помощь?

1 Ответ

1 голос
/ 07 марта 2012

Извините, но в зависимости от того, что вы ввели, 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)
...