2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение21.03.2025, 22:33 
Аватара пользователя


11/12/16
14679
уездный город Н
мат-ламер в сообщении #1679486 писал(а):
Оно, конечно, интересно. Только исходные данные у нас заданы с сильно большей погрешностью (правда, неясно какой). Чего-то у меня сомнения, что это поможет.


Пофиг на погрешность заданных величин. Считаем, что они заданы с абсолютной точностью.
wrest в сообщении #1679480 писал(а):
Установить точность расчета 32 знака.


А это нужно, потому что величины в квадрат возводятся при расчетах.

Капец, конечно. Вместо того, чтобы разобраться и посчитать на калькуляторе, обсуждаем, как задать вопрос чат-гпт, чтобы он посчитал верно :mrgreen: :facepalm:

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение21.03.2025, 22:35 
Аватара пользователя


26/05/12
1786
приходит весна?
мат-ламер в сообщении #1679486 писал(а):
Только исходные данные у нас заданы с сильно большей погрешностью
Откуда вы знаете? ТС ничего не говорил как и откуда эти цифры взялись. Его проблема в обработке результатов.

Но даже предположив, что это геолокация, вы тоже, вообще говоря, не верны. Абсолютная точность GPS в нормальных условиях где-то 5-20 метров, что даёт относительную погрешность для данных ТС не более 15% при условии, что ошибки в координатах независимы друг от друга. Это возможно, если координаты снимались через очень далёкие промежутки времени (сутки) или в разных условиях (из-за наличия радио-тени координаты различных точек были получены по совершенно разным спутникам). Если же координаты снимались одновременно или практически одновременно в зоне видимости одних и тех же спутников, то все одни будут иметь одну и ту же систематическую погрешность, которая уничтожится в процессе вычислений, и точность окажется значительно выше (относительная погрешность в процент или даже меньше).

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

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение21.03.2025, 22:43 


05/09/16
12370
EUgeneUS в сообщении #1679490 писал(а):
Вместо того, чтобы разобраться и посчитать на калькуляторе, обсуждаем, как задать вопрос чат-гпт, чтобы он посчитал верно

Ну мне вот интересно, кстати. Что-то уж не больно много толку от них. Так-то вроде и "разумно" отвечает, но где-то спотыкается и в итоге неверно :mrgreen:
Мне дипсик выдал код:
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
from mpmath import mp

# Устанавливаем точность 32 знака
mp.dps = 32

# Координаты точек
A = mp.mpf('3593587.80504039'), mp.mpf('1579311.28483578'), mp.mpf('5010324.36037068')
B = mp.mpf('3593666.69246004'), mp.mpf('1579366.81848950'), mp.mpf('5010459.46536822')
O = mp.mpf('0'), mp.mpf('0'), mp.mpf('0')
C = mp.mpf('3594339.74426106'), mp.mpf('1578212.18134087'), mp.mpf('5010132.60367774')

# Векторы AB и AO
AB = (B[0] - A[0], B[1] - A[1], B[2] - A[2])
AO = (O[0] - A[0], O[1] - A[1], O[2] - A[2])

# Нормальный вектор плоскости
n = (
    AB[1] * AO[2] - AB[2] * AO[1],
    AB[2] * AO[0] - AB[0] * AO[2],
    AB[0] * AO[1] - AB[1] * AO[0]
)

# Уравнение плоскости: n_x(x - x_A) + n_y(y - y_A) + n_z(z - z_A) = 0
# Подставляем точку C
numerator = abs(n[0] * (C[0] - A[0]) + n[1] * (C[1] - A[1]) + n[2] * (C[2] - A[2]))
denominator = mp.sqrt(n[0]**2 + n[1]**2 + n[2]**2)

# Расстояние
distance = numerator / denominator

print("Расстояние от точки C до плоскости:", distance)

Код вполне себе. С комментариями и все разумно.
Но у дипсика получился ответ 0.416
У меня под рукой нет питона, но этот код будучи запущен в онлайн-интерпретаторе https://pythononline.net/ (там правда надо явно установить модуль mpmath), даёт ответ
Код:
Расстояние от точки C до плоскости: 268.88015207891216531066414570175

Что совпадает с моим расчётом в pari/gp

Что не так с дипсиком - загадка...

К его "чести", дипсик так же приписывает
Цитата:
Если вы хотите получить точное значение, выполните код на вашем компьютере.

Что я и вынужден был сделать, после расчета в pari/gp

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 01:17 


21/03/25
15
B@R5uk ,я так раньше считал. Не помогает. Если совсем отчаюсь попробую еще. Спасибо.
wrest, нет нейросеть халтурит. пишет тип так $55.53365372⋅(−191.75669294)=−10650.97000000$ или так
$j-компонента=−15120.77000000−101557.47000000=−116678.24000000$ :D
Хочешь 32 знака, пжлста, трудно что ли нулями набить с конца .

Точки фиксированы, это трасса . ОНи на поверхности Земли, только точка С выше других на 164 метра.
Мне больно , когда я вижу результат у себя (и у вас) в 268 метров. Это тот редкий случай когда можно сами ощутить ошибку. Представьте вы видите в ~1300 метров под довольно острым углом две точки(AB), между которыми 166 метров. Как может быть 268 метров до плоскости образованной точками AB и центром Земли. Ума не приложу.
https://en.wikipedia.org/wiki/Earth-cen ... ate_system
Короче решил по дилетантски считать в 2 шага (а по иному я и не смогу )))
Стою перпендикуляр от точки С к линии AB (т.5-т.6) Нахожу координату (точка 2 на конце желтой линии)
Далее строю " вертикальную" линию от центра Земли к вновь полученной точке 2.
К этой вертикальной линии "0-т.2" строю снова перпендикуляр от точки С. Так получаю точку 3 , которая принадлежит пл-ти AB0 / Это все построение реализовал в автокаде . И он мне нашел нормаль (т.С - т.3) длинной 1320,68 м. Вот это число я ожидал от Экселя, но не как 268 метров.
Вот скрин а автокада
https://cloud.mail.ru/public/k52z/tjdaz2FJD

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 01:41 


05/09/16
12370
nayka в сообщении #1679501 писал(а):
Вот это число я ожидал от Экселя, но не как 268 метров.

nayka в сообщении #1679501 писал(а):
Как может быть 268 метров до плоскости образованной точками AB и центром Земли. Ума не приложу.

Ну насчёт Земли не знаю, она же геоид, а не шар. Но по данным вами координатам получается 269...
nayka в сообщении #1679501 писал(а):
ОНи на поверхности Земли,

Ну у вас получилось от точки O до точек A и B расстояния различаются на 165 (одна "выше" другой на 165 метров), и между ними 166. Видать, гористая местность. Точки A, O и B практически на одной прямой. Угол OAB около 173 градусов...

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 07:43 
Заслуженный участник
Аватара пользователя


30/01/09
7259
B@R5uk в сообщении #1679492 писал(а):
Откуда вы знаете? ТС ничего не говорил как и откуда эти цифры взялись. Его проблема в обработке результатов.

Но даже предположив, что это геолокация, вы тоже, вообще говоря, не верны.

Проинтуичил. Мне трудно представить, что координаты измерены с точностью 32 десятичных знаков. Впрочем, я не физик. Вам виднее.

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 09:51 


21/12/16
1390

(Оффтоп)

EUgeneUS в сообщении #1679490 писал(а):
Капец, конечно. Вместо того, чтобы разобраться и посчитать на калькуляторе, обсуждаем, как задать вопрос чат-гпт, чтобы он посчитал верно

вот-вот, блин

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 10:40 
Аватара пользователя


26/05/12
1786
приходит весна?
мат-ламер в сообщении #1679511 писал(а):
Мне трудно представить, что координаты измерены с точностью 32 десятичных знаков.

Так там и нет такой точности. Координаты приведены 15-ю десятичными цифрами, но существенная разница в полторы сотни метров — это всего лишь 5-й знак, а гарантированная точность — 6-7-й знак. Точность атомных часов, которые лежат в основе глобальной навигации 14-15 знаков, так что полный потенциал GPS обычные приёмники далеко не раскрывают.

nayka в сообщении #1679501 писал(а):
И он мне нашел нормаль (т.С - т.3) длинной 1320,68 м.

Звучит правдоподобно, учитывая длины отрезков AC и BC и предполагая, что направление на центр Земли почти перпендикулярно плоскости ABC:
Код:
A: 3593587.80504039, 1579311.28483578, 5010324.36037068
B: 3593666.69246004, 1579366.81848950, 5010459.46536822
C: 3594339.74426106, 1578212.18134087, 5010132.60367774

AC: 751.93922067, -1099.10349491, -191.75669294; |AC|: 1345.4410850693049937581610337996
BC: 673.05180102, -1154.63714863, -326.86169048; |BC|: 1375.8721730437481693096885162754

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 11:04 


21/03/25
15
мат-ламер в сообщении #1679511 писал(а):
Проинтуичил. Мне трудно представить, что координаты измерены с точностью 32 десятичных знаков. Впрочем, я не физик. Вам виднее


Эти тестовые координаты были вероятно были получены с сантиметровой точностью с профессионального GPS приёмника
выглядели они примерно так 23,456789° . Далее по таким по таким относительно нехитрым формулам я преобразовал их эти огромные декартовые координаты , и в преобразовании точность зависит от вашей фантазии, можете хоть 32 знака :D . (Но формулы гарантируют точность в первые миллиметры(и то не приполярных областях (это мешает cos(90)=0)))
https://gis-lab.info/qa/geodesic-coords ... 1354789087

Надеюсь я удовлетворил ваше любопытство .
И так как я математическом форуме, То если хотите песен формул. Их есть у меня:
https://en.wikipedia.org/wiki/Vincenty%27s_formulae
так борются с приполярными областями

-- 22.03.2025, 11:06 --

B@R5uk в сообщении #1679526 писал(а):
Звучит правдоподобно,

Спасибо. Так же думаю

Итак, резюмирую :
по каким-то неведомым мне причинам Эксель (а так же здесь показываю вычисления в питоне) показывает длину нормали 268м (от точки С до плоскости AB0 ) Хотя здравый смысл подсказывает что должно быть ~1300 м

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 11:40 


05/09/16
12370
nayka в сообщении #1679528 писал(а):
выглядели они примерно так 23,456789° . Далее по таким по таким относительно нехитрым формулам я преобразовал их эти огромные декартовые координаты

Считая, что Земля это шар? :mrgreen: Или по каким?
Ещё раз тогда:
wrest в сообщении #1679504 писал(а):
Ну у вас получилось от точки O до точек A и B расстояния различаются на 165 (одна "выше" другой на 165 метров), и между ними 166. Видать, гористая местность. Точки A, O и B практически на одной прямой. Угол OAB около 173 градусов...

У вас расстояние до начала координат от точки A на 164.67 метров больше чем от точки B. Т.е. точка A над точкой B на высоте примерно 165 метров. Так и должно быть? Просто это не вяжется с тем что вы писали что они на поверхности Земли... Числа показыват что они на отвесной скале (ну или внизу и вверху 40-этажного здания).

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 11:51 
Аватара пользователя


26/05/12
1786
приходит весна?
Вообще, пусть $$\overrightarrow{N}=\Bigl[\overrightarrow{OA},\;\overrightarrow{OB}\Bigr]$$ Тогда: $$\begin{array}{c}N_x=\left\lVert\begin{array}{rr}1579311.28483578&5010324.36037068\\1579366.81848950&5010459.46536822\end{array}\right\rVert=&=7913075175868.2788729599309116\;-7913140044639.07994649768786=&=-64868770.8010735377569484\end{array}$$ $$\begin{array}{c}N_y=\left\lVert\begin{array}{rr}5010324.36037068&3593587.80504039\\5010459.46536822&3593666.69246004\end{array}\right\rVert=&=18005435772285.2671081354876272\;-18005526032396.4276843633224058=&=-90260111.1605762278347786\end{array}$$ $$\begin{array}{c}N_z=\left\lVert\begin{array}{rr}3593587.80504039&1579311.28483578\\3593666.69246004&1579366.81848950\end{array}\right\rVert=&=5675593338609.306346346290905\;-5675518361340.6136393156122312=&=74977268.6927070306786738\end{array}$$ $$\Bigl|\overrightarrow{N}\Bigr|=134076231.72128672993795123796888$$ После нормировки на единицу: $$\overrightarrow{n}=\frac{\overrightarrow{N}}{\Bigl|\overrightarrow{N}\Bigr|}=\left(\begin{array}{r}-0.48382006242478987235400641558859\\-0.67319994007741793145955226214109\\0.55921372289584716290764907094580\end{array}\right)$$ Расстояние от точки C до плоскости OAB вычисляется как модуль проекции любого из трёх векторов OC, AC или BC на нормаль к этой плоскости, что равно модулю скалярного произведения одного из этих векторов на единичный вектор нормали n: $$\begin{array}{c}h=\left|\Bigl(\overrightarrow{n},\;\overrightarrow{OC}\Bigr)\right|=\\=-0.48382006242478987235400641558859\cdot 3594339.74426106-\\ \phantom{=}-0.67319994007741793145955226214109\cdot 1578212.18134087+\\ \phantom{=}+0.55921372289584716290764907094580\cdot 5010132.60367774=\\=268.88015207891216531066414391924\end{array}$$

-- 22.03.2025, 12:15 --

$$\begin{array}{c}h=\left|\Bigl(\overrightarrow{n},\;\overrightarrow{AC}\Bigr)\right|=\\=-0.48382006242478987235400641558859\cdot 0751.93922067+\\ \phantom{=}+0.67319994007741793145955226214109\cdot 1099.10349491-\\ \phantom{=}-0.55921372289584716290764907094580\cdot 0191.75669294=\\=268.88015207891216531066414565907\end{array}$$

-- 22.03.2025, 12:18 --

$$\begin{array}{c}h=\left|\Bigl(\overrightarrow{n},\;\overrightarrow{BC}\Bigr)\right|=\\=-0.48382006242478987235400641558859\cdot 0673.05180102+\\ \phantom{=}+0.67319994007741793145955226214109\cdot 1154.63714863-\\ \phantom{=}-0.55921372289584716290764907094580\cdot 0326.86169048=\\=268.88015207891216531066414565913\end{array}$$

-- 22.03.2025, 12:25 --

При этом треугольник ABC имеет стороны:
Код:
|AB|: 166.01377061801675135308141923102
|AC|: 1345.4410850693049937581610337996
|BC|: 1375.8721730437481693096885162754

И угол OAC отклоняется от прямого чуть более чем на 2 минуты. Где-то тут косяк...

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 12:27 


21/03/25
15
wrest в сообщении #1679531 писал(а):
что Земля это шар? :mrgreen: Или по каким?

По эллипсоидальным (WGS84)

wrest в сообщении #1679531 писал(а):
Так и должно быть?

Нет, я забыл изменить высотную отметку с предыдущего теста.
Это выглядит контр интуитивно, но когда обнулил отметку точки B (получилось 3593574.09 1579326.12 5010329.49) оказывается сильно изменилось "наклонение" пл-ти AB0 и так что наклонное смещение сильно изменилось и разом уменьшилось с 1300 до 238 метров .
https://cloud.mail.ru/public/8gqQ/UFFxczTUC т.е. тут в яч. G19, G20 теперь совпадения (238м)
Теперь все встало на свои места .
Спасибо .
Теперь в очередной раз сам убедился: интуиция может врать , математика - никогда :D
и врут как дышат - нейросети

-- 22.03.2025, 12:31 --

B@R5uk в сообщении #1679533 писал(а):
И угол OAC отклоняется от прямого чуть более чем на 2 минуты. Где-то тут косяк...

Как я понял отвесная линии на 164 метра дает ошибку

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 12:46 


05/09/16
12370
nayka в сообщении #1679536 писал(а):
Теперь в очередной раз сам убедился: интуиция может врать , математика - никогда :D

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

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 12:53 
Аватара пользователя


26/05/12
1786
приходит весна?
Изображение Точка B лежит ниже точек A и C на 165 метров, что почти равно расстоянию AB. Угол OBC больше прямого почти на 7 градусов:
Код:
AB: 78.88741965, 55.53365372, 135.10499754;
|AB|: 166.01377061801675135308141923102

|OA|: 6364860.3789139407910278920067613
|OB|: 6365025.0508493930001161051637459
|OC|: 6364861.3962082520345527856706060

|AC|: 1345.4410850693049937581610337996
(AC, OA): 751.93922067 * 3593587.80504039 - 1099.10349491 * 1579311.28483578 - 191.75669294 * 5010324.36037068 =
   5569830.9160760817179823

|BC|: 1375.8721730437481693096885162754
(BC, OB): 673.05180102 * 3593666.69246004 - 1154.63714863 * 1579366.81848950 - 326.86169048 * 5010459.46536822 =
   -1042599011.2475080720816898

Но всё равно. плоскости ABC и OAB перпендикулярны друг другу (с высокой точностью), а треугольник ABC практически равнобедренный, поэтому расстояние от точки C до плоскости OAB должно быть порядка длин отрезков AC и BC, а не то, что у меня получилось выше. Не, векторное произведение говорит, что они не перпендикулярны.

А ещё, угол между этими плоскостями будет считаться с огромной ошибкой, потому что в выбранных точках нет достаточной робастости, чтобы побороть неизбежно имеющиеся в данных ошибки. Как следствие, расстояние между точкой и плоскостью будет иметь неожиданно большую погрешность. Какую конкретно, трудно сказать без серьёзного анализа.

 Профиль  
                  
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 13:17 


05/09/16
12370
B@R5uk в сообщении #1679542 писал(а):
а треугольник ABC практически равнобедренный, поэтому расстояние от точки C до плоскости OAB должно быть порядка длин отрезков AC и BC, а не то, что у меня получилось выше.

Он почти равнобедренный.
Но углы при основании AB равны 172 и 8 градусов, а не по 90 :mrgreen:
Например высота опущенная из C на AB равна примерно 188
Вот кусочек этого треугольника (вершина C далеко слева)
Изображение
И вот он весь:
Изображение

Интуиция дело такое...

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

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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