REFERATUA.ORG.UA — База українських рефератів




формулу (1.85) дістанемо: А0, В0, С0, D0), знаходимо

Комп'ютерна графіка (1.124)

Підставивши ці вирази дістанемо параметричні рівняння січної площини:

Комп'ютерна графіка (1.125)

Тепер підставимо вирази (1.125) у рівняння поверхні (1.93). У результаті матимемо

Комп'ютерна графіка (1.126)

Це рівняння другого ступеня відносно Комп'ютерна графіка u та v, тобто його можна розв'язати відносно будь-якої з цих змінних.

Натуральний вигляд лінії перетину знайдемо побудовою графіка функції (1.126) за її рівнянням у системі uОv. Масиви координат uі, vі, що визначаються в процесі побудови, підставимо в параметричні рівняння січної площини (1.125). Дістанемо просторові координати хі уі zі , точок, які визначають лінію перетину. Наведемо приклади програмної реалізації цього алгоритму для двох поверхонь, що перетинаються площиною.

На рис. 23.1 наведено в ізометричній проекції поверхню еліпсоїда обертання за функцією (1,93) при а = 3, с = 5, р = 1, q = 1, що перетинаються площиною [див. рівняння (1.85)] при А = 1, В = 3, С = 16, D = -16.

На рис. 23.2 зображено в ізометричній проекції поверхню однопорожнинного гіперболоїда, що перетинається тією самою січною площиною. Порівняно з попередніми вхідні дані відрізняються тільки значенням р, яке в цьому випадку набуває значення -1.

Застосуємо наведений алгоритм для побудови лінії перетину прямої призми та

площини. Нехай січна площина має такі коефіцієнти A, B, C, D при яких виконуються рівності (1.124) і (1.125). Позначимо Комп'ютерна графіка і підставимо вирази (1.124) у рівняння (1.85), що при значеннях t згідно з рівнянням (1.119) є рівнянням граней призми, В результаті матимемо

Комп'ютерна графіка. (1.126а)

Це є рівнянням лінії перетину і рані призми із січною площиною у системі uОv на січні із площині. Підставляючи замість u його значення з рівняння (1.120), знайдемо координати uі та vі, точок перетину ребер призми із січною площиною. Нагадаємо, що замість t треба підставляти у рівняння (1.126а) послідовно значення з формули (1.119).

Масиви просторових координати xі , yі , zі , вершин шуканої лінії перетину знайдемо підстановкою uі та vі, у рівняння (1.125).

Приклади програмної реалізації наведеного алгоритму показано на рис.1.14-1.16. В ізометричній проекції подано правильну дванадцятигранну призму, висота якої 12 см, радіус описаного циліндра 5см, а кутовий параметр однієї з вершин нижньої основи становить 0,13 рад. ІІризму перетинає прощина

Комп'ютерна графіка

Використовуючи замість (1.85) рівняння сім'ї площин (1,86), матимемо алгоритм побудови лінії перетину правильної піраміди та площини. На рис.1.117 подано ізометричну проекцію правильної дванадцятигранної піраміди, висота якої 12 см, кут між бічною гранню і висотою 0,35 рад, а кутовий параметр основи вершин основи становить 0.26 рад. Піраміду перетинає площина

Комп'ютерна графіка.

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

Якщо лінія та поверхня задні в одній системі координат, то завжди можна застосувати один з двох алгоритмів (площинний чи просторовий) визначення належності будь-якої точки внутрішності чи зовнішності поверхні.

Площинний алгоритм. Позначимо функціональний параметр рівняння лінії через s. Нехай розв'язок лежить в інтервалі s1

Комп'ютерна графіка. (1.127)

Обчислимо значення спеціальних координат u, v, t у системі, до якої віднесено поверхню. Підставляючи значення t у внутрішнє рівняння поверхні, дістанемо ріння лінії рівня t=const цієї поверхні. Скориставшись формулами та враховуючи, що роль x і у відіграють u і v відповідно, визначимо належність точки М до внутрішності чи зовнішності лінії рівня t = соnst заданої поверхні.

Якщо точка М належить до зовнішності лінії рівня, то функціональний параметр наступної довільної точки М визначаємо за формулою (1.127). надаючи s1 значення sM. Якщо точка M належить до внутрішності, то значення sM надаємо s2. Ітераційний процес продовжуємо доти, доки виконується умова Комп'ютерна графіка, де  визначає наперед задану точність.

Значення функціонального параметра довільної точки, при якому виконується ця умова, треба підставити в рівняння лінії, щоб дістати просторові координаті x, y, z шуканої точки перетину.

З

Рис.1.117

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

Просторовий алгоритм. Для поверхонь другого порядку (1.119). (1.122) при розгляді питання про належність довільної точки до внутрішності чи зовнішності поверхні не обов'язково переходити до рівняння лінії ріння цієї поверхні. Досить підставити координати x, y, z довільної точки в рівняння (1.119) або (1.122). Якщо знак "=" - змінюється на знак ">" , то довільна точка належить до зовнішності, якщо на знак " < ", то до внутрішності поверхні.

Просторовий алгоритм більше нічим не відрізняється від площинного.

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

Геометричну модель відображення лінії чи поверхні засобами комп'ютерної графіки дістають методом проекцювання та сполучення точок, які лежать на лінії, впорядкованих відповідно із зростанням або спаданням значення функціонального параметра. Вхідні дані у вигляді рівняння лінії та інтервалу значень функціонального параметра дають змогу обчислити координати x, y, z послідовності точок.

Щодо візуалізації поверхні, то проекції відтворюють деякі характерні для поверхні лінії: ребра багатогранників, лінії, обвідну проекції кривої поверхні, межі відсіку поверхні. Ефективний спосіб візуалізації кривої поверхні полягає в попередньому визначенні на поверхні сім'ї або сітки координатних ліній та відображенні на проекції видимих відрізків (рис.1.17 ...рис.1.22 ) та відповідно для прямокутних ізометрії, диметрії та косокутної диметрії.

Точкове відображення простору на фронтальну площину проекцій визначено формулами

Комп'ютерна графіка, (1.128)

а на горизонтальну площину проекцій — формулами


 
Загрузка...