Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм Вейлера-Азертона




Вейлер і Азертон спробували оптимізувати алгоритм Варнока відносно числа виконуваних розбивок, перейшовши від прямокутних розбивок до розбивок уздовж границь багатокутників (1977). Для цього вони використовували ними ж розроблений алгоритм відсікання багатокутників. Алгоритм працює в об'єктному просторі, і результатом його роботи є багатокутники. У самому загальному виді він складається із чотирьох кроків.

1. Попереднє сортування по глибині.

2. Відсікання по границі найближчого до крапки спостереження багатокутника, називане сортуванням багатокутників на площині.

3. Видалення багатокутників, экранируемых більше близькими до крапки спостереження багатокутниками.

4. Якщо потрібно, то рекурсивна розбивка й нове сортування.

У процесі попереднього сортування створюється список приблизних пріоритетів, причому близькість багатокутника до крапки спостереження визначається відстанню до найближчої до неї вершини. Потім виконується відсікання по найпершому з багатокутників. Відсіканню піддаються всі багатокутники зі списку, причому ця операція виконується над проекціями багатокутників на картинну площину. При цьому створюються списки зовнішніх і внутрішніх фігур. Всі попавшие в список зовнішніх не екрануються багатокутником, що відтинає. Потім розглядається список внутрішніх багатокутників і виконується сортування по відстані до багатокутника, що відтинає. Якщо всі вершини деякого багатокутника виявляються далі від спостерігача, чим сама вилучена з вершин що екранує, то вони невидимі, і тоді вони віддаляються. Після цього робота алгоритму триває із зовнішнім списком.

Якщо якась із вершин внутрішнього багатокутника виявляється ближче до спостерігача, чим найближча з вершин багатокутника, що екранує, то такий багатокутник є частково видимим. У цьому випадку попередній список пріоритетів некоректний, і тоді в якості нового багатокутника, що відтинає, вибирається саме цей "порушник порядку". При цьому використовується саме вихідний багатокутник, а не той, що вийшов у результаті першого відсікання. Такий підхід дозволяє мінімізувати число розбивок.

Цей алгоритм надалі був узагальнений Кэтмулом (1974) для зображення гладких бикубических поверхонь. Його підхід полягав у тім, що розбивці піддавалася поверхня. Коротко цей алгоритм можна описати так:

1. Рекурсивно розбивається поверхня доти, поки проекція елемента на площину зображення не буде покривати не більше одного пикселя.

2. Визначити атрибути поверхні в цьому пикселе й зобразити його.

Ефективність такого методу, як і алгоритм Варнока, залежить від ефективності розбивок. Надалі цей алгоритм був розповсюджений на сплайновые поверхні.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 383; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.