Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




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

Разбираю вот эту лекцию. На страницах 102-103 там дается пример (перевожу):
Цитата:
Пусть концы сегмента сплайна $\mathbf{p}_i = (1, 1)$, $\mathbf{p}_{i+1} = (4, 3)$, тогда
$\frac{du_i}{dx} = \frac{1-0}{4-1} = \frac{1}{3},
\frac{du_i}{dy} = \frac{1-0}{3-1} = \frac{1}{2}$
($u \in [0, 1]$ - параметр).
Пусть векторы касательных $\mathbf{t}_i = \begin{bmatrix}0 \\ 1.5 \end{bmatrix}, \mathbf{t}_{i+1} = \begin{bmatrix}1\\-1 \end{bmatrix}$.
Так как векторы касательных заданы пользователем в виде $\quad\begin{bmatrix}\Delta x \\ \Delta y \end{bmatrix}\quad$, а нам нужны касательные в параметрической форме, векторы касательных должны быть масштабированы:
$Dp_i = \begin{bmatrix}\Delta x \frac{du_i}{dx}, \Delta y \frac{du_i}{dy} \end{bmatrix} = \begin{bmatrix} 0 \\ \frac{3}{4}\end{bmatrix},$
$Dp_{i+1} = \begin{bmatrix} \Delta x \frac{du_{i+1}}{dx}, \Delta y \frac{du_{i+1}}{dy} \end{bmatrix} = \begin{bmatrix} \frac{1}{3}\\ -\frac{1}{2} \end{bmatrix}.$
- и далее в расчетах используются уже $\begin{bmatrix} 0 \\ \frac{3}{4}\end{bmatrix}$ и $\begin{bmatrix} \frac{1}{3}\\ -\frac{1}{2} \end{bmatrix}$

Как получены эти формулы для $Dp_i$ и $Dp{i+1}$ (почему дельты умножают именно на указанные значения, а не на обратные, например) и как эти значения производных соотносятся с другими источниками о сплайнах Эрмита, где ничего не говорится про "масштабирование касательных векторов", а просто дается формула наподобие:
Цитата:
$P(u) = \begin{bmatrix} 1 - 3u^2 + 2u^3 & 3u^2 - 2u^3 & u-2u^2+u^3 & -u^2 + u^3 \end{bmatrix}\begin{bmatrix}\mathbf{P}_0 \\ \mathbf{P}_1 \\ \mathbf{P}^\prime_0 \\ \mathbf{P}^\prime_1\end{bmatrix}$,
где $\mathbf{P}_0, \mathbf{P}_1$ - радиус-векторы конечных точек, $\mathbf{P}^\prime_0, \mathbf{P}^\prime_1$ - векторы, задающие направление касательных в этих точках?

Векторы $\mathbf{P}^\prime_0 = \mathbf{P}^\prime(0)$ и $\mathbf{P}^\prime_1 = \mathbf{P}^\prime(1)$ - это те же самые векторы, что и $\mathbf{t}_i$ и $\mathbf{t}_{i+1}$ из первого примера? Если да, то почему во второй формуле нет масштабирования с учетом $\Delta x$ и $\Delta y$? Если нет, то, опять же, в чем геометрический смысл масштабирования?
Помогите, пожалуйста, выбраться из этих формул. Ломаю голову второй день - верный признак, что все проще, чем я думаю...

 Re: Касательный вектор к кривой и производная по параметру
Аватара пользователя
Sunny
Я не вижу в выкрутасе автора никакого смысла.

Допустим, Вам надо написать графическую программу для редактирования кривых Эрмита. Кривые — «реальные» (задают форму и размер каких-нибудь деталей машин), расстояния между точками выражаются в миллиметрах. Пользователь видит на экране контрольные точки и касательные векторы и может их менять с помощью мышки. А в результате меняется кривая. Ваша задача как программиста — отобразить контрольные точки и касательные векторы на экране.

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

Но в Вашем случае векторы $\mathbf p_0$ и $\mathbf p'_0$ задаются в одних и тех же единицах. В этом играет роль и то, что параметр $u$ безразмерный. Отношение длин этих векторов не зависит ни от базиса, ни от выбора единицы измерения (хотя в других ситуациях могло бы зависеть). Так что автор зря усложняет.

-- Пт фев 28, 2014 01:35:06 --

На всякий случай проверил, что при Вашей формуле для $\mathbf p(u)$ справедливо
$\left.\frac{d\mathbf p(u)}{du}\right|_{u=0}=\mathbf p'_0,\quad \left.\frac{d\mathbf p(u)}{du}\right|_{u=1}=\mathbf p'_1$,
то есть что обозначения этих векторов оправданны. Это значит, что они являтся касательными к кривой в соответствующих точках. Тогда нет никакого смысла считать, что пользователь вводит какие-то другие векторы $\mathbf t$. Пусть вводит сразу $\mathbf p'$.

 Re: Касательный вектор к кривой и производная по параметру
svv, спасибо за подробный ответ! Все встало на свои места.
Получается, учитывать "единицу измерения" нужно в том случае, если кривая Эрмита используется для интерполяции функции $y = f(x)$, когда происходит замена $x$ на параметр $u$ - потому что исходные значения производной заданы для $dy/dx$, а не для $dy/du$. А для геометрического сплайна и $x$, и $y$ изначально задаются через $u$, поэтому с производной все в порядке.

 Re: Касательный вектор к кривой и производная по параметру
Аватара пользователя
Да, верно.

 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group