Неявна крива
У математиці неявна крива — це плоска крива, яка визначається неявним рівнянням стосовно змінних координат x і y. Наприклад, одиничне коло визначається неявним рівнянням . Взагалі кожна неявна крива визначається рівнянням виду
для деякої функції F двох змінних. Отже, неявну криву можна розглядати як множину нулів функції двох змінних. Неявна означає, що у рівнянні не виражено x через y або навпаки.
Якщо є поліномом двох змінних, відповідна крива називається алгебраїчною кривою, і для її вивчення доступні конкретні методи.
Плоскі криві можуть бути представлені в декартових координатах (координати x, y) трьома способами, один з яких є неявним рівнянням, наведеним вище. Графік функції зазвичай описується рівнянням , у якому явно зазначено функціональну форму; це називається явним поданням. Третій спосіб опису кривої — параметричний, де x- та y-координати точок кривої представлені двома функціями x(t), y(t), функціональні форми яких явно вказані і які залежать від деякого параметру
Приклади неявних кривих:
- пряма:
- коло:
- напівкубічна парабола:
- овали Кассіні: (див. рисунок),
- (див. рисунок).
Перші чотири приклади — алгебраїчні криві, але остання не є алгебраїчною. Перші три приклади мають прості параметричні представлення, що не можливо для четвертого і п'ятого прикладів. П'ятий приклад показує можливу складну геометричну структуру неявної кривої.
Теорема про неявну функцію описує умови, за яких рівняння може бути розв'язано неявно для x та/або y — тобто під яким можна написати або і ці рівняння будуть задавати ту саму множину. Ця теорема є фундаментальною для обчислення важливих геометричних властивостей кривої: дотичних, нормалей та кривин. На практиці неявні криві мають суттєвий недолік: їх складно візуалізувати. Але є комп'ютерні програми, які дозволяють зобразити неявну криву. Особливі властивості неявних кривих роблять їх важливими засобами в геометрії та комп'ютерній графіці.
Неявна крива з рівнянням може розглядатися як крива рівня 0 поверхні (див. третій рисунок).
Нахил і кривина
Загалом, неявні криві провалюють перевірку вертикальною лінією (це означає, що деякі значення x пов'язані з більш, ніж одним значенням y) і тому не обов'язково є графіками функцій. Проте теорема про неявну функцію дає умови, за яких неявна крива локально задається графом функції (зокрема, вона не має самоперетину). Якщо визначальні співвідношення досить гладкі, то в таких областях неявні криві мають чітко визначені нахили, дотичні, нормальні вектори і кривину.
Існує кілька можливих способів обчислення цих величин для даної неявної кривої. Одним з методів є використання неявного диференціювання для обчислення похідних y відносно x. Для кривої, визначеної неявним рівнянням , похідну можна виразити безпосередньо через часткові похідні . Далі визначаються часткові похідні (для похідної по x), , (для другої похідної по x), (для змішаної похідної другого порядку),
Дотична і нормальний вектор
Точка кривої називається регулярною, якщо перші часткові похідні і в ній одночасно не дорівнюють 0.
Рівняння дотичної в регулярній точці має вигляд
тому кутовий коефіцієнт дотичної, а отже і нахил кривої в цій точці, дорівнює
Якщо в , крива є вертикальною в цій точці, в той час, коли одночасно і , крива не є диференційованою в розглядуваній точці, але замість неї є особлива точка — або касп, або точка, де крива перетинає сама себе.
Нормальний вектор до кривої в точці задається формулою
(тут написано як вектор лінії).
Кривина
Для читабельності формул аргументи опустимо. Кривина у регулярній точці задається формулою
- .[1]
Виведення формул
Теорема про неявну функцію стверджує, що в межах околу точки існує функція така, що . За правилом диференціювання складеної функції похідні функції такі
- і
(аргументи у правій частині другої формули опущені для зручності читання).
Підставимо похідні функції у формули для дотичної та кривизни явного рівняння , отримаємо
- (дотична)
- (кривизна).
Переваги і недоліки неявних кривих
Недолік
Істотним недоліком неявної кривої є відсутність простої можливості обчислення окремих точок, необхідних для візуалізації неявної кривої.
Переваги
- Неявні представлення полегшують обчислення точок перетину: якщо одна крива представлена неявно, а інша - параметрично, то обчислення точок перетину потребує простої (1-мірної) ітерації Ньютона ( див. Перетин ).
- Неявне представлення дає можливість вибору точок кривої незалежно від знаку. Це може бути корисним, наприклад, для застосування методу помилкової позиції замість ітерацій Ньютона.
- Легко генерувати криві, які майже геометрично подібні до даної неявної кривої просто додавши невелике число: (див. розділ Гладкі апроксимації).
Застосування неявних кривих
У математиці неявні криві відіграють важливу роль як алгебраїчні криві. Крім того, неявні криві використовуються для проектування кривих потрібних геометричних форм. Ось два приклади.
Опуклі багатокутники
Гладкої апроксимації опуклого многокутника можна досягнути наступним чином: нехай - рівняння ліній, що містять ребра багатокутника, такі, що для внутрішньої точки багатокутника додатні. Тоді підмножина неявної кривої
з відповідним малим параметром є гладким (диференційованим) наближення багатокутника. Наприклад, криві
- для
містять гладкі наближення багатокутника з 5 ребрами (див. рисунок).
Пари ліній
У випадку двох ліній
отримуємо
- рівняння паралельних ліній , якщо задані лінії є паралельними або
- рівняння гіпербол, які мають задані лінії як асимптоти.
Наприклад, добуток координат осей дає рівняння гіпербол , для яких осі координат є асимптотами.
Інше
Якщо починати з простих неявних кривих, відмінних від ліній (кола, параболи, ...), то отримуємо широкий спектр нових цікавих кривих. Наприклад,
(добуток кола і осі x) дає гладкі наближення однієї половини кола (див. рисунок), і
(добуток двох кіл) дає гладкі наближення перетину двох кіл (див. рисунок).
Криві змішування
У САПР використовуються неявні криві для генерації кривих змішування [2] [3] ,які є спеціальними кривими, що встановлюють гладкий перехід між двома заданими кривими. Наприклад,
генерує криві змішування між двома колами
Метод гарантує неперервність дотичних та кривих у точках контакту (див. рисунок). Дві лінії
визначають точки дотику кіл. Параметр є конструктивним параметром. На рисунку .
Еквіпотенціальні криві двох точкових зарядів
Еквіпотенціальні криві двох рівних точкових зарядів у точках може бути представлена рівнянням
Криві подібні до овалів Cassini, але вони не є такими кривими.
Візуалізація неявної кривої
Для візуалізації неявної кривої зазвичай визначається область на кривій і відображається та ж область. Для параметричної кривої це непросте завдання: просто обчислюються точки послідовності параметричних значень. Для неявної кривої необхідно вирішити дві підзадачі:
- визначення першої точки кривої відповідно до заданої початкової точки в околі кривої,
- визначення точки кривої, починаючи з відомої точки кривої.
В обох випадках доцільно припустити . На практиці це припущення порушується лише в окремих ізольованих точках.
Алгоритм точки (точковий алгоритм)
Для вирішення обох вищезазначених завдань необхідно мати комп'ютерну програму (яку ми назвемо ), яка, коли дана точка поблизу неявної кривої, знаходить точку на кривій:
- (P1) для початкової точки
- (P2) , повтор
-
- ( Крок Ньютона для функції
-
- (P3) поки відстані між точками досить малі.
- (P4) - точка кривої поблизу початкової точки .
Алгоритм трасування
Для того, щоб генерувати майже однаково рознесений полігон на неявній кривій, вибирається довжина кроку і
- (T1) вибирається відповідна початкова точка поблизу кривої
- (T2) визначається перша точка кривої за допомогою програми
- (T3) визначається напрямляючий вектор, вибирається початкова точка дотичної з використанням довжини кроку (див. малюнок) і визначається друга точка кривої за допомогою програми .
Оскільки алгоритм трасує неявну криву, він називається алгоритмом трасування. Алгоритм простежує лише зв'язані частини кривої. Якщо неявна крива складається з декількох частин, алгоритм потрібно запускати кілька разів з відповідними вихідними точками.
Растровий алгоритм
Якщо неявна крива складається з декількох або навіть невідомих частин, краще використовувати алгоритм растеризації. Замість того, щоб точно слідувати за кривою, алгоритм растру охоплює всю криву на стільки точок, що вони змішуються і виглядають як крива.
- (R1) Створіть мережу точок (растру) на ділянці площини xy.
- (R2) Для кожної точки у растрі запустіть алгоритм точки починаючи з P, позначте його вихід.
Якщо мережа достатньо щільна, результат наближається до з'єднаних частин неявної кривої.
Неявні криві у просторі
Будь-яка просторова крива, яка визначається двома рівняннями
називається неявною кривою у просторі.
Точка кривої називається регулярною, якщо векторний добуток градієнтів і не для неї:
інакше вона називається сингулярною. Вектор називають дотичним вектором кривої в точці
Приклади:
- - пряма.
- - плоский розріз сфери, отже, коло.
- - еліпс (плоский переріз циліндра).
- - крива перетину сфери та циліндра.
Для обчислення точок кривих і візуалізації неявних просторових кривих див Перетин.
Список літератури
- Goldman, R. (2005). Curvature formulas for implicit curves and surfaces. Computer Aided Geometric Design 22 (7): 632. doi:10.1016/j.cagd.2005.06.005.
- C. Hoffmann & J. Hopcroft: Метод потенціалу для змішування поверхонь і кутів у G. Farin (Ed) Geometric-Modeling , SIAM, Philadelphia, pp. 347-365
- E. Hartmann: Змішування неявних поверхонь з функціональними сплайнами , CAD, Butterworth-Heinemann, том 22 (8), 1990, p. 500-507
- Г. Таубін: Дистанційні апроксимації растрових неявних кривих. ACM Transactions on Graphics, Vol. 13, №1, 1994.
- Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms, 2009, Springer-Verlag London, ISBN 978-1-84882-405-8
- C:L: Bajaj, C.M. Hoffmann, R.E. Lynch: Tracing surface intersections, Comp. Aided Geom. Design 5 (1988), 285-307.
- Geometry and Algorithms for COMPUTER AIDED DESIGN