Смекни!
smekni.com

Комп ютерна графіка 2 (стр. 6 из 11)

(див. табл. 1.1) обидва розв'язки не залежать від другої змінної, для центральних поверхонь другого порядку рівняння (1.123) є квадратним відносно лінійної змінної. Розв'язки цього рівняння використано також для каналової поверхні, різьбленої поверхні Монжа, катеноїда, псевдосфери.

Для гранних поверхонь алгоритм визна­чення видимості полягає в порівнянні знаків лівої частини (1.123) для суміжних граней.

Якщо

Іі>0, Іі+1 > 0, (1.136)

то ребро, по якому перегинаються ці грані, видиме;

якщо

Іі Іі+1 < 0, (1.137)

то ребро контурне;

якщо

Іі<0, Іі+1 < 0, (1.138)

то ребро невидиме.

Моделювання розгорток

До розгортних належать такі поверхні:

багатогранники, циліндри, конуси та тор­си. Задача розгортування полягає в знахо­дженні функцій

, (1.139)

або з урахуванням залежності прямокутних декартових координат точки на циліндрі чи конусі від відповідних спеціальних координат, в яких ці поверхні мають рівняння u=0,

(1.140)

У формулах (1.139) та (1.140) xp, yp -- декартові прямокутні координати на пло­щині розгортки, x, y, z — декартові прямокутні координати точки, що належать розгортній поверхні.

Циліндр. Для циліндра, радіус основи якого r формули (1.140) мають вигляд

(1,141)

Правильна призма. Нехай правильна n-гранна призма описана навколо циліндра радіуса r і має висоту h. Кутовий параметр однієї з вершин відносно площини визначимо через tH. Апофеми бічних гра­ней призми мають узагальнену циліндрічну координату

. (1.142)

Знайдемо а з умови

(1.143)

дістанемо таке значення j = 1, при якому ця умова виконується.

Позначимо

(1.144)

Тоді координата u точки на поверхні призми в узагальненій ціліндричній системі виражається рівністю

(1.145)


Рис.1.25


Формули (1.141) мають вигляд

, (1.146)

де v = z.

Нагадаємо, що координати точки x, y, z на поверхні призми вважаємо заданими.

Конус. У гіперболічних координатах рівнянням конуса є u = 0. Формули (1.140) набувають вигляду

(1.147)

де a — кут між віссю та твірною конуса.

Правильна піраміда. Правильну піраміду віднесемо до вписаного в неї конуса. Кут a між його твірною та віссю входить до визначника піраміди. Як і для призми, tH — кутовий параметр однієї з вер­шин основи піраміди відносно площини х0z. Обчислимо ti за формулою (1.142), та р — за формулою (1.144), b та j — за форму­лою (1.143). Потім знаходимо:

Функції (1.140) мають вигляд

. (1.148)

Па рис.1.23,1.28, наведено приклади про­грамної реалізації алгоритму визначення лінії взаємного перетину поверхонь та ал­горитмів моделювання розгорток, На рис. 1.23 зображено конус і циліндр, які пере­тинаються. На рис.1.24 і рис. 1.26 пода­но розгортки конуса й циліндра відповід­но з визначенням на розгортці лінії взаєм­ного перетину.

На рис. 1.27 показано два циліндри, які перетинаються, а на рис. 1.25 і рис. 1.28 — розгортки поверхонь циліндра з горизон­тальною та вертикальною осями відповідно з визначенням на розгортці лінії перетину.

Геометричне моделювання наближеними методами

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

Слід зазначити, що вимоги до методу геометричного моделювання таких об'єктів часто суперечать одна одній. Так, з одного боку, геометрична модель має як найщільніше наближатися до фізичної моделі, з іншого — вона має містити мінімальне чис­ло параметрів, з третього — локальна зміна форми фізичної моделі має відтворюватись у зміну значень лише деяких (а не всіх) па­раметрів геометричної моделі.

Склад вхідних даних геометричної моделі зумовлений вимірюванням на фізичній мо­делі. Вимірюють насамперед координати точок, які називають опорними. Найпрос­тіша схема визначення опорних точок на поверхні передбачає розміщення їх у сім'ї площин рівня. Так, щоб визначити опорні точки на фізичній моделі, на неї наносять n + 1 лінію її перетину з площинами рівня однієї сім'ї та m + 1 лінію перетину з площи­нами ріння другої сім'ї. Ці лінії називають координатними або і лініями каркаса.

Координати опорних точок ма­ють індекси, які відповідають номерам ліній каркаса, що проходять через відповідну опорну точку (і = 0, 1, ..., n; j = 0, 1, ....m). Оскільки вимірюють координати лише опор­них точок, то до визначення лінії в проміжках між суміжними опорними точками та до виз­начення поверхні в проміжках між двома парами суміжних ліній каркаса різних сімей називають інтерполяцією. Якщо до визначення виконують у проміжках перед початковою опорною точкою (початкового лінією карка­са) або після кінцевої точки (кінцевої лінії каркаса), то його називають екстаполяцією.

З математичної точки зору рівняння лінії каркаса на площині рівня j= k можна діста­ти у вигляді

(1.149)

Коефіцієнти аі,кзнайдемо підстановкою замість х і у значень хi,j і уi,j та розв'язанням системи n + і лінійних рівнянь. Аналогічно можна дістати рівняння лінії каркаса i = l, який належить іншій сім'ї, у вигляді

. (1.150)

Здобуті рівняння дають змогу обчисли­ти значення коефіцієнта аi,j. У сукупності з координатами x, y, z рівняння (1.148) чи (1.149) визначають цифрову геометрич­ну модель поверхні. Алгоритм обчислення координати точки, яка належить поверхні і не збігається з жодною опорною точкою, тобто b = x при будь-яких значеннях z = с та c ¹z. при будь-яких значен­нях j має такий вигляд.

1. Користуючись n + 1 рівнянням (1.148) та значеннями коефіцієнта аi,j, підставимо в кожне з них замість xj, значення bj . Діста­немо значення yb,j .

2. Користуючись n + і рівнянням (1.149) та значеннями zi,j i yc,j знаходимо значення n + 1 коефіцієнта ab,j як результат розв'я­зання системи n + 1 лінійних рівнянь.

3. Підставивши нове рівняння (1.149) коефіцієнти якого (ab,j) визначені, значен­ня c замісті z, знайдемо шукане значення y.

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ КОМП'ЮТЕРНОЇ ГРАФІКИ

Програміська модель інтерактивної графіки

Процес удосконалення програмного за­безпечення комп'ютерної графіки був до­сить довгим і повільним. Пройдено шлях від апаратно залежних пакетів програм низько­го рівня, які поставляються виготовниками разом з конкретними дисплеями, до апарат­но-незалежних пакетів високого рівня. Ос­новна мета апаратно-незалежного пакета полягає в тому. щоб забезпечити його мобільність при переході від однієї ЕОМ до іншої. У процесі розв'язання цієї задачі гру­па американської асоціації з використання обчислювальних машин (GGRAPH) запро­понувала проект графічної системи СОRЕ SУSТЕМ, а спеціалісти Німеччини розроби­ли графічну базову систему Graphikal Keгnel System (GKS), прийняту Міжнародною організацією по стандартизації (IS0) як міжнародний графічний стандарт Draft International Standart— ISO/DIS. Ця систе­ма звільняє програміста від урахування особливостей графічних пристроїв при роз­робці програмного забезпечення, при цьо­му користувачеві доступні різноманітні графічні пристрої. Відповідно до викладеного підходу при розробці програмних засобів комп'ютерної графіки виділяються такі задачі: моделю­вання, які призначені для створення, пере­творення та зберігання моделей геометрич­них об'єктів (моделюючі системи); відобра­ження цих моделей на графічних пристро­ях та організації графічного інтерфейса користувача та ЕОМ (базова графічна си­стема). Склад програмного забезпечення відбивається у програміській моделі інтер­активної комп'ютерної графіки .До нього входять три компоненти: моде­лююча система, базова графічна система та прикладна структура даних (база даних).

Моделююча система здобуває інформа­цію та засилає її у бази даних, а також над­силає графічні команди до графічної сис­теми.