stringtranslate.com

Неявная кривая

Овалы Кассини:
(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 ), обе функциональные формы которых явно указаны и которые зависят от по общему параметру

Примеры неявных кривых включают в себя:

  1. строка : _
  2. круг : _
  3. полукубическая парабола :
  4. овалы Кассини (см. схему),
  5. (см. схему).

Первые четыре примера представляют собой алгебраические кривые, а последний не является алгебраическим. Первые три примера имеют простые параметрические представления, чего нельзя сказать о четвертом и пятом примерах. Пятый пример показывает возможно сложную геометрическую структуру неявной кривой.

Теорема о неявной функции описывает условия, при которых уравнение может быть решено неявно относительно x и/или y , то есть при которых можно правильно записать или . Эта теорема является ключом к вычислению основных геометрических характеристик кривой: касательных , нормалей и кривизны . На практике неявные кривые имеют существенный недостаток: их визуализация затруднена. Но существуют компьютерные программы, позволяющие отобразить неявную кривую. Особые свойства неявных кривых делают их незаменимыми инструментами в геометрии и компьютерной графике.

Неявную кривую с уравнением можно рассматривать как кривую уровня уровня 0 поверхности (см. третью диаграмму).

Наклон и кривизна

В общем, неявные кривые не проходят тест на вертикальную линию (это означает, что некоторые значения x связаны с более чем одним значением y ) и поэтому не обязательно являются графиками функций. Однако теорема о неявной функции дает условия, при которых неявная кривая локально задается графиком функции (поэтому, в частности, она не имеет самопересечений). Если определяющие соотношения достаточно гладкие, то в таких областях неявные кривые имеют четко определенные наклоны, касательные линии, векторы нормалей и кривизну.

Существует несколько возможных способов вычисления этих величин для заданной неявной кривой. Один из методов — использовать неявное дифференцирование для вычисления производных y по x . Альтернативно, для кривой, определяемой неявным уравнением , можно выразить эти формулы непосредственно через частные производные . Далее частные производные обозначаются (для производной по x ), , (для второй части по x ), (для смешанной второй части),

Касательная и вектор нормали

Точка кривой является регулярной , если первые частные производные и не равны 0.

Уравнение касательной в регулярной точке имеет вид

поэтому наклон касательной и, следовательно, наклон кривой в этой точке равен

Если кривая at вертикальна в этой точке, а если и то, и другое, то кривая здесь не дифференцируема, а представляет собой особую точку - либо точку возврата , либо точку, в которой кривая пересекает сама себя.

Вектор нормали к кривой в этой точке определяется выражением

(здесь записано как вектор-строка).

Кривизна

Для удобства чтения формул аргументы опущены. Кривизна в регулярной точке определяется формулой

. [1]

Вывод формул

Теорема о неявной функции гарантирует в окрестности точки существование функции такой, что . По правилу цепочки производные функции равны

и

(где аргументы в правой части второй формулы опущены для удобства чтения).

Подставляя производные функции в формулы тангенса и кривизны графика явного уравнения, получаем

(касательная)
(кривизна).

Преимущества и недостатки неявных кривых

Недостаток

Существенным недостатком неявной кривой является отсутствие простой возможности расчета отдельных точек, необходимой для визуализации неявной кривой (см. следующий раздел).

Преимущества

  1. Неявные представления облегчают вычисление точек пересечения: если одна кривая представлена ​​неявно, а другая параметрически, то вычисление точек пересечения требует только простой (1-мерной) итерации Ньютона, что противоречит случаям неявно-неявно и параметрически-параметрически ( см. «Перекресток »).
  2. Неявное представление дает возможность разделять точки, не лежащие на кривой, знаком . Это может быть полезно, например, при применении метода ложного положения вместо итерации Ньютона.
  3. Легко создать кривые, которые почти геометрически похожи на заданную неявную кривую , просто добавив небольшое число: (см. раздел #Гладкие аппроксимации).

Применение неявных кривых

Гладкая аппроксимация выпуклого многоугольника
Плавное приближение 1) половины круга, 2) пересечения двух кругов

В математике неявные кривые играют важную роль как алгебраические кривые . Кроме того, неявные кривые используются для построения кривых желаемой геометрической формы. Вот два примера.

Гладкие аппроксимации

Выпуклые многоугольники

Гладкая аппроксимация выпуклого многоугольника может быть достигнута следующим образом: Пусть – уравнения прямых, содержащих ребра многоугольника, такие, что внутренняя точка многоугольника положительна. Тогда подмножество неявной кривой

с подходящим малым параметром является гладкой (дифференцируемой) аппроксимацией многоугольника. Например, кривые

для

содержат гладкие аппроксимации многоугольника с 5 ребрами (см. схему).

Пары линий

В случае двух строк

каждый получает

карандаш параллельных линий , если данные прямые параллельны или
пучок гипербол, асимптотами которых являются данные прямые.

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

Другие

Если начать с простых неявных кривых, отличных от линий (кругов, парабол и т. д.), можно получить широкий спектр новых интересных кривых. Например,

(произведение окружности и оси X) дает гладкую аппроксимацию половины круга (см. рисунок), а

(произведение двух окружностей) дает гладкую аппроксимацию пересечения двух окружностей (см. диаграмму).

Смешивание кривых

Кривая смешивания (красная) двух кругов

В САПР используются неявные кривые для создания кривых смешивания, [2] [3] , которые представляют собой специальные кривые, устанавливающие плавный переход между двумя заданными кривыми. Например,

генерирует кривые смешивания между двумя кругами

Метод гарантирует непрерывность касательных и кривизн в точках контакта (см. схему). Две линии

определить точки соприкосновения на окружностях. Параметр — это расчетный параметр. На схеме .

Эквипотенциальные кривые двух точечных зарядов

Эквипотенциальные кривые двух точечных зарядов в синих точках

Эквипотенциальные кривые двух равных точечных зарядов в точках можно представить уравнением

Кривые похожи на овалы Кассини , но они не являются такими кривыми.

Визуализация неявной кривой

Чтобы визуализировать неявную кривую, обычно на кривой определяют многоугольник и отображают его. Для параметрической кривой это простая задача: нужно просто вычислить точки последовательности параметрических значений. Для неявной кривой необходимо решить две подзадачи:

  1. определение первой точки кривой до заданной начальной точки вблизи кривой,
  2. определение точки кривой, начиная с известной точки кривой.

В обоих случаях разумно предположить . На практике это предположение нарушается лишь в отдельных изолированных точках.

Алгоритм точки

Для решения обеих упомянутых выше задач необходимо иметь компьютерную программу (которую мы назовем ), которая по заданной точке вблизи неявной кривой находит точку , находящуюся точно на кривой:

(P1) для начальной точки
(П2) повторить
( Шаг Ньютона для функции )
(P3) до тех пор, пока расстояние между точками не станет достаточно малым.
(P4) — точка кривой рядом с начальной точкой .

Алгоритм трассировки

к алгоритму трассировки: начальные точки выделены зеленым цветом

Чтобы создать на неявной кривой многоугольник, расположенный почти на одинаковом расстоянии друг от друга, необходимо выбрать длину шага и

(T1) выбирает подходящую отправную точку вблизи кривой
(T2) определяет первую точку кривой с помощью программы
(T3) определяет касательную (см. выше), выбирает начальную точку касательной, используя длину шага (см. диаграмму), и определяет вторую точку кривой с помощью программы .

Поскольку алгоритм отслеживает неявную кривую, его называют алгоритмом отслеживания . Алгоритм отслеживает только связанные части кривой. Если неявная кривая состоит из нескольких частей, ее необходимо начинать несколько раз с подходящих начальных точек.

Пример: Иллюстрация растрового алгоритма, примененного к неявной кривой . Кривая (красная) — это то, что пытается нарисовать алгоритм. Растровые точки (черные) используются в качестве отправных точек для поиска ближайших точек на кривой (красные кружки). Расстояние между каждой точкой растра увеличено, чтобы показать отдельные точки кривой; для более точного отслеживания кривой будет использоваться больше растровых точек. [4]

Растровый алгоритм

Если неявная кривая состоит из нескольких или даже неизвестных частей, возможно, лучше использовать алгоритм растеризации . Вместо того, чтобы точно следовать кривой, растровый алгоритм покрывает всю кривую в таком количестве точек, что они сливаются вместе и выглядят как кривая.

(R1) Создайте сеть точек (растр) в интересующей области плоскости xy.
(R2) Для каждой точки растра запустите точечный алгоритм, начиная с P, затем отметьте его результат.

Если сеть достаточно плотная, результат аппроксимирует связанные части неявной кривой. Если для дальнейших приложений необходимы полигоны на кривых, можно проследить интересующие части с помощью алгоритма трассировки.

Неявные пространственные кривые

Любая пространственная кривая , определяемая двумя уравнениями

называется неявной пространственной кривой .

Точка кривой называется регулярной , если векторное произведение градиентов и не находится в этой точке:

в противном случае его называют сингулярным . Вектор - это касательный вектор кривой в точке.

Кривая пересечения сферы и цилиндра

Примеры:

это линия.

представляет собой плоское сечение сферы, следовательно, круг.

представляет собой эллипс (плоское сечение цилиндра).

— это кривая пересечения сферы и цилиндра.

Для расчета точек кривой и визуализации неявной пространственной кривой см. Пересечение .

Смотрите также

Рекомендации

  1. ^ Голдман, Р. (2005). «Формулы кривизны для неявных кривых и поверхностей». Компьютерное геометрическое проектирование . 22 (7): 632–658. CiteSeerX  10.1.1.413.3008 . дои : 10.1016/j.cagd.2005.06.005.
  2. ^ К. Хоффманн и Дж. Хопкрофт: Потенциальный метод смешивания поверхностей и углов в книге Г. Фарина (ред.) Geometric-Modeling , SIAM, Филадельфия, стр. 347-365.
  3. ^ Э. Хартманн: Смешение неявных поверхностей с функциональными сплайнами , CAD, Баттерворт-Хайнеманн, том 22 (8), 1990, стр. 500-507
  4. ^ Г. Таубин: Дистанционные аппроксимации для растрирования неявных кривых. Транзакции ACM в графике, Vol. 13, № 1, 1994.

Внешние ссылки