Изменения

Перейти к: навигация, поиск

Предикат "левый поворот"

13 байт добавлено, 03:28, 5 октября 2011
Нет описания правки
Итак, у нас есть задача, с чего начнем её решать? Какие вообще могут быть расположения точек и самих отрезков относительно друг друга? [[Файл:Cross.png]][[Файл:Two_segments.png]][[Файл:Touch.jpg]] Одно из решений - определить, лежат ли точки концов отрезков по разные стороны от другого отрезка. Вот тут нам и поможет наш предикат, где два из трех аргументов (например a и b) это точки концов одного отрезка, а последний - один из концов другого отрезка.
{{Определение
|definition =
Left_Turn(a, b, c) = true, если (b - a)*(c - a) > 0
}}
 
Какие могут быть расположения точек и самих отрезков относительно друг друга?
 
[[Файл:Cross.png]]
[[Файл:Two_segments.png]]
[[Файл:Touch.jpg]]
Заметим, что все координаты (а значит и наши вычисления) производятся в вещественных числах, а это значит, что при вычислениях мы можем допустить ошибку. Какую? Посмотрим внимательнее на наш предикат. Ошибка раскрывается тогда, когда угол между отрезками АВ и АС крайне мал.
189
правок

Навигация