Математический форум Math Help Planet
http://mathhelpplanet.com/

Касательная плоскость к сферам
http://mathhelpplanet.com/viewtopic.php?f=33&t=33032
Страница 2 из 3

Автор:  vvvv [ 08 май 2014, 17:53 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Dotsent, про какую линейку вы глаголите?
И, вообще, раздел называется Аналитическая геометрия и векторная алгебра.

Автор:  gashik [ 26 май 2014, 22:32 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Li6-D
vvvv
Dotsent
Спасибо большое, помогли направить в правильное русло, со сферой разобрался, но решил усложнить задачу и вместо большой сферы взял эллипсоид, как более приближенный к модели Земли, все решил с помощью системы алгебраических уравнений плоскости, сфер и эллипсоида. Так как подстановкой получить результат не представлялось возможным(две точки плоскости как раз и нужны были, все сокращалось), довел уравнения от разных параметров (x,y,z) до одной переменной и далее решал его оптимизационными методами. Поскольку уравнения от x и y получались 4й степени решение было через комплексные числа для поиска точек пересечения малых сфер с эллипсоидом(их было много). Получал массив точек с точностью в 10 метров, и далее через углы между плоскостями искал плоскости, касающиеся этой результирующей поверхности (сфера П эллипсоид). Понимаю, что метод не очень изящный и довольно много затрачивает ресурсов, но более точного аналитического способа без методов оптимизации и дихотомического поиска не придумал. Другие способы давали большую погрешность. Я решил пожертвовать производительностью за точность, со сферой все действительно проще, но с эллипсоидом не получится составить единую формулу расчета касательной точки. Проблема была в том, что я не сказал об одном моменте, извините. Плоскость должна была касаться именно результирующей поверхности (пересечение сферы и эллипсоида(большой сферы)) - такая неравномерно изогнутая окружность, то есть по сути плоскость сферу пересекает снизу и проходит через точку сферы, которая точно на поверхности эллипсоида. То есть была необходимость находить либо уравнение этой поверхности (что в случае со сферой, а не эллипсоидом - окружность и все просто), либо находить точки пересечения перебором после упрощения системы, что я и сделал, ибо формулу такой поверхности найти мне кажется нельзя.

Автор:  gashik [ 30 май 2014, 17:01 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Li6-D
Хм, если бы нужно было масштабировать меньшие сферы, то это еще хорошо, так как от них ничего не зависит, но при масштабировании эллипсоида сдвинутся все точки центров сфер, причем не понятно на сколько, так как изменение по Z точек эллипсоида будет не равномерным. К тому же последующая коррекция координаты полученной точки касания будет по оси Z, но значения X и Y придется определять опять же либо поиском пересечения либо "на глаз", то есть аналитически, примерно зная угол к оси. Я над таким вариантом тоже думал, но именно последующие преобразования координат точки вызывали трудности. Но вариант интересен и довольно мало затрачивает ресурсов, так как мой способ реально загружает систему, и чем больше сфер для обсчета, тем сильнее. Я думаю оставить такой вариант, но максимально оптимизировать его.

Автор:  Masterov [ 14 дек 2014, 14:09 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Уравнение плоскости, проходящей через точку с координатами [math](x_o,y_o,z_o)[/math]:
[math]A(x-x_o)+B(y-y_o)+C(z-z_o)=0[/math]

Предполагаем (удобства ради), что: [math]A^2+B^2+C^2=1[/math]

Расстояние от точки (с координатами [math](x_1,y_1,z_1)[/math]) до этой плоскости:
[math]h1=\left|A(x_1-x_o)+B(y_1-y_o)+C(z_1-z_o)\right|[/math]
И для второй точки:
[math]h2=\left|A(x_2-x_o)+B(y_2-y_o)+C(z_2-z_o)\right|[/math]

Разрешая систему уравнений:
[math]\left\{ \begin{gathered}
A(x_1-x_o)+B(y_1-y_o)+C(z_1-z_o)\ =\ \pm h_1\\\ A(x_2-x_o)+B(y_2-y_o)+C(z_2-z_o)\ =\ \pm h_2
\end{gathered}\right[/math]

получим (в общем случае) до четырёх решений.
Решением являются значения коэффициентов [math]A,\ B,\ C[/math], сумма квадратов которых равна единице.

Автор:  vvvv [ 14 дек 2014, 21:10 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Masterov, система из двух уравнений, а неизвестных три? :(

Автор:  Masterov [ 14 дек 2014, 23:48 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

vvvv писал(а):
Masterov, в системе два уравнения, а неизвестных три :(

Третье уравнение: Сумма квадратов равна единице.

Я сказал словами, но правильнее было бы записать так:
[math]\left\{ \begin{gathered}
A(x_1-x_o)+B(y_1-y_o)+C(z_1-z_o)\ =\ \pm h_1\\\ A(x_2-x_o)+B(y_2-y_o)+C(z_2-z_o)\ =\ \pm h_2\\A^2+B^2+C^2=1
\end{gathered}\right[/math]


Или:
[math]\left\{ \begin{gathered}
A(x_1-x_o)+B(y_1-y_o)\pm\sqrt{1-A^2-B^2}(z_1-z_o)\ =\ \pm h_1\\\ A(x_2-x_o)+B(y_2-y_o)\pm\sqrt{1-A^2-B^2}(z_2-z_o)\ =\ \pm h_2
\end{gathered}\right[/math]

Автор:  Masterov [ 14 дек 2014, 23:49 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Как решать систему:
[math]\left\{ \begin{gathered}
A(x_1-x_o)+B(y_1-y_o)\pm\sqrt{1-A^2-B^2}(z_1-z_o)\ =\ \pm h_1\\\ A(x_2-x_o)+B(y_2-y_o)\pm\sqrt{1-A^2-B^2}(z_2-z_o)\ =\ \pm h_2
\end{gathered}\right[/math]


Я бы так стал делать:
Сначала уменьшим число букв (для удобства):
[math]\left\{ \begin{gathered}
AX_1+BY_1\pm\sqrt{1-A^2-B^2}Z_1\ =\ \pm h_1\\\ AX_2+BY_2\pm\sqrt{1-A^2-B^2}Z_2\ =\ \pm h_2
\end{gathered}\right[/math]


Потом избавимся от корня:
[math]\left\{ \begin{gathered}
(1-A^2-B^2)Z_1^2\ =(\pm h_1-AX_1-BY_1)^2\\(1-A^2-B^2)Z_2^2\ =(\pm h_2-AX_2-BY_2)^2
\end{gathered}\right[/math]


Поделим одно уравнение на другое и извлечём корень:
[math]\frac{Z_1}{Z_2}=\pm\frac{\pm h_1-AX_1-BY_1}{\pm h_2-AX_2-BY_2}[/math]


[math]\pm h_2Z_1-AX_2Z_1-BY_2Z_1=\pm(\pm h_2Z_2-AX_2Z_2-BY_2Z_2)[/math]


[math]\pm AX_2Z_2-AX_2Z_1\pm BY_2Z_2-BY_2Z_1=\pm h_2Z_2\pm h_2Z_1[/math]


[math]A=\frac{\pm h_2Z_2\pm h_2Z_1-B(\pm Y_2Z_2-Y_2Z_1)}{\pm X_2Z_2-X_2Z_1}[/math]
Это нужно подставить в одно из уравнений (в любое из двух)
в системе уравнений, записанной третьей с начала.
Оттуда найдёте B
Зная B - найдёте A.
Знай A и B - найдёте C.


Больше десяти лет не делал ничего такого.

Автор:  Masterov [ 15 дек 2014, 17:58 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

ОБРАТИТЕ ВНИМАНИЕ на выражение:
[math]\frac{Z_1}{Z_2}=\pm\frac{\pm h_1-AX_1-BY_1}{\pm h_2-AX_2-BY_2}[/math]

В нём много [math]\pm[/math].
Как работать с такими выражениями, в которых много [math]\pm[/math].
Иногда приходится перемножать их.

Правильно эти знаки ([math]\pm[/math]) обозначить буквами. Так например:

[math]\frac{Z_1}{Z_2}=\xi\frac{\alpha h_1-AX_1-BY_1}{\beta h_2-AX_2-BY_2}[/math]


И нужно помнить, что означают эти греческие буквы +1 или -1.

[math]Z_1(\beta h_2-AX_2-BY_2)=\xi Z_2(\alpha h_1-AX_1-BY_1)[/math]


[math]\beta h_2Z_1-AX_2Z_1-BY_2Z_1=\alpha\xi Z_2h_1-\xi AZ_2X_1-\xi BZ_2Y_1[/math]


[math]A(\xi Z_2X_1-X_2Z_1)=B(Y_2Z_1-\xi Z_2Y_1)-\beta h_2Z_1+\alpha\xi Z_2h_1[/math]


[math]A=\frac{B(Y_2Z_1-\xi Z_2Y_1)-\beta h_2Z_1+\alpha\xi Z_2h_1}{\xi Z_2X_1-X_2Z_1}[/math]

Автор:  Masterov [ 15 дек 2014, 18:19 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Где может понадобиться решение подобных задач?

В первую очередь - решение задач автоматического управления
(ну и, конечно же, - прогнозирования).

Сегодня много рассказывают об роботах,
выполняющих посадку на комету.

Управлять роботом с Земли трудно просто по тому, что
сигнал с Земли идёт минут десять. И это только в одну сторону.

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

А МАТЕМАТИКА и есть - язык волшебников.
Волшебники и говорят и думают на этом языке.

Автор:  Masterov [ 15 дек 2014, 18:39 ]
Заголовок сообщения:  Re: Касательная плоскость к сферам

Вот ещё пример работы математика:

ЗАДАЧА: Обработать (отфильтровать помехи) и описать отпечаток пальца так,
чтобы его можно было найти в базе данных отпечатков пальцев преступников.

Исходный отпечаток:
Изображение

Почистим:
Изображение

Выделим направления:
Изображение

Выделим масштабы:
Изображение

Страница 2 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/