Как стать автором
Обновить

Комментарии 38

А форма тела какая?
Вот такая.


<zanuda>
Если уж вспоминать баяны классику, то хотя бы с верной формулировкой. Нужно требовать постоянную плотность. Если попросить, чтобы лишь массы и объёмы совпадали, то планета, большая часть массы которой сосредоточена в точке на поверхности, сможет иметь сколь угодно большое g, и задача не будет иметь смысла.
</zanuda>
В теле поста писал про постоянную плотность, прошу прощения, что не продублировал в вопросе.
Про книжку не знал.
НЛО прилетело и опубликовало эту надпись здесь
Для тех граней, которые обращены к заданной точке передней стороной, потенциал будет положительным, а которые задней — отрицательным.
В качестве аналогии — подсчет площади плоской фигуры, заданной конечным числом вершин. Строим из любой точки векторы ко всем вершинам и ищем площади образованных треугольников через векторное произведение. Очевидно, что для ребер, вершины которых располагаются по часовой стрелке относительно исходной точки, знак векторного произведения будет один, которые против часовой — противоположный. В сумме будем иметь площадь. Аналогично вычисляется объём тела через смешанное произведение векторов.
НЛО прилетело и опубликовало эту надпись здесь
Я не очень понимаю, почему нельзя было без сферических функций и размышлений про тетраеэдры?
Просто берешь дробишь тело на очень маленькие кубики массой m. В каждой точке потенциал складывается от потенциалов этих кубов. От каджого куба потенциал примерно пропорционален m/r. В пределе, когда размер кубов стремится к нулю, вы получите правильно значение потенциала.
Можно и на кубики. Но во-первых, задача разбиения тела на кубики не так тривиальна, как кажется на первый взгляд. Во-вторых, ближние кубики будут иметь намного большее влияние на общий потенциал, чем дальние. Тогда придётся либо всё тело разбивать на очень маленькие кубики (что значительно увеличивает время расчёта), либо разбивать только ближние кубики (но это разбиение придётся проводить для каждой точки, что опять же неблагоприятно влияет на время расчёта). к тому же кубики, примыкающие к границам тела будут не просто кубиками, а усечёнными кубиками и учёт их вклада в потенциал потребует много вычислительных ресурсов.
1) Не хочется делить на кубики, пожалуйста, можете делить на тетраедры. Но эти тетраедры спокойно можно считать точечными, как и кубики. При мелком разбиении все сгладится.

2) Вклад ближних кубиков ( или тетраедров ) в потенциал пренебрежетельно мал по сравнению со вкладом дальних, это можно понять двумя способами
a) Интеграл от функции 1/r по трехмерному пространству сходится в нуле, из этого все следует.
b) Или же так. Берем маленькую сферу шириной dr и радиуса r. Потенциал от нее в центре этой сферы будет пропорционалень 1/r * ( r^2 * dr). Видим, чем ближе эта сфера к центру, тем меньше от нее вклад.
Когда вы будете брать градиент потенциала, то внезапно ближайшие кубики начнут вносить вклад, и ещё огого какой.
Еще раз, потенциал от кубика растет как 1/r, при уменьшении радиуса, но зато количество кубиков уменьшается квадратично: как r^2. Поэтому вклад ближних кубиков будет пропорционален r, то есть пренебрежительно мал по сравнению с вкладом дальних кубиков.
Про градиент я не понял. Никаких проблем с ним не должно быть.
НЛО прилетело и опубликовало эту надпись здесь
Накидал код. Кубик со стороной 1 разбиваем на 1000 кубиков (10 по каждой стороне) и считаем силу притяжения из вершины кубика. Это первый вариант. Во втором варианте самый ближний кубик разбиваем еще на 10 кубиков и считаем, что в этом случае получается. Как видим, относительная погрешность в первом случае 2,0%, во втором 0,17%.
Скорее всего имелось ввиду что-то типа этого, интегрирование потенциала, а затем взятие градиента. Но при таком способе вычислиельная трудность растёт как куб разбиения, а ошибка уменьшается линейно. Так себе способ.
Чтобы расчеты были точнее можно отдельно один раз очень точно посчить графитационное поле генерируемое одним кубиком.
А от кубической зависимости времени расчетов от мелкости разбиения имхо никуда не уйти.
Как же не уйти, если в статье интеграл берётся по площади = квадратичная зависимость.
В статье интегрируется по объему
Вы невнимательно читали статью. Фактически поверхность тела разбивается на малые площадки (треугольники), а само тело представляется как алгебраическая сумма конусов с малыми телесными углами (вытянутых тетраэдров). Тогда от каждого такого конуса вклад в силу тяжести составит:
image

Конечно, мы нормальную проекцию площадки вычисляем через объём конуса image, но это не отменяет того, что интегрируем мы по площади (хотя совсем корректно было бы сказать, что мы интегрируем по телесному углу, так как близкие треугольники нам приходится дополнительно разбивать, чтобы image).

Кстати, это сразу нам даёт идею для альтернативного алгоритма методом Монте-Карло: надо из точки пустить n лучей, и из расстояний от точки до пересечения лучей с телом можно будет посчитать итоговую силу.
НЛО прилетело и опубликовало эту надпись здесь
А в чем преимущество?

Я не утверждал, что для многогранника Монте-Карло будет чем-то лучше. Я написал «альтернативный алгоритм» =)
НЛО прилетело и опубликовало эту надпись здесь
IMHO, рассуждение "Трёхмерное тело можно представить в виде наборов треугольных граней, с заданными координатами вершин. Далее будем предполагать, что плотность тела постоянна (для кометы это примерно соответствует истине). Гравитационный потенциал в заданной точке будет равен сумме потенциалов всех тетраэдров, с основанием в этих гранях и с вершиной в заданной точке (мы ищем не гравитационный потенциал, а ускорение свободного падения, которое есть градиент потенциала, но рассуждения остаются теми же)" верно только для выпуклых тел.

В случае с невыпуклым телом (например, комета Чурюмова-Герасименко) нельзя так просто брать и перебором обходить все грани, т.к. появятся некорректные тетраэдры.

Соотвественно, расчет неверен. Особенно вот это место: "Максимальное отклонение вектора ускорения от нормали составляет порядка 60-70 градусов". В обычном случае, угол между нормалью к поверхности и ускорением свободного падения 180 (потому как нормаль нуружу, а ускорение внутрь), и мы видим на комете есть места где похоже этот угол может доходить до 0.
По поводу невыпуклых тел ответил выше. Любое невыпуклое тело можно разбить на конечное число выпуклых. Если для каждого из выпуклых расчёт верен, то почему он должен быть неверен для суммы выпуклых?
Под отклонением вектора ускорения от нормали, я предполагал отклонение от нормали, направленной вниз, т.е.отклонение 0 градусов означает, что вектор ускорения направлен вертикально вниз. Наверное, стоило написать «отклонение от вертикали», чтобы было понятнее.
Любое невыпуклое тело можно разбить на конечное число выпуклых. Если для каждого из выпуклых расчёт верен, то почему он должен быть неверен для суммы выпуклых — это тоже неверно из-за того, что вы не захотели нормально посчитать интеграл по объему.

Давайте на вашей-же аналогии про площадь (которая точно так же неверна). Вот вам картинка:

Выбираем в качестве референсной точки для расчета плоащади — точку А. Считаем площади треугольников:
ABC — ok
ACD — ok
ADE — опа, хрень какая-то, такого треугольника в природе не существует
AFE — опять фигня какая-то
AFA == 0
AAA == 0
AGG == 0
AGH — еще один несуществующий треугольник
и т.д.
и соооовсем неважно какой там знак будет у векторного произведения. Эти площади просто некорректно считать.
Также и с вашим разбиением.
НЛО прилетело и опубликовало эту надпись здесь
ок, уговорили!
НЛО прилетело и опубликовало эту надпись здесь
Вполне логично. И какой формы будет тело с максимальной силой тяжести на полюсе?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Филы сел на «макушку головы» кометы. Ускорение там не максимальное, но отклонение от вертикали зато небольшое.
НЛО прилетело и опубликовало эту надпись здесь
Для Фил гравитация не очень важна. Если бы гарпуны закрепись как планировалось, то небольшие вариации силы тяжести не повлияли бы на его работу.
НЛО прилетело и опубликовало эту надпись здесь
Точное значение считал разбиением тетраэдра на множество узких тетраэдров с вершиной в заданной точке. Гравитационную силу от них нельзя приравнять к точечной массе, но для них существует точная формула (чем уже, тем точнее). Для некоторых тетраэдров интеграл берётся (например, если в основании равносторонний треугольник), по ним тоже сравнивал.
И, для контроля, сравнивал вычисленные значения для куба с точным (для куба интеграл тоже существует в элементарных функциях). До шестого знака после запятой значения сходились. При большей точности вычисления становились долгими, но, полагаю, и шести знаков хватит с лихвой.
НЛО прилетело и опубликовало эту надпись здесь
Нет, только если перпендикулярен. Для общего случая у меня тоже нет решения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории