Ю2.5

Четырёхугольник ABCD задан координатами своих вершин на плоскости: A([latex]x_{a}[/latex],[latex]y_{a}[/latex]), B([latex]x_{b}[/latex],[latex]y_{b}[/latex]), C([latex]x_{c}[/latex],[latex]y_{c}[/latex]), D([latex]x_{d}[/latex],[latex]y_{d}[/latex]). Проверить, является ли он выпуклым.

Тесты:

Точки Координаты (x,y) Вердикт
A,B,C,D (1,1),(3,3),(5,2),(2,0) Выпуклый
A,B,C,D (-2,1),(2,2),(3,-1),(3,-1) Выпуклый
A,B,C,D (1,0),(1,3),(2,1),(5,0) Не выпуклый
A,B,C,D (-1,3),(0,0),(4,2),(-1,-3) Не выпуклый

Код программы:

Ссылка на код http://ideone.com/dsWBJc

Ссылка на код: ссылка

Ход решения:

Задаем уравнение прямой ([latex]\frac{x-x_{0}}{x_{1}-x_{0}}-\frac{y-y_{0}}{y_{1}-y_{0}}[/latex]). Преобразовываем его к виду без деления (чтобы не было проблем с делением на нуль) [latex](x-x_{0})*(y_{1}-y_{0})-(y-y_{0})*(x_{1}-x_{0})[/latex].

Для каждой стороны (AB,BC,CD,AD):

1. Строим уравнение прямой через эти две вершины.

2. Подставляем в формулу координаты остальных вершин.

3.Сравниваем значения вершин. Если их знаки разные — четырёхугольник не выпуклый.

Если для всех сторон данные условия выполнены — четырёхугольник является выпуклым.

Related Images:

One thought on “Ю2.5

Добавить комментарий