2014 dxdy logo

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

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




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


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


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

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

 
 
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение21.03.2025, 22:35 
Аватара пользователя
мат-ламер в сообщении #1679486 писал(а):
Только исходные данные у нас заданы с сильно большей погрешностью
Откуда вы знаете? ТС ничего не говорил как и откуда эти цифры взялись. Его проблема в обработке результатов.

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

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

 
 
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение21.03.2025, 22:43 
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 
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 
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 
Аватара пользователя
B@R5uk в сообщении #1679492 писал(а):
Откуда вы знаете? ТС ничего не говорил как и откуда эти цифры взялись. Его проблема в обработке результатов.

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

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

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

(Оффтоп)

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

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

 
 
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 10:40 
Аватара пользователя
мат-ламер в сообщении #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 
мат-ламер в сообщении #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 
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 
Аватара пользователя
Вообще, пусть $$\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 
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 
nayka в сообщении #1679536 писал(а):
Теперь в очередной раз сам убедился: интуиция может врать , математика - никогда :D

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

 
 
 
 Re: Нормаль к пл-ти: три разных результата. Где я ошибаюсь?
Сообщение22.03.2025, 12:53 
Аватара пользователя
Изображение Точка 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 
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