2014 dxdy logo

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

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




 
 Формулы преобразования координат
Сообщение02.10.2014, 19:11 
Аватара пользователя
Уважаемые математики, не поможете ли разобраться в следующей задаче.
В геодезии формулы преобразования координат из одной прямоугольной системы координат в другую прямоугольную систему координат имеют вид:

$\begin{cases}
x’_j=x’_{j-1}+(x_j-x_{j-1})\cdot K_1-(y_j-y_{j-1})\cdot K_2; \\
y’_j=y’_{j-1}+(y_j-y_{j-1})\cdot K_1+(x_j-x_{j-1})\cdot K_2;\\
\end{cases}$

где $K_1=m\cdot \cos \theta; K_2=m\cdot \sin \theta;$

$m=\frac{S_{\text{нов}}}{S_{\text{ст}}}$

$m$ -- так называемый масштабный множитель, $\theta=\alpha_{\text{нов}}-\alpha_{\text{ст}}$ -- угол разворота; $\alpha$ -- дирекционный угол, т.е. угол, отсчитываемый по часовой стрелке от некоторого абстрактного северного направления до данного направления. Обычно он определяется по обратной геодезической задаче $0<\alpha<360^{\circ}=\arctg \frac{y_2-y_1}{x_2-x_1}$ с учетом четверти (в этом отличие дирекционного угла от румба).

Эти формулы можно найти например в книжке "Земельно-кадастровые геодезические работы", Москва, 2006 г., стр. 15-16.

Формулы отталкиваются от двух так называемых связующих точек, координаты которых известны как в старой, так и в новой системе координат. $M_1(x_1;y_1), M(x_2;y_2), M’_1(x’_1;y’_1), M’_2(x’_2;y’_2).$ Кроме того имеется набор точек, координаты которых известны только в старой системе координат: $M_3(x_3;y_3),\ldots, M_n(x_n;y_n).$ Требуется найти координаты этих точек в новой системе координат.

Обычно интересно бывает построить мат. модель задачи, мне же здесь нужно обратное --понять, что это преобразование представляет собой с точки зрения математики. Вначале мне показалось, что все ясно: $m$ -- коэффициент гомотетии, в коэффициентах $K_1$ и $K_2$ спрятаны формулы поворота (который называется почему-то разворотом ) на угол $\theta$
$\left(\begin{array}{cc}
\cos \theta & -\sin \theta \\
\sin \theta & \cos \theta \\
\end{array}\right).$

Теперь $x’_{j-1}$ и $y’_{j-1}$ -- это ведь не перенос начала координат в новую точку? Что вообще задают рекуррентные соотношения?

И, если можно, разобрать на конкретном примере. Пусть имеются две связующие точки:

$M_1(1;4), M’_1(13; 0,1), M_2(-1;2), M’_2(5; 0,5)$

Теперь я хочу найти матрицу преобразования:

$\left(\begin{array}{cc}
a_{11} & a_{12}\\
a_{21} & a_{22}\\ 
\end{array}\right)\cdot \left(\begin{array}{c}1 \\
4\\
\end{array}\right)= \left(\begin{array}{c} 13 \\
0,1 \\
\end{array}\right)$

$\left(\begin{array}{cc}
a_{11} & a_{12}\\
a_{21} & a_{22}\\ 
\end{array}\right)\cdot \left(\begin{array}{c}-1 \\
2\\
\end{array}\right)= \left(\begin{array}{c} 5 \\
0,5 \\
\end{array}\right)$

Решая систему однозначно определяем коэффициенты: $a_{11}=1; a_{12}=3; a_{21}=-3/10; a_{22}=1/10;$

$A=\left(\begin{array}{cc}
1 & 3\\
-0,3 & 0,1\\ 
\end{array}\right)$

Для простоты примера я специально подобрал связующие точки так, чтобы матрица преобразования получилась ортогональной, $|A|=1.$

$|M_1M_2|=\sqrt{2^2+2^2}=\sqrt{8};  |M’_1M’_2|=\sqrt{(-8)^2+0,16}\approx 8,01.$

откуда $m=\frac{8,01}{\sqrt{8}}\approx \sqrt{8}.$

$r_{\text{ст}}=\frac{2-4}{-1-1}=\arctg 0,5\approx 26,565^{\circ}$ это III четверть, поэтому $\alpha_{\text{ст.}}\approx 206,565^{\circ}$

$r_{\text{нов}}=\frac{0,5-0,1}{5-13}=-\arctg 0,05\approx -2,862^{\circ}$ это II четверть, поэтому $\alpha_{\text{ст.}}\approx 177,138^{\circ}$

Следовательно, $\theta =177,138-206,565=-29,427^{\circ}.$

Теперь вопросы:

1.Что означает рекуррентность соотношений в этих формулах с точки зрения математики?

2. Из-за чего нельзя воспользоваться матричным преобразованием в общем виде? Из-за того, что нарушится условие ортогональности осей, т.е. ПСК может перейти в какую-то косоугольную систему координат?

3. Можно ли для приведенного примера дать ясную геометрическую интерпретацию? Например, что это композиция поворота, гомотетии и параллельного переноса? Если это возможно, то в какой литературе можно посмотреть о разложении матрицы в композицию преобразований и как вообще выделить параллельный перенос? Или, может быть, эти формулы вообще что-то другое делают с точками? как они вообще были получены?

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

 
 
 
 Re: Формулы преобразования координат
Сообщение02.10.2014, 20:20 
rabbit-a в сообщении #914619 писал(а):
Что вообще задают рекуррентные соотношения?
Вы же эти иксы-игреки так и не описали, так что остальные тоже не в курсе. :roll:

rabbit-a в сообщении #914619 писал(а):
Из-за чего нельзя воспользоваться матричным преобразованием в общем виде? Из-за того, что нарушится условие ортогональности осей, т.е. ПСК может перейти в какую-то косоугольную систему координат?
Матрицей можно задать любое линейное преобразование, так что нет. Скорее всего, матрицы использовать можно, но описание недостаточно ясно, чтобы сказать точно.

 
 
 
 Re: Формулы преобразования координат
Сообщение02.10.2014, 21:23 
rabbit-a в сообщении #914619 писал(а):
$\begin{cases}
x’_j=x’_{j-1}+(x_j-x_{j-1})\cdot K_1-(y_j-y_{j-1})\cdot K_2; \\
y’_j=y’_{j-1}+(y_j-y_{j-1})\cdot K_1+(x_j-x_{j-1})\cdot K_2;\\
\end{cases}$

где $K_1=m\cdot \cos \theta; K_2=m\cdot \sin \theta;$


Введем обозначения:
$\mathbf{x}_i=\begin{pmatrix}x_i\\y_i\end{pmatrix}$ - координаты точки (аналогично $\mathbf{x'}_i$)
$\mathbf{s}_i=\mathbf{x}_i-\mathbf{x}_{i-1}$ - вектор перемещения (аналогично $\mathbf{s'}_i$)
$\mathbf{K}=\begin{pmatrix}K_1&-K_2\\K_2&K_1\end{pmatrix}=m\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}$

Теперь эти формулы можно переписать как $\mathbf{s'}_i=\mathbf{K}\mathbf{s}_i$. В высшей степени матрично.

Геометрический смысл в том, что матричное преобразование в этой задаче действует на вектора, а не на координаты. То есть когда вы преобразуете каждый отрезок пути, вы временно помещаете начало координат в начало этого отрезка как в исходной, так и в штрихованной системе, а затем применяете поворот и гомотетию. А начало этого отрезка - это конец предыдущего отрезка, поэтому построение происходит по цепочке, отсюда и рекуррентность.
В вашем примере матрица преобразования находится из уравнения $M'_2-M'_1=\mathbf{K}(M_2-M_1)$, которое превращается в систему двух уравнений с двумя неизвестными $m$ и $\theta$. Неудивительно, что ее решение в общем виде сведется к процитированным вами формулам про отношение длин и арктангенс угла.

В вашем решении получилась другая матрица, потому что вы преобразовывали не вектора, а сами точки. При этом геометрический смысл другой - такое линейное преобразование всегда переводит начало координат в начало координат. То есть вместо условия на ортогональность вы решали задачу с другим дополнительным условием на начало координат - найти линейное преобразование, переводящее треугольник $OM_1M_2$ в треугольник $O'M'_1M'_2$. Оно, кстати, получилось неортогональным, простого равенства определителя единице для ортогональности мало. И, естественно, это другое преобразование, чем в прошлом абзаце.

 
 
 
 Re: Формулы преобразования координат
Сообщение02.10.2014, 21:25 
Аватара пользователя
rabbit-a в сообщении #914619 писал(а):
Теперь $x’_{j-1}$ и $y’_{j-1}$ -- это ведь не перенос начала координат в новую точку?

Ровно он и есть.

rabbit-a в сообщении #914619 писал(а):
1.Что означает рекуррентность соотношений в этих формулах с точки зрения математики?

Абсолютно ничего. Скорее всего, её причина чисто техническая.

Мои предположения:
1. В геодезии при измерениях на местности трудно добиться измерения больших расстояний с малой ошибкой, а при измерении малых расстояний добиться малой ошибки легче.
2. При расчётах с большими расстояниями накапливается большая ошибка вычислений, а если вести расчёты с малыми расстояниями, то ошибка вычислений меньше.

rabbit-a в сообщении #914619 писал(а):
2. Из-за чего нельзя воспользоваться матричным преобразованием в общем виде?

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

rabbit-a в сообщении #914619 писал(а):
3. Можно ли для приведенного примера дать ясную геометрическую интерпретацию? Например, что это композиция поворота, гомотетии и параллельного переноса?

Да, причём вы легко можете сделать это сами. Подсказка: параллельных переносов два.

rabbit-a в сообщении #914619 писал(а):
Если это возможно, то в какой литературе можно посмотреть о разложении матрицы в композицию преобразований

В любом учебнике по линейной алгебре. Или как вариант - в учебниках по теории матриц.

 
 
 
 Re: Формулы преобразования координат
Сообщение02.10.2014, 21:55 
Да, кстати, если сложить исходные уравнения по цепочке в столбик, от рекуррентности можно избавиться:
$\begin{cases}
x’_j=x’_1+(x_j-x_1)\cdot K_1-(y_j-y_1)\cdot K_2; \\
y’_j=y’_1+(y_j-y_1)\cdot K_1+(x_j-x_1)\cdot K_2;\\
\end{cases}$

 
 
 
 Re: Формулы преобразования координат
Сообщение02.10.2014, 22:11 
Аватара пользователя
Я вот тут подумал, что может быть, только при $m=1.$

 
 
 
 Re: Формулы преобразования координат
Сообщение03.10.2014, 00:27 
Из матричной записи видно, что при любом $\mathbf{K}$.

На самом деле геометрически это почти очевидно. Исходные формулы зависят только от разностей координат, то есть не меняются при сдвиге начала координат. Это означает, что без ограничения общности можно рассмотреть случай $x_1=y_1=x'_1=y'_1=0$. А тогда просто $\mathbf{x'}_i=\mathbf{K}\mathbf{x}_i$.

 
 
 
 Re: Формулы преобразования координат
Сообщение03.10.2014, 02:30 
Аватара пользователя
А, точно. Что-то меня переклинило. Все векторы $\mathbf{s}_i$ поворачиваются одинаково и независимо друг от друга. Поэтому и их сумма по правилу многоугольника - тоже.

 
 
 
 Re: Формулы преобразования координат
Сообщение03.10.2014, 19:22 
Аватара пользователя
Спасибо большое, уважаемый tolstopuz, так просто и наглядно все объяснили!! Очень признателен. Большое спасибо и Munin за ценные замечания - не первый раз помогаете мне разобраться! А как Вы догадались, что преобразование действует на векторы, а не на точки? (т.е. это следует из того, что начало координат каждый раз переносится в новую точку?!?) И еще - разве матрица из моего примера не ортогональна? У нее ведь не просто определитель равен единице, а векторы-строчки ортогональны - нас учили, что этого достаточно для ортогональности, а какое тогда достаточное условие ортогональности?

 
 
 
 Re: Формулы преобразования координат
Сообщение03.10.2014, 19:45 
rabbit-a в сообщении #914872 писал(а):
А как Вы догадались, что преобразование действует на векторы, а не на точки?
Это же геодезические работы, в них начало координат не имеет физического смысла. Смысл есть у расстояний и углов. Ну и при взгляде на уравнения сразу видно, что они не зависят от начала координат.
rabbit-a в сообщении #914872 писал(а):
И еще - разве матрица из моего примера не ортогональна? У нее ведь не просто определитель равен единице, а векторы-строчки ортогональны - нас учили, что этого достаточно для ортогональности, а какое тогда достаточное условие ортогональности?
Должны быть ортонормированы.

 
 
 
 Re: Формулы преобразования координат
Сообщение03.10.2014, 22:27 
Аватара пользователя
Да, забавная маленькая несостыковка между словами "ортогональный" и "ортонормированный". Матрица, переводящая ортонормированный базис в ортонормированный, называется ортогональной, а матрица, переводящая ортогональный базис в ортогональный, вообще никак особо не называется.

 
 
 
 Re: Формулы преобразования координат
Сообщение04.10.2014, 20:14 
Аватара пользователя
Ясно, т.е. нужно было еще разделить вектор на его норму. Спасибо большое всем за обсуждение.

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


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