Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Отсечение плоских фигур (алгоритм Коэна-Сазерленда)
Предварительно необходимо договориться о направлении обхода вершин (по часовой стрелке или против неё). Фигура должна быть замкнутой.
Последовательно производят отсечение многоугольника по четырём границам.
.
Анализ ребер: возможно 4 варианта расположения ребра в пространстве:
Может также возникнуть вариант, когда ребро совпадает с границей.
В случае 1: Добавить в список рисуемых вершин Р; 2: Добавить в список Q; 3: Ничего не добавляется; 4: Добавить в список Р,Q;
Пример: многоугольник задан списком вершин {1,2,3,4,5,6,7,1}
Последовательно переберём все рёбра. Начнем процесс с точки 1 и ребра 1-2. Начнём формировать новый список вершин. В соответствии с ориентацией ребра занесём в выходной список вершину 2 => {2}. Далее рассмотрим ребро 2-3: добавляется точка 8 => {2, 8} 3-4: {2, 8, 9, 4}. 4-5: {2, 8, 9, 4, 10}. 5-6: {2, 8, 9, 4, 10}. Ребро полностью оказалось вне, поэтому ничего не добавляется. 6-7: {2, 8, 9, 4, 10, 11, 7}. 7-1: {2, 8, 9, 4, 10, 11, 7, 1}.
Таким образом, новый список вершин: {2, 8, 9, 4, 10, 11, 7, 1}. Определение яркости в точке пересечения с областью вывода.
Вычисления проводятся по одной из двух формул: (1) (2) Примечание: По формуле (1) считают, если |у2 – у1| ³ |х2 – х1|, по формуле (2) - если |у2 – у1| < |х2 – х1|;
Date: 2015-07-17; view: 610; Нарушение авторских прав |