2016-12-26 4 views
-1

Создайте Java-программу для создания двумерного виртуального треугольника и проверьте, попала ли точка внутри него. Функциональность ввода консоли/вывода будет выглядеть следующим образом:Как проверить точку внутри или вне треугольника?

ВХОД: Задать пользователю ввести X, Y целые координаты для 1-го вершины треугольника ВХОД: Задать пользователю ввести X, Y целые координаты для 2-го вершины треугольника ВХОД: Попросите пользователя ввести X, Y целые координаты для 3 вершины треугольника INPUT: Попросите пользователя ввести X, Y целые координаты для контрольной точки ВЫВОД: Проверка и печать, если точка находится внутри или вне треугольника

+0

Это очень похоже на домашнее задание для меня ... –

+3

Возможный дубликат [Как определить, находится ли точка в двумерном треугольнике?] (Http://stackoverflow.com/questions/2049582/how-to -determine-если-а-точка-это-в-2d-треугольник) –

ответ

0

Here's what I found from a quick search:

Суть в том, что вы берете точку (Point Z), что вы пытаясь выяснить, находится ли он внутри или снаружи треугольника и нарисовать горизонтальную линию от значения x точки Z до ∞. Если эта линия (линия Z) пересекается только и точно одна из сторон треугольников, то мы можем заключить, что точка Z находится внутри треугольника. Чтобы определить, пересекается ли она с одной из сторон, хорошей стратегией было бы формирование уравнений с боков y=mx+b. Учитывая эти уравнения, вы можете определить, с каким количеством сторон линии Z пересекается. Обратите внимание: если вы обнаружите, что Line Z пересекается с двумя строками или более строками, проверьте, является ли точка Z одной из вершин треугольника. Если да, то это зависит от вас, если вы хотите рассмотреть это как внутри, так и снаружи. Если точка Z не является вершиной, то гарантируется, что она вообще не будет внутри треугольника.

Смежные вопросы