2014 dxdy logo

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

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




 
 Касательный вектор к кривой и производная по параметру
Сообщение26.02.2014, 15:56 
Помогите, пожалуйста, разобраться, как соотносится вектор производной на концах кривой Эрмита, который задает вручную пользователь, со значением производной этой кривой по параметру 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: Касательный вектор к кривой и производная по параметру
Сообщение28.02.2014, 02:03 
Аватара пользователя
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: Касательный вектор к кривой и производная по параметру
Сообщение28.02.2014, 16:47 
svv, спасибо за подробный ответ! Все встало на свои места.
Получается, учитывать "единицу измерения" нужно в том случае, если кривая Эрмита используется для интерполяции функции $y = f(x)$, когда происходит замена $x$ на параметр $u$ - потому что исходные значения производной заданы для $dy/dx$, а не для $dy/du$. А для геометрического сплайна и $x$, и $y$ изначально задаются через $u$, поэтому с производной все в порядке.

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

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


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