Алгоритм Сайруса – Бека

В компьютерной графике алгоритм Сайруса-Бека представляет собой обобщенный алгоритм обрезки строк . Он был разработан, чтобы быть более эффективным, чем алгоритм Коэна-Сазерленда , который использует повторяющееся отсечение. [ 1 ] Алгоритм Сайруса-Бека представляет собой общий алгоритм, который можно использовать с окном отсечения выпуклого многоугольника , в отличие от Коэна-Сазерленда, который можно использовать только с прямоугольной областью отсечения.
Здесь параметрическое уравнение линии в плоскости вида имеет вид где .
Теперь, чтобы найти точку пересечения с окном отсечения, мы вычисляем значение скалярного произведения . Пусть быть точкой на плоскости отсечения .
Рассчитать :
- если < 0, вектор направлен внутрь;
- если = 0, вектор направлен параллельно плоскости, содержащей ;
- если > 0, вектор направлен внутрь.
Здесь обозначает нормаль текущей плоскости отсечения (направлена от внутренней части).
При этом мы выбираем точку пересечения линии и окна обрезки, где (скалярное произведение равно 0), и, следовательно, обрезаем линию.
Примечания
[ редактировать ]См. также
[ редактировать ]Алгоритмы, используемые для той же цели:
- Алгоритм Коэна – Сазерленда
- Алгоритм Ляна – Барского
- Алгоритм Николла – Ли – Николла
- Быстрая обрезка
Ссылки в других СМИ:
Ссылки
[ редактировать ]- Майк Сайрус, Джей Бек. « Обобщенное двух- и трехмерное отсечение ». Компьютеры и графика, 1978: 23–28.
- Джеймс Д. Фоли. Компьютерная графика: принципы и практика . Аддисон-Уэсли Профессионал, 1996. с. 117.
Внешние ссылки
[ редактировать ]- https://web.archive.org/web/20101203041134/http://cs1.bradley.edu/public/jcm/cs535CyrusBeck.html
- https://web.archive.org/web/20110725233122/http://softsurfer.com/Archive/algorithm_0111/algorithm_0111.htm