Пифагорова годографная кривая
Пифагорова годографная кривая В математике пифагорова годографная кривая (или PH-кривая) — это кривая, заданная полиномиальным параметрическим уравнением, для которой скорость (производная длины дуги) также имеет полиномиальное параметрическое уравнение. Это позволяет вычислить саму длину дуги интегрированием скорости. Кроме того, деление на скорость даёт рациональную параметризацию единичной нормали к кривой, а также параллельных кривых к исходной. Благодаря этим свойствам PH-кривые исследуются для использования в качестве сплайнов в геометрическом моделировании.
Термин «годограф» здесь означает производную. Кривые называются пифагоровыми, так как их производные удовлетворяют уравнению, аналогичному теореме Пифагора.
- Плоские кривые
Плоская кривая с полиномиальной параметризацией \((x(t), y(t))\) является пифагоровой годографной кривой, если существует полином \(\sigma(t)\), удовлетворяющий уравнению теоремы Пифагора: \[ \sigma(t)^2 = x'(t)^2 + y'(t)^2. \] Здесь \(\sigma(t)\) — скорость движения точки, занимающей положение \((x(t), y(t))\) в момент времени \(t\).
- Вещественная характеризация
Кривые такого вида могут быть сгенерированы по формуле, аналогичной формуле для пифагоровых троек. Пусть \(u(t)\), \(v(t)\) и \(w(t)\) — произвольные полиномы, и заданы соотношения: \[ \begin{align} x'(t) &= \bigl(u(t)^2 - v(t)^2\bigr)w(t), \\ y'(t) &= 2u(t)v(t)w(t), \\ \sigma(t) &= \bigl(u(t)^2 + v(t)^2\bigr)w(t). \end{align} \] Тогда эти полиномы удовлетворяют уравнению, определяющему PH-кривую, а сама параметризация \((x(t), y(t))\) может быть получена интегрированием \(x'(t)\) и \(y'(t)\). Любая PH-кривая имеет такую форму.
- Комплексная характеризация
Более простая альтернативная формулировка применима к регулярным PH-кривым, у которых производная не обращается в ноль на рассматриваемом интервале параметров. Она использует комплексную плоскость, где кривая может быть описана одним параметрическим уравнением \(r(t)\). Для любой регулярной кривой \(r(t)\) кривая \[ \hat{r}(t) = \int r'(t)^2 \, dt \] определяет PH-кривую, и любая PH-кривая может быть получена таким способом.
- Примеры
Прямая, параметризованная линейными функциями \(x(t)\) и \(y(t)\), автоматически является PH-кривой. Её скорость — константа (полином нулевой степени).
Не существует квадратичных PH-кривых.
Простейшие нетривиальные PH-кривые — кубические. Они могут быть заданы как кривые Безье, определённые контрольными точками \(u_1, u_2, u_3, u_4\), для которых треугольники \(u_1u_2u_3\) и \(u_2u_3u_4\) подобны. Альтернативно, если эти точки принадлежат комплексной плоскости, а разности между ними заданы как \(e_i = u_{i+1} - u_i\), то должно выполняться условие \(e_1e_3 = e_2^2\).
- Длина дуги
Единственная кривая, допускающая параметризацию рациональными функциями с постоянной скоростью, — это прямая. Вычисление длины дуги для многих типов кривых является сложной задачей, и точные формулы известны лишь для некоторых специальных случаев. Например, даже для эллипса нет замкнутого выражения для периметра — он выражается через эллиптический интеграл. Однако для PH-кривых длина дуги может быть найдена интегрированием скорости \(\sigma(t)\).
- Касательные, нормали и смещения
Единичный касательный вектор к PH-кривой получается делением параметризации на скорость, а единичный нормальный вектор — поворотом касательного вектора на 90°. Это даёт рациональную параметризацию вместо полиномиальной. Параллельные кривые к PH-кривой могут быть получены как линейные комбинации параметризации исходной кривой и её нормального вектора.
- Трёхмерные кривые
Пространственная кривая с полиномиальной параметризацией \((x(t), y(t), z(t))\) является PH-кривой, если существует полином \(\sigma(t)\), удовлетворяющий уравнению: \[ \sigma(t)^2 = x'(t)^2 + y'(t)^2 + z'(t)^2. \] Такие кривые могут быть сгенерированы с использованием полиномов над кватернионами аналогично тому, как плоские PH-кривые строятся с помощью комплексных полиномов.