Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коссак графіка.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.68 Mб
Скачать

2.3.2. Сплайнова функція в тривимірному випадку

У випадку непараметричного, функціонального зображення кривої [1]

можливі виникнення багатозначності в разі самоперерізів і незручностей, якщо значенні похідних дорівнюють . Щоб уникнути цих незручностей, шукатимемо функцію в параметричному вигляді. Нехай – незалежний параметр, такий, що .

Кубічним параметричним сплайном називають систему рівнянь[22]

Координати точок на кривій описувані вектором, а три похідні задають координати відповідного дотичного вектора в точці. Наприклад, для координати

.

У векторному вигляді ці рівняння, які описують сегменти кривих, можна записати так:

, (2.4)

де коефіцієнти – вектори, які визначають за допомогою граничних умов для одного сегмента. Один зі способів задання параметричного кубічного сплайна – задання координат початкової і кінцевої точок, а також векторів, які є дотичні в них, а саме – знаходження і на обох кінцях сегмента. Такий спосіб задання називають формою Ерміта. Задамо спочатку перший сегмент . Позначимо кінцеві точки через і , а дотичні вектори в них – через і .

У середині кубічного сегмента параметр змінюється між двома значеннями кінцевих точок і . Для спрощення запису покладемо . Запишемо граничні умови для першого сегмента

(2.5)

або

З цієї системи легко знайти коефіцієнти .

(2.6)

Підставимо значення коефіцієнтів в векторне рівняння

. (2.7)

Розглянемо випадок, коли треба з’єднати два кубічні сплайни і в одну криву. Для першого сегмента параметр змінюється між значеннями і , а для другого – між і .

(2.8)

Це означає, що нам задано три точки , , і дотичні вектори в кінцевих точках і . Зазначимо, що дотичний вектор у точці з’єднання нам невідомий.

Для забезпечення неперервності другого порядку в разі кубічного сплайну треба накласти умови сталості кривини у точці з’єднання двох сегментів, а саме – неперервності другої похідної в точці з’єднання:

,

або

(2.9)

підставляючи (2.4) у (2.9), отримаємо

(2.10)

З цього рівняння можна визначити невідоме Після перегрупування членів і нескладних перетворень, рівняння (2.10) можна подати у вигляді

У загальному випадку, якщо маємо сегментів, то для знаходження дотичного вектора в точці з’єднання сегментів маємо рівняння з невідомими , за умови, що і нам задані. Дотичні вектори використовують для знаходження коефіцієнтів, які для кожного криволінійного сегмента можна подати у матричному вигляді.

(2.11)

      1. Дослідження гладкості кривої

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

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

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

Одним з традиційних методів задання діапазону параметра – це його нормалізація, а саме приймання для кожного кубічного сегмента, що значно спрощує задачу, оскільки системи (2.10) і (2.11) зводяться до вигляду

, ,

або

,

де матрицю називають матрицею Ерміта, а – геометричний вектор Ерміта.

Криву, задану в формі Ерміта, легко змінювати, якщо враховувати, що напрям вектора дотичної задає початковий напрям, а модуль вектора дотичної задає ступінь витягання кривої в напрямі цього вектора. Як відомо, похідні і пропорційні до одиничних дотичних векторів і на кінцях кривої, а саме

.

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

а) б) в)

Рис. 2.10. Вплив коефіцієнтів на форму кривої

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]