- •1.2.Сфери застосування комп'ютерної графіки
- •1.3.Стандарти машинної графіки
- •1.3.5. Функціональні стандарти
- •1.3.6 Рівень прикладної програми
- •2.3.Стандарт gks.
- •2.3.1 Призначення стандарту gks
- •2.3.2. Система програмування gks
- •2.5.Графічні станції
- •2.5.1 Концепції робочої станції
- •3.3 Однорідні координати і матричне представлення двовимірних перетворень
- •Рівняння масштабування (3.6) у матричній формі в однорідних координатах записуються у виді
- •3.4 Композиція двовимірних перетворень
- •4.2. Проектування.
- •4.4 Перетворення проектування. Рівнобіжні орфографічні проекції
- •4.5 Ортографічні аксонометричні проекції
- •4.6. Визначення кутів φ і θ для різних видів аксонометричних проекцій
- •Для прямокутної ізометрії коефіцієнти перекручувань по осях однакові
- •4.7. Косокутні проекції •
- •4.8. Матричне представлення тривимірних перетворень
- •4.9. Композиція тривимірних перетворень
- •5.1.1. Явне завдання багатокутників
- •5.1.2. Завдання багатокутників за допомогою покажчиків у список вершин
- •5.1.3. Явне завдання ребер
- •5.2. Рівняння площини
- •5. 3.1. Параметричні кубічні криві
- •5.4.Формати Безьє , Ерміта і в-сплайни.
- •5.4.1. Форма Ерміта
- •5.4.3. Форма b-сплайнів
- •5.5.1. Форма Ерміта
- •5.5.2. Форма Безье
- •5.6. Перетворення кривих і шматків поверхонь
- •5.7. Обчислення крапок на бікубичній поверхні
- •6.1 Методи створення реалістичних зображень тривимірних объектів.
- •Малюнок 6.1 - Класи моделей геометричних об'єктів
- •6.4. Дифузійне відображення і розсіяне світло.
- •6.3. Дзеркальне відображення
- •6.4.Модель Торренса-Сперроу та інші.
- •7.1 Призначення н сфера застосування алгоритмів растрової графіки
- •7.4.Алгоритми заповнення кольором області : рекурсивний, з затравкою. 7.4.1 Визначення і класифікація областей і алгоритмів
- •7.4.2 Простий алгоритм заповнення з запалом
- •7.5.2. Відокремлення крапок.
- •7.5.3. Відокремлення відрізків .
- •7.5.3 Алгоритм Коена - Сазерленда
- •7.5.4. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •7.5.7. Алгоритми розбивки області
- •8.1. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •8.3. Алгоритми розбивки області
- •9.1 Графічний дисплей з довільним скануванням екрана
- •9.1.1 Векторний дисплей
- •9.3. Плоттери з довільним скануванням видової поверхні
- •9.4. Маніпулятори введення інформації і керування її положенням на екрані дисплея
5.7. Обчислення крапок на бікубичній поверхні
Об'єкти, що складаються з бікубичних шматків, часто зображують шляхом креслення ряду кривих, що лежать на поверхні шматків і мають постійний параметр s чи t. У результаті виходять зображення, аналогічні показаної на мал. 5.20 (для одного шматка) і 5.21 (для декількох шматків). Основна ідея тут полягає в тому, щоб накреслити кусочно-лінійні апроксимації параметричних кривих на поверхні шматка. Для цього можна використовувати наступний метод:
Цей метод володіє одним недоліком — рівняння поверхні обчислюються 2/е2 разів. При e=0,l це число дорівнює 200, а при e=0.01 paвно 20 000. Кожне таке обчислення вимагає багатьох множень і додавань.
Для
зменшення числа множень при обчисленні
параметричних бікубічних поліномів
можна використовувати схему Горнера
розкладання багаточленів на множники.
Відповідно до цього правила кубічний
багаточлен можна представити у виді
Більш ефективним є спосіб проведення обчислення бікубічного багаточлена, заснований на правих разностях. Права різниця функції f(t) визначається виразом
(
5.61 )
яке можна записати у виді
(
5.62 )
Таким
чином, якщо відомі f
(t )
і ∆f
( t ) ,
можна обчислити f
( t+δ).
Представляючи
вираження (5.62) , як ітераційний процес,
бачимо, що
( 5.63 )
причому обчислення f виробляється з постійним кроком про, так що t=δn, a fn=f(tn).
яке можна записати у виді
Для багаточлена третього порядку
права різниця
має вид
(
5.64 )
(
5.66 )
Застосовуючи цю властивість до
виразу ( 5.65), знаходимо
(
5.67 )
(
5.68 )
(
5.69 )
Замінивши
n
на
n—1,
одержимо
(
5.70 )
Щоб не робити обчислення по формулі (5.67), повторимо процес ще раз:
Δ3 f (t) = (Δf 2 (t)) = Δ 2 f(t+δ) –Δ 2 f( t ) . ( 5.71)
Застосувавши цю властивість до вираження ( 5.67), знайдемо
Δ 3 f ( t ) = 6 a δ 3 (5 .72) т. e. третя різниця є константою і її обчислення тривіальне. Запишемо тепер вираження (5.71), використовуючи індекс n:
(
5.73 - 74 )
( 5.75 )
Заміняючи n на n—2, знаходимо
За допомогою цього виразу можна з виразу (5.70) знайти Δf n і, підставивши його в ( 5.63), визначити fn+l.
Щоб використовувати праві різниці в алгоритмі, у якому проводяться ітерації по n від n=0 до δn=l, необхідно за допомогою виразів (5.64), (5.65), (5.67) і (5.72) обчислити функцію і її першу, другу і третю праві різниці при t=0 (чи n=0):
(5.76
)
Ці
початкові обчислення можна виконати
також шляхом прямого рішення чотирьох
рівнянь.
Однак корисно відзначити, що
(
5.77 )
чи
в іншій формі
Повторимо
тепер наступні кроки 1/δ разів,
починаючи з n=0:
(
5.79 – 81 )
(
5.84 )
(
5.82 )
За
аналогією з початковими обчисленнями
у випадку кривих, для яких
(
5.83 )
проведемо обчислення для поверхонь
де ε — величина кроку параметра s, а δ — величина кроку параметра t. Матриця D00 має розмір 4x4, в її першому рядку містяться значення f0, Δf0 Δ2 f0 i Δ3 f0 необхідні для обчислення x(0, t), а в першому стовпці -значення, що вимагаються для визначення x(s, 0).
Як приступати до обчислення x(ε, t), якщо відомі x(0, t) для всіх кроків по t? Ітераційний процес аналогічний процесу для кривих, тільки він виконується по всіх рядках D 00 :
Рядок 1 = Рядок 1 + Рядок 2,
Рядок 2 = Рядок 2 + Рядок 3, (5.85)
Рядок 3 = Рядок 3 + Рядок 4.
Тепер у рядку 1 міститься x(ε,, t). Після повторення кроків ( 5.85) рядок 1 буде визначати вже х(2ε, t) і т.д.
При побудові x(s, 0), x(s,ε),. . ., x(s, 1) для обчислення значень використовується перший стовпець і у виразу (5.85) стовпець заміняється рядком. З іншого боку, якщо замість D00 узяти D T 00, тобто така заміна не потрібна.
Лекція 6. Отримання реалістичних зобраень. Тіні. Дифузне і дзеркальне відбиття світла.Модель Горренса-Сперроу та інші.
