Овалы Кассини: (1) a=1,1, c=1 (вверху), (2) a=c=1 (в центре), (3) a=1, c=1,05 (внизу)Неявная кривая:Неявная кривая как кривые уровня поверхности
В математике неявная кривая — это плоская кривая , определяемая неявным уравнением, связывающим две координатные переменные, обычно x и y . Например, единичный круг определяется неявным уравнением . В общем случае каждая неявная кривая определяется уравнением вида
для некоторой функции F двух переменных. Следовательно, неявную кривую можно рассматривать как множество нулей функции двух переменных. Неявное означает, что уравнение не выражается как решение ни для x через y , ни наоборот.
Если — полином от двух переменных, соответствующая кривая называется алгебраической кривой , и для ее изучения доступны специальные методы.
Плоские кривые могут быть представлены в декартовых координатах ( координаты x , y ) любым из трех методов, одним из которых является неявное уравнение, приведенное выше. График функции обычно описывается уравнением, в котором явно указана функциональная форма; это называется явным представлением. Третьим существенным описанием кривой является параметрическое описание, где координаты x и y точек кривой представлены двумя функциями x ( t ), y ( t ), обе функциональные формы которых явно указаны и которые зависят от по общему параметру
Первые четыре примера представляют собой алгебраические кривые, а последний не является алгебраическим. Первые три примера имеют простые параметрические представления, чего нельзя сказать о четвертом и пятом примерах. Пятый пример показывает возможно сложную геометрическую структуру неявной кривой.
Теорема о неявной функции описывает условия, при которых уравнение может быть решено неявно относительно x и/или y , то есть при которых можно правильно записать или . Эта теорема является ключом к вычислению основных геометрических характеристик кривой: касательных , нормалей и кривизны . На практике неявные кривые имеют существенный недостаток: их визуализация затруднена. Но существуют компьютерные программы, позволяющие отобразить неявную кривую. Особые свойства неявных кривых делают их незаменимыми инструментами в геометрии и компьютерной графике.
Неявную кривую с уравнением можно рассматривать как кривую уровня уровня 0 поверхности (см. третью диаграмму).
Наклон и кривизна
В общем, неявные кривые не проходят тест на вертикальную линию (это означает, что некоторые значения x связаны с более чем одним значением y ) и поэтому не обязательно являются графиками функций. Однако теорема о неявной функции дает условия, при которых неявная кривая локально задается графиком функции (поэтому, в частности, она не имеет самопересечений). Если определяющие соотношения достаточно гладкие, то в таких областях неявные кривые имеют четко определенные наклоны, касательные линии, векторы нормалей и кривизну.
Существует несколько возможных способов вычисления этих величин для заданной неявной кривой. Один из методов — использовать неявное дифференцирование для вычисления производных y по x . Альтернативно, для кривой, определяемой неявным уравнением , можно выразить эти формулы непосредственно через частные производные . Далее частные производные обозначаются (для производной по x ), , (для второй части по x ), (для смешанной второй части),
Касательная и вектор нормали
Точка кривой является регулярной , если первые частные производные и не равны 0.
Уравнение касательной в регулярной точке имеет вид
поэтому наклон касательной и, следовательно, наклон кривой в этой точке равен
Если кривая at вертикальна в этой точке, а если и то, и другое, то кривая здесь не дифференцируема, а представляет собой особую точку - либо точку возврата , либо точку, в которой кривая пересекает сама себя.
Вектор нормали к кривой в этой точке определяется выражением
(здесь записано как вектор-строка).
Кривизна
Для удобства чтения формул аргументы опущены. Кривизна в регулярной точке определяется формулой
. [1]
Вывод формул
Теорема о неявной функции гарантирует в окрестности точки существование функции такой, что . По правилу цепочки производные функции равны
и
(где аргументы в правой части второй формулы опущены для удобства чтения).
Подставляя производные функции в формулы тангенса и кривизны графика явного уравнения, получаем
(касательная)
(кривизна).
Преимущества и недостатки неявных кривых
Недостаток
Существенным недостатком неявной кривой является отсутствие простой возможности расчета отдельных точек, необходимой для визуализации неявной кривой (см. следующий раздел).
Преимущества
Неявные представления облегчают вычисление точек пересечения: если одна кривая представлена неявно, а другая параметрически, то вычисление точек пересечения требует только простой (1-мерной) итерации Ньютона, что противоречит случаям неявно-неявно и параметрически-параметрически ( см. «Перекресток »).
Неявное представление дает возможность разделять точки, не лежащие на кривой, знаком . Это может быть полезно, например, при применении метода ложного положения вместо итерации Ньютона.
Легко создать кривые, которые почти геометрически похожи на заданную неявную кривую , просто добавив небольшое число: (см. раздел #Гладкие аппроксимации).
Применение неявных кривых
Гладкая аппроксимация выпуклого многоугольникаПлавное приближение 1) половины круга, 2) пересечения двух кругов
В математике неявные кривые играют важную роль как алгебраические кривые . Кроме того, неявные кривые используются для построения кривых желаемой геометрической формы. Вот два примера.
Гладкие аппроксимации
Выпуклые многоугольники
Гладкая аппроксимация выпуклого многоугольника может быть достигнута следующим образом: Пусть – уравнения прямых, содержащих ребра многоугольника, такие, что внутренняя точка многоугольника положительна. Тогда подмножество неявной кривой
с подходящим малым параметром является гладкой (дифференцируемой) аппроксимацией многоугольника. Например, кривые
для
содержат гладкие аппроксимации многоугольника с 5 ребрами (см. схему).
Пары линий
В случае двух строк
каждый получает
карандаш параллельных линий , если данные прямые параллельны или
пучок гипербол, асимптотами которых являются данные прямые.
Например, произведение переменных координатных осей дает пучок гипербол , у которых оси координат являются асимптотами.
Другие
Если начать с простых неявных кривых, отличных от линий (кругов, парабол и т. д.), можно получить широкий спектр новых интересных кривых. Например,
(произведение окружности и оси X) дает гладкую аппроксимацию половины круга (см. рисунок), а
(произведение двух окружностей) дает гладкую аппроксимацию пересечения двух окружностей (см. диаграмму).
Смешивание кривых
Кривая смешивания (красная) двух кругов
В САПР используются неявные кривые для создания кривых смешивания, [2] [3] , которые представляют собой специальные кривые, устанавливающие плавный переход между двумя заданными кривыми. Например,
генерирует кривые смешивания между двумя кругами
Метод гарантирует непрерывность касательных и кривизн в точках контакта (см. схему). Две линии
определить точки соприкосновения на окружностях. Параметр — это расчетный параметр. На схеме .
Эквипотенциальные кривые двух точечных зарядов
Эквипотенциальные кривые двух точечных зарядов в синих точках
Кривые похожи на овалы Кассини , но они не являются такими кривыми.
Визуализация неявной кривой
Чтобы визуализировать неявную кривую, обычно на кривой определяют многоугольник и отображают его. Для параметрической кривой это простая задача: нужно просто вычислить точки последовательности параметрических значений. Для неявной кривой необходимо решить две подзадачи:
определение первой точки кривой до заданной начальной точки вблизи кривой,
определение точки кривой, начиная с известной точки кривой.
В обоих случаях разумно предположить . На практике это предположение нарушается лишь в отдельных изолированных точках.
Алгоритм точки
Для решения обеих упомянутых выше задач необходимо иметь компьютерную программу (которую мы назовем ), которая по заданной точке вблизи неявной кривой находит точку , находящуюся точно на кривой:
(P3) до тех пор, пока расстояние между точками не станет достаточно малым.
(P4) — точка кривой рядом с начальной точкой .
Алгоритм трассировки
к алгоритму трассировки: начальные точки выделены зеленым цветом
Чтобы создать на неявной кривой многоугольник, расположенный почти на одинаковом расстоянии друг от друга, необходимо выбрать длину шага и
(T1) выбирает подходящую отправную точку вблизи кривой
(T2) определяет первую точку кривой с помощью программы
(T3) определяет касательную (см. выше), выбирает начальную точку касательной, используя длину шага (см. диаграмму), и определяет вторую точку кривой с помощью программы .
Поскольку алгоритм отслеживает неявную кривую, его называют алгоритмом отслеживания . Алгоритм отслеживает только связанные части кривой. Если неявная кривая состоит из нескольких частей, ее необходимо начинать несколько раз с подходящих начальных точек.
Пример: Иллюстрация растрового алгоритма, примененного к неявной кривой . Кривая (красная) — это то, что пытается нарисовать алгоритм. Растровые точки (черные) используются в качестве отправных точек для поиска ближайших точек на кривой (красные кружки). Расстояние между каждой точкой растра увеличено, чтобы показать отдельные точки кривой; для более точного отслеживания кривой будет использоваться больше растровых точек. [4]
Растровый алгоритм
Если неявная кривая состоит из нескольких или даже неизвестных частей, возможно, лучше использовать алгоритм растеризации . Вместо того, чтобы точно следовать кривой, растровый алгоритм покрывает всю кривую в таком количестве точек, что они сливаются вместе и выглядят как кривая.
(R1) Создайте сеть точек (растр) в интересующей области плоскости xy.
(R2) Для каждой точки растра запустите точечный алгоритм, начиная с P, затем отметьте его результат.
Если сеть достаточно плотная, результат аппроксимирует связанные части неявной кривой. Если для дальнейших приложений необходимы полигоны на кривых, можно проследить интересующие части с помощью алгоритма трассировки.
^ Голдман, Р. (2005). «Формулы кривизны для неявных кривых и поверхностей». Компьютерное геометрическое проектирование . 22 (7): 632–658. CiteSeerX 10.1.1.413.3008 . дои : 10.1016/j.cagd.2005.06.005.
^ К. Хоффманн и Дж. Хопкрофт: Потенциальный метод смешивания поверхностей и углов в книге Г. Фарина (ред.) Geometric-Modeling , SIAM, Филадельфия, стр. 347-365.
^ Э. Хартманн: Смешение неявных поверхностей с функциональными сплайнами , CAD, Баттерворт-Хайнеманн, том 22 (8), 1990, стр. 500-507
^ Г. Таубин: Дистанционные аппроксимации для растрирования неявных кривых. Транзакции ACM в графике, Vol. 13, № 1, 1994.
Гомес А., Войкулеску И., Хорхе Дж., Уивилл Б., Гэлбрейт К.: Неявные кривые и поверхности: математика, структуры данных и алгоритмы , 2009, Springer-Verlag London, ISBN 978-1-84882 -405-8