2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение18.12.2006, 22:30 


31/10/06
18
worm2 писал(а):
,
Это упрощает задачу. Ведь кривые, которые мы хотим параметризовать, в этом случае будут, очевидно, также состоять из прямых отрезков, т.е. будут ломаными.


Да, только конкретная реализация всё равно малопонятна, мне по крайней мере :(

 Профиль  
                  
 
 
Сообщение19.12.2006, 09:51 
Аватара пользователя


09/05/06
115
Цитата:
worm2:
Насчёт параметризации Вы совершенно правильно меня поняли. Если есть система уравнений, описывающая кривую в пространстве F(x,y,z) = 0, G(x, y, z) = 0 (в данном случае первое, например, уравнение, может явяться уравнением Вашего тела вращения), то параметризация --- это запись той же самой кривой в виде x=x(t), y=y(t), z=z(t). Всё правильно, угол можно использовать в качестве параметра. Просто нужно постараться выбрать параметр так, чтобы уравнения были по возможности проще. Иногда для этого удобнее взять не угол, а некоторую функцию от него: t=f(угол). А иногда вообще не удаётся так подобрать параметр t, чтобы x, y и z являлись бы элементарными функциями от t (да что там элементарными --- даже в известных специальных функциях не всегда получается). Так что параметризация --- проблема.

Да я численно всё делаю. Если конус касается (не пересекает, это я там намудрил словами в прошло посте) эллипсоида как плоская кривая, то я могу вычислить эту самую кривую с нужной степенью точности. По набору точек найденных путём решения уравнения со случайными начальными условиями я могу восстановить плоскоть, которая пересекая эддипсоид даёт нам эту самую кривую касания. Зная уравнение плоскости, уравнение эллипсоида и начальную точку кривой можно составить системку из дифференциалов, решением которой будет эта самая кривая. Именно так я поступил, чтобы нарисовать эту кривую и конусы потом. Что это значит. Решая дифуравнения я получаю последовательные координаты кривой касания с любым шагом, я могу определить замыкание кривой, тем самым могу построить параметризацию. Когда я найду все точки замкнутой кривой - это 2*Pi. Теперь я могу их перебирать, точно также я могу сделать и для второй кривой (что тоже видно на картинке) - это уже параметризация по $v$. Ну вот и всё. Фиксируем одно конкретное $u$ и потом перебираем все $v$ от 0 до 2*Pi. Длина получается сама собой как евклидово расстояние от точки T1 до вычисленной точки касание (а у нас есть весь их набор). Также и для второй кривой - длины открезка от точки T2 до неё мы уже знаем. Поэтому я и говорю, что осталось только длину геодезической посчитать - всё остальное уже известно. Потом можно построить график, где меняются $u$ и $v$, а по оси $z$ общая длина. Находим минимум и дело в шляпе. Пытаюсь понять как эти длины посчитать, если нам известны точки на эллипсоиде не в параметрическом виде.

 Профиль  
                  
 
 
Сообщение19.12.2006, 21:13 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
uni писал(а):
Пытаюсь понять как эти длины посчитать, если нам известны точки на эллипсоиде не в параметрическом виде.


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

 Профиль  
                  
 
 
Сообщение19.12.2006, 22:51 
Аватара пользователя


09/05/06
115
Нет, это не так. Численно я нахожу точки касания и упрощения тут никакого нет. Всё можно сделать точно с заранее заданной степенью. Получив таким образом точки на эллипсоиде мне теперь нужно вычислить расстояние по поверхности эллипсоида между двумя конкретными точками из каждого набора. Расстояние - кратчайшее, т.е. геодезическую. Ломанными тут не я предлагал аппроксимировать. Я привёл ссылку на Survey Review 1975 г., где итерационными алгоритмами можно найти длину геодезической между точками, представленными широтами и долготами. Не саму геодезическую поточечно, а её длину между двумя точками. Даже если я пойму как мне посчитать по этим формулам, нарисовать геодезическую я не знаю как, только ориентировочно можно прикинуть, хотя есть возможность ещё через дифсистему находить геодезическую. Проблема в том пока, что я ихний алгоритм пока не осознал, кроме того я не пойму как перевести точки из декартовых координат в долготы и широты, чтобы подставлять в формулы. Более абстрактных и простых формул пока не нашёл. Кое-что привели на экспоненте, но там не поиск длины. Этот выпуск Review единственное, что есть под рукой.

P.S. Но ломанные - тоже вариант. Подумаю как это реализовать.

 Профиль  
                  
 
 
Сообщение20.12.2006, 00:05 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
uni писал(а):
кроме того я не пойму как перевести точки из декартовых координат в долготы и широты, чтобы подставлять в формулы.


Пусть $M_0(x_0,y_0,z_0)$ - центр эллипсоида, векторы $\vec a$, $\vec b$, $\vec c$ - полуоси эллипса (три попарно перпендикулярных вектора, выходящих из центра эллипсоида и оканчивающихся на его поверхности; они также являются собственными векторами квадратичной формы, входящей в уравнение эллипсоида). Тогда долгота $\varphi$ и широта $\theta$ связаны с декартовыми координатами следующим уравнением (в векторной форме; $\vec r=\{x,y,z\}$, $\vec r_0=\{x_0,y_0,z_0\}$):
$$\vec r=\vec r_0+\cos\varphi\cos\theta\vec a+\sin\varphi\cos\theta\vec b+\sin\theta\vec c\text{.}\eqno{(1)}$$
Углы изменяются в пределах $-\pi\leqslant\varphi\leqslant\pi$ (или любой другой удобный промежуток длины $2\pi$) и $-\frac{\pi}2\leqslant\theta\leqslant\frac{\pi}2$.
Для определения углов $\varphi$ и $\theta$ умножаем равенство (1) скалярно на векторы $\vec a$, $\vec b$, $\vec c$. С учётом их попарной ортогональности получим систему уравнений
$$\begin{cases}a^2\cos\varphi\cos\theta=\vec a(\vec r-\vec r_0)\text{,}\\ b^2\sin\varphi\cos\theta=\vec b(\vec r-\vec r_0)\text{,}\\ c^2\sin\theta=\vec c(\vec r-\vec r_0)\text{.}\end{cases}\eqno{(2)}$$

 Профиль  
                  
 
 
Сообщение20.12.2006, 00:39 
Аватара пользователя


09/05/06
115
Насчёт этой системы я в курсе, здорово, спасибо. Дело в том, что я пытался численно решить данную систему в Mathcad, но он что-то там не захотел её решать. Можно ли выразить углы через координаты однозначно я тоже не пробовал делать, думал численно всё получится. Mathcad должен был прийти к ближайшему возможному решению при заданном начальном условии в качестве точки с декартовыми координатами, видимо я где-то ошибся. Будем смотреть.

 Профиль  
                  
 
 
Сообщение20.12.2006, 01:20 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
uni писал(а):
Насчёт этой системы я в курсе, здорово, спасибо. Дело в том, что я пытался численно решить данную систему в Mathcad, но он что-то там не захотел её решать.


Ну зачем её решать численно, она и так хорошо решается:
$$\begin{cases}\theta=\arcsin\frac{\vec c(\vec r-\vec r_0)}{c^2}\text{,}\\ \varphi=\begin{cases}\text{любое, если }\theta=\pm\frac{\pi}2\text{,}\\ \arccos\frac{\vec a(\vec r-\vec r_0)}{a^2\sqrt{1-\sin^2\theta}}\text{, если }\theta\neq\pm\frac{\pi}2\text{ и }\vec b(\vec r-\vec r_0)\geqslant 0\text{,}\\ -\arccos\frac{\vec a(\vec r-\vec r_0)}{a^2\sqrt{1-\sin^2\theta}}\text{, если }\theta\neq\pm\frac{\pi}2\text{ и }\vec b(\vec r-\vec r_0)<0\text{.}\end{cases}\end{cases}$$
Из-за погрешностей округления могут возникать артефакты: дроби, стоящие под знаком арксинуса или арккосинуса, по абслоютной величине могут оказаться больше единицы. Я не знаю, насколько это вероятно, но если такое случится, нужно заменить на ближайшее число $\pm 1$ (точнее, сразу указать соответствующее значение угла).

 Профиль  
                  
 
 
Сообщение20.12.2006, 02:02 
Аватара пользователя


09/05/06
115
Ух ты. Целая проблема отпала. Попробую теперь перевести все найдённые мною точки касательных кривых в углы места и азимуты. Можно пробовать подставлять в забугорные итеративные формулы. Спасибо опять.

 Профиль  
                  
 
 
Сообщение20.12.2006, 02:20 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
uni писал(а):
Ух ты. Целая проблема отпала. Попробую теперь перевести все найдённые мною точки касательных кривых в углы места и азимуты. Можно пробовать подставлять в забугорные итеративные формулы. Спасибо опять.


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

 Профиль  
                  
 
 
Сообщение25.12.2006, 13:33 


09/06/06
367
Предлагаю способ решения на основе теоремы Клеро .
Пусть имеется тело вращения . $q$ - геодезическая на нём.
Тогда в каждой точке $q$ выполняется равенство $r* sin \alpha = const $ .
$r$ - радиус параллели , $\alpha$ - угол между $q$ и меридианом .
Если образующая является ломаной , то данная теорема также верна .
Таким образом , задавая начальное значение $\alpha$ и двигаясь с некоторым шагом
мы приходим к параллели конечной точки . Далее , учитывая отклонение от конечной точки , уменьшаем или увеличиваем $\alpha$ и т.д.
В качестве начального значения можно взять угол между осью вращения и отрезком соединяющим точки . Предполагается , что начальная и конечная точки определены способом предложенным worm2 .

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group