- •Http://antibotan.Com/ - Всеукраїнський студентський архів розділ 1. Координатні перетворення та проекції
- •1.1. Афінна геометрія
- •1.1.1. Афінні перетворення точок у просторі
- •1.1.2. Перетворення ліній та площин у просторі
- •1.2. Перспективно-проекційна геометрія
- •1.2.1. Однорідні координати
- •1.2.2. Проектування тривимірних об’єктів
- •1.2.3. Паралельні проекції
- •1.2.4. Центральні проекції
- •1.2.5. Неозначені точки
- •1.2.6. Одноточкова перспективна проекція
- •1.2.7. Двоточкова перспективна проекція
- •1.2.8. Триточкова перспективна проекція
- •Розділ 2. Просторові криві
- •2.1. Геометрія просторових кривих
- •2.1.1. Параметричне і непараметричне зображення кривих
- •2.1.2. Дотична, головна нормаль і бінормаль до кривої
- •2.1.3. Кривина, закручування кривої та формули Френе
- •2.2. Побудова плоских кривих
- •2.2.1. Конічні переріз
- •2.2.2. Трансцендентні криві
- •2.3. Кубічні сплайни
- •2.3.1. Сплайнова функція однієї змінної
- •2.3.2. Сплайнова функція в тривимірному випадку
- •Дослідження гладкості кривої
- •2.3.4. Граничні умови
- •2.4. Кубічні сплайни Без’є
- •2.5. Базис Бернштейна-Без’є
- •2.5.1. Геометричні властивості поліномів Бернштейна
- •2.5.2. Часткові випадки
- •2.6. Апроксимація на основі b-сплайнів
- •2.6.1. Головні властивості b-сплайнів
- •2.6.2. Базисні функції
- •2.6.3. Вузловий вектор
- •2.6.4. Приклади застосування b-сплайнів
- •2.7. Раціональні криві
- •2.7.1. Головні принципи раціональних кривих
- •2.7.2. Раціональні квадратичні сегменти конічного перерізу
- •2.7.3. Раціональні криві Без’є
- •Розділ 3. Опис і побудова поверхонь
- •3.1. Геометрія поверхонь
- •3.1.1.Поняття поверхні, дотична площина до поверхні
- •3.1.2. Перша квадратична форма
- •3.1.3. Друга квадратична форма поверхні
- •3.1.4. Нормальна кривина поверхні
- •3.1.5. Перетворення параметрів поверхні
- •3.2. Утворення і зображення поверхонь
- •3.2.1. Класифікація поверхонь
- •3.2.2. Лінійчаті поверхні
- •3.3. Поверхні Без’є
- •3.3.1. Параметричне рівняння поверхні Без’є
- •3.3.2. Властивості ділянок поверхні Без’є
- •3.4.1. Параметричні рівняння ділянок в-сплайн поверхні
- •3.4.2. Властивості ділянок бікубічних в-сплайнповерхонь
- •Розділ 4. Теоретичні основи та головні алгоритми растрової графіки
- •4.1. Створення базових геометричних форм
- •4.1.1. Пікселі
- •4.1.2. Рисування ліній
- •Input (x1,y1),(x2,y2)
- •4.1.3. Побудова кола
- •Input (r)
- •4.1.4. Побудова еліпса
- •4.2. Вирізання
- •4.2.1. Алгоритм серединної точки
- •4.15. Лінії до вирізання 4.16. Лінії після обрізання
- •4.2.2. Алгоритм Коена-Сазерленда
- •4.2.3. Алгоритм Лянга - Барського
- •4.3 Вирізання областей
- •4.3.1. Базовий матеріал
- •4.3.2. Алгоритм Сазерленда - Ходгмана
- •4.3.3. Алгоритми Сазерленда-Ходгмана вирізання поверхонь
- •Розділ 5. Застосування пакетів matlab у компютерній графіці
- •5.1. Головні відомості про matlab
- •5.1.1. Інтерфейс Matlab
- •5.1.2. Програмування в Matlab
- •If умова
- •5.1.3. Створення і застосування м-файлів
- •5.1.4. Робота з матрицями
- •5.2. Графіка в Matlab
- •5.2.1. Визначення точки споглядання
- •5.2.2. Об'єкти дескрипторної графіки
- •5.2.3. Побудова графіків. Команди Plot, Plot3
- •5.2.4 Примітиви
- •View(3); % 11
- •5.2.5. Алгоритми для примітивів
- •Image(x1,y,colour) % Lighting pixel
- •Image(X,y1,colour) % Lighting pixel
- •Image(X,y,colour) % Lighting pixel
- •Image(X,y-2*I,colour) % Lighting pixel
- •Image(X,y,colour) % Lighting pixel
- •Image(X-2*I,y,colour) % Lighting pixel
- •5.3. Перетворення
- •5.3.1. Геометричні перетворення
- •View(3);
- •5.3.2. Проекції тривимірного простору в
- •View(0,90);
- •View(3)
- •5.4. Вирізання
- •5.4.1. Алгоритми вирізання
- •5.4.2. Інші підходи
- •5.5. Зображення плоских кривих
- •5.5.1. Команда spline
- •5.5.2. Команда pchip
- •Список літератури
- •Покажчик
2.6.2. Базисні функції
Визначимо базисні функції . Якщо розглянути ділянку кривої, віддалену від конкретного вузла, то цей вузол не має на неї сильного впливу; якщо ж ми наближаємося, то вузол починає впливати на неї щораз більше. У разі віддалення від нього його дія знову зменшується.
На
рис. 2.15 показано приклад базової функції,
яка має максимальний ефект у деякій
визначеній точці й гладко зменшується
з віддаленням від точки. Крива
на рис. 2.15 відображає, що найбільше
значення майже 95 % при
і приблизно 50 % для
і
.
Рис.2.15. Базисна функція для вектора заданого вузла
Тут кожний вузол має власну базисну функцію, наприклад, В-сплайн-крива, яка має вузлів матиме таких функцій, кожна з яких покриває деяку ділянку кривої.
Часто базисні функції мають однакову форму й охоплюють однакові інтервали часу. Проте інколе виникає потреба змінювати ширину інтервалів так, щоб деякі вузли мали вплив на більшу частину кривої, а інші – на меншу.
Для цього треба визначити ряд точок, які розділяють час на інтервали, Змінюванням відносних довжин інтервалів можемо змінювати час, у подовж якого кожна контрольна точка впливає на криву. Точки, які обмежують інтервали називаються вузлами, а впорядкований їхній список – вузловим вектором.
Наведемо ще деякі важливі характеристики, які виявляє набір базисних функцій.
У будь-який час t, сумарне значення всіх базисних функцій становить у цілому одиницю.
Якщо всі керівні точки мають позитивні ваги, то крива міститься в межах ділянки, відомої як опукла оболонка.
За будь-якого t, не більше ніж k базисних функцій впливають на криву, де k - це порядок кривої.
Крива порядку k визначена тільки там, де k базисних функцій відмінні від нуля.
2.6.3. Вузловий вектор
Вузловий вектор, довжина якого (n+k+1), уводиться для врахування власної кривини B-сплайн -кривих і є не спадною послідовністю цілих чисел - параметричних вузлів. Вузловий вектор визначений кількістю точок у ламаній, яку апроксимують, порядком кривої, а також наявністю складних (кратних) вузлів.
Наприклад, для кривої другого порядку, що задана чотирма вершинами (n+1=4), параметр =3-2+2=3. Довжина вузлового вектора (n+k+1)= 6. Повний вузловий вектор з кратністю 2 (бо крива другого порядку) на кожному кінці матиме вигляд [0,0,1,2,3,3]. Крива четвертого порядку, задана на багатокутнику з п’ятьма вершинами, матиме вузловий вектор [0 0 0 0 1 2 2 2 2]. Тут =4-4+2=2, довжина вектора(n+k+1)= 9, кратність на кожному кінці 4. Під час побудови B-сплайн-кривих можна збільшувати порядок кривої шляхом подвоєння, потроєння тощо, вузлів в одній і тій же вершині. Отже, якщо маємо чотири різні вершини для кривої другого порядку, то вузловий вектор, як ми вже довели, дорівнює [0,0,1,2,3,3]. Якщо ж два вузли збігаються в одній вершині, це означає, що один з відрізків ламаної має нульову довжину, а вузловий вектор зміниться до вигляду [0 0 1 1 2 2].
Якщо гладкості досягають уведенням похідних вищих порядків, то порядок кривої визначає, наскільки вона гладка. Наприклад, крива четвертого порядку є неперервною за першою і другою похідними, а також і за розміщенням точок уздовж усієї кривої.
Зазначимо,
що B-сплайн-крива
є поліномом степеня (k–1)
на кожному інтервалі
і всі її похідні до (k–2)-го
порядку включно неперервні уздовж всієї
кривої.
У
разі врахування гнучкості задання
кривих на основі B-сплайнів
можна використовувати різні способи
корекції форми кривої. Наприклад, можна
змінити порядок
(у межах 2
n+1)
шляхом уведення кратних вершин або
зміни кількості і положення кратних
вершин у багатокутнику.
