У математицінеявна крива — це плоска крива, яка визначається неявним рівнянням стосовно змінних координат x і y. Наприклад, одиничне коло визначається неявним рівнянням . Взагалі кожна неявна крива визначається рівнянням виду
для деякої функції F двох змінних. Отже, неявну криву можна розглядати як множину нулів функції двох змінних. Неявна означає, що у рівнянні не виражено x через y або навпаки.
Якщо є поліномом двох змінних, відповідна крива називається алгебраїчною кривою, і для її вивчення доступні конкретні методи.
Плоскі криві можуть бути представлені в декартових координатах (координатиx, y) трьома способами, один з яких є неявним рівнянням, наведеним вище. Графік функції зазвичай описується рівнянням , у якому явно зазначено функціональну форму; це називається явним поданням. Третій спосіб опису кривої — параметричний, де x- та y-координати точок кривої представлені двома функціями x(t), y(t), функціональні форми яких явно вказані і які залежать від деякого параметру
Перші чотири приклади — алгебраїчні криві, але остання не є алгебраїчною. Перші три приклади мають прості параметричні представлення, що не можливо для четвертого і п'ятого прикладів. П'ятий приклад показує можливу складну геометричну структуру неявної кривої.
Теорема про неявну функцію описує умови, за яких рівняння може бути розв'язано неявно для x та/або y — тобто під яким можна написати або і ці рівняння будуть задавати ту саму множину. Ця теорема є фундаментальною для обчислення важливих геометричних властивостей кривої: дотичних, нормалей та кривин. На практиці неявні криві мають суттєвий недолік: їх складно візуалізувати. Але є комп'ютерні програми, які дозволяють зобразити неявну криву. Особливі властивості неявних кривих роблять їх важливими засобами в геометрії та комп'ютерній графіці.
Неявна крива з рівнянням може розглядатися як крива рівня 0 поверхні (див. третій рисунок).
Загалом, неявні криві провалюють перевірку вертикальною лінією[en] (це означає, що деякі значення x пов'язані з більш, ніж одним значенням y) і тому не обов'язково є графіками функцій. Проте теорема про неявну функцію дає умови, за яких неявна крива локально задається графом функції (зокрема, вона не має самоперетину). Якщо визначальні співвідношення досить гладкі, то в таких областях неявні криві мають чітко визначені нахили, дотичні, нормальні вектори і кривину.
Існує кілька можливих способів обчислення цих величин для даної неявної кривої. Одним з методів є використання неявного диференціювання для обчислення похідних y відносно x. Для кривої, визначеної неявним рівнянням , похідну можна виразити безпосередньо через часткові похідні. Далі визначаються часткові похідні (для похідної по x), , (для другої похідної по x), (для змішаної похідної другого порядку),
тому кутовий коефіцієнт дотичної, а отже і нахил кривої в цій точці, дорівнює
Якщо в , крива є вертикальною в цій точці, в той час, коли одночасно і , крива не є диференційованою в розглядуваній точці, але замість неї є особлива точка — або касп, або точка, де крива перетинає сама себе.
Нормальний вектор до кривої в точці задається формулою
Неявні представлення полегшують обчислення точок перетину: якщо одна крива представлена неявно, а інша - параметрично, то обчислення точок перетину потребує простої (1-мірної) ітерації Ньютона ( див. Перетин ).
Неявне представлення дає можливість вибору точок кривої незалежно від знаку. Це може бути корисним, наприклад, для застосування методу помилкової позиції замість ітерацій Ньютона.
Легко генерувати криві, які майже геометрично подібні до даної неявної кривої просто додавши невелике число: (див. розділ Гладкі апроксимації).
У математиці неявні криві відіграють важливу роль як алгебраїчні криві. Крім того, неявні криві використовуються для проектування кривих потрібних геометричних форм. Ось два приклади.
Гладкої апроксимації опуклого многокутника можна досягнути наступним чином: нехай - рівняння ліній, що містять ребра багатокутника, такі, що для внутрішньої точки багатокутника додатні. Тоді підмножина неявної кривої
з відповідним малим параметром є гладким (диференційованим) наближення багатокутника.
Наприклад, криві
для
містять гладкі наближення багатокутника з 5 ребрами (див. рисунок).
У САПР використовуються неявні криві для генерації кривих змішування [2][3] ,які є спеціальними кривими, що встановлюють гладкий перехід між двома заданими кривими. Наприклад,
генерує криві змішування між двома колами
Метод гарантує неперервність дотичних та кривих у точках контакту (див. рисунок). Дві лінії
визначають точки дотику кіл. Параметр є конструктивним параметром. На рисунку .
Для візуалізації неявної кривої зазвичай визначається область на кривій і відображається та ж область. Для параметричної кривої це непросте завдання: просто обчислюються точки послідовності параметричних значень. Для неявної кривої необхідно вирішити дві підзадачі:
визначення першої точки кривої відповідно до заданої початкової точки в околі кривої,
визначення точки кривої, починаючи з відомої точки кривої.
В обох випадках доцільно припустити . На практиці це припущення порушується лише в окремих ізольованих точках.
Для вирішення обох вищезазначених завдань необхідно мати комп'ютерну програму (яку ми назвемо ), яка, коли дана точка поблизу неявної кривої, знаходить точку на кривій:
Для того, щоб генерувати майже однаково рознесений полігон на неявній кривій, вибирається довжина кроку і
(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