- •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.2.2. Трансцендентні криві
Трансцендентні криві, на відміну від алгебричних, можуть мати нескінченну кількість точок перетину з прямою, точок перегину, вершин тощо.
Приклад такої функції – синусоїда у=sin
x, графіком якої є неперервна крива
лінія з періодом
.
Поряд з цим у трансцендентних кривих
можуть бути характерні точки, які не
існують в алгебричних кривих: кутові
(точки злому), асимптотичні точки та ін.
Найпростішими прикладами трансцендентних
кривих слугують графіки логарифмічних,
показникових, тригонометричних функцій,
а також усі спіралі, циклоїди та ін.
2.3. Кубічні сплайни
Розглянемо задачу проведення гладких кривих через задані точки (задачу інтерполяції). Оскільки, через дві точки можна провести скільки завгодно гладких кривих, то для розв’язування цієї задачі необхідно обмежити клас функцій, які визначатимуть шукану криву [1].
Перш ніж вивчатимемо сплайни детальніше проаналізуємо поняття інтерполяції. Для цього розглянемо такий приклад. У табл. 2.1 наведено дані про зростання населення США кожних десять років.
Зростання населення США Таблиця 2.1.
Рік |
1930 |
1940 |
1950 |
1960 |
1970 |
1980 |
Насел. ( тис. осіб) |
123,203 |
131,669 |
150,697 |
179,323 |
203,212 |
226,505 |
Нехай потрібно визначити кількість населення у 1965 або 2000рр. Це можна легко з’ясувати з інтерполяційної кривої (рис. 2.8).
Рис. 2.8. Крива зростання населення США
Інколи функцію варто шукати у вигляді
Якщо параметри (
)
визначають з умови збіжності
з наближеною функцією в точках
,
які називають вузлами інтерполяції
,
то такий спосіб наближення є інтерполюванням.
Серед способів інтерполювання найпоширенішим є випадок лінійного інтерполювання, коли наближення шукають у вигляді [19]
,
де
– фіксовані функції. Значення коефіцієнтів
визначають з умови збіжності з функцією,
що наближається в вузлах інтерполяції
:
Найчастіше маємо інтерполювання поліномами
,
а система рівнянь набуде вигляду
Твердження.
Нехай
такі, що
і
,
тоді існує один поліном
степеня не вище
,
такий, що
Зазначимо, що є декілька вимог, що їх повинні задовольняти інтерполяційні криві.
1. Якщо крива складається з окремих частин, то постає питання гладкого переходу від однієї частини до іншої.
2. Якщо крива є частиною загального рисунка, з яким можуть відбуватися трансформації (наприклад, повертання на кут), то форма кривої повинна також змінюватись.
3. Кожна невелика зміна окремої точки, що належить кривій, призводить до перерахунку всієї кривої.
4. Сумарна крива повинна не мати значних осциляцій.
Під час побудови таких кривих потрібно обчислювати дотичні, нормалі, кривини тощо, тому необхідна така параметризація, за якої легко виконувати операції диференціювання. В цьому випадку зручно вибрати поліноми від деякої кількості параметрів. Чим складніші криві, тим вони потребують вищого степеня поліномів для їхнього опису. Однак, такі поліноми потребують великої кількості коефіцієнтів і можуть спричинити небажані осциляції кривої.
Сплайнами називають функції, які використовують для апроксимації кривих. Їхньою важливою властивістю є простота обчислень. Надалі розглядатимемо кубічні сплайни.
Слово «сплайн»
прийшло до нас з галузі машинобудування,
де сплайном називали гнучку лінійку,
яку закріплювали в потрібних місцях,
так можна було домогтися плавності
кривої, яку викреслювали вздовж цієї
лінійки. Форма лінійки, якщо її розглядати
як функцію
,
задовольнятиме рівняння Ейлера –
Бернулі:
,
де M(x)
– момент згину вздовж рейки: E
– модуль Юнга, який залежить від
властивостей матеріалу рейки, I – момент
інерції, визначений формою кривої. Якщо
зафіксувати деякі точки, то момент згину
на кожному відрізку
змінюється за лінійним законом:
.
Підставимо останній вираз у вихідне
рівняння й отримаємо:
,
двічі проінтегруємо й отримаємо рівняння кривої на заданому відрізку
,
отже, форму фізичного сплайна описує кусковий кубічний поліном.
Математичний опис сплайну є
кусковим поліномом степеня
з
неперервними похідними порядку
в місцях з’єднання між сегментами.
Отже, кубічний сплайн, який найчастіше
використовують на практиці, має в місцях
з’єднання неперервність другого
порядку[21].
