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

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

В Алгоритм Сайруса-Бека является обобщенным обрезка линии алгоритм. Он был разработан, чтобы быть более эффективным, чем Алгоритм Коэна – Сазерленда, в котором используется повторяющаяся обрезка.[1] Сайрус-Бек - это общий алгоритм, который может использоваться с окном отсечения выпуклого многоугольника, в отличие от Сазерленда-Коэна, который можно использовать только на прямоугольной области отсечения.

Здесь параметрическое уравнение линии в плоскости обзора имеет вид

куда .

Теперь, чтобы найти точку пересечения с окном отсечения, мы вычисляем значение скалярного произведения. Позволять пE быть точкой на плоскости отсечения E.

Рассчитать :

если <0, вектор направлен внутрь;
если = 0, вектор направлен параллельно плоскости, содержащей п;
если> 0, вектор направлен изнутри.

Здесь п обозначает нормаль к текущей плоскости отсечения (направлена ​​от внутренней части).

Таким образом, мы выбираем точку пересечения линии и окна отсечения, где (скалярное произведение равно 0), и отсекаем линию.

Примечания

Смотрите также

Алгоритмы, используемые с той же целью:

Ссылки в других СМИ:

Рекомендации

внешняя ссылка