Как с помощью вычислений смоделировать мяч, катящийся по изогнутой дорожке?

Как я могу точно с помощью вычислений смоделировать шар для боулинга, катящийся по бобслейной дорожке? (Изначально игнорируйте трение о воздух и трение об лед/бетон.)

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

Мне также интересно, требуется ли точное измерение радиуса кривизны для точного расчета центростремительной силы. На бобслейной трассе есть большая ось и малая ось кривизны, и обе эти кривизны постоянно меняются.

Или можно не знать точную кривизну, а просто переместить шар для боулинга вперед на один временной шаг и выяснить, как далеко «в дорожку» мяч переместился бы по своей текущей траектории при обходе угла, а затем исправить движение путем перемещения его обратно на поверхность дорожки и использования требуемого корректирующего расстояния в качестве оценки кривизны дорожки и центростремительной силы, которую нужно было приложить, чтобы удержать мяч на поверхности дорожки?

Вы знаете, как это сделать в 2D? С катящимся цилиндром вниз по неровному склону?
Я знаю, как преобразовать гравитационную потенциальную энергию в кинетическую, поэтому я могу сказать, как быстро должен двигаться мяч в зависимости от высоты. Я хочу обесценить качение (конечная цель состоит в том, чтобы смоделировать некатящееся транспортное средство, например настоящий бобслей), поэтому я не беспокоюсь о преобразовании потенциальной энергии гравитации в кинетическую энергию вращения.
Шар для боулинга улетит с дорожки на первом повороте. ПОЭТОМУ на бобслеях есть полозья, которые впиваются в лед.
@DavidWhite Это неправда. Я бобслеист :-) Полозья имеют округлое поперечное сечение, они не закапываются, и у них очень мало бокового трения, если только не действуют высокие перегрузки. Трасса спроектирована таким образом, что сани никогда не вылетают за пределы трассы, а это означает, что на многих участках трассы вы едете под углом 90 градусов от горизонтали по стене. Если вы попытаетесь резко уйти с поворота слишком рано, вас, конечно, может снова подтянуть, но вы столкнетесь с аварийным барьером наверху, вы не вылетите. instagram.com/p/CKE4f1Znq7g
@LukeHutchison, ваша ключевая фраза: «Если вы слишком рано попытаетесь СОВЕРНУТЬСЯ с кривой». Мяч не имеет возможности управлять.
@DavidWhite Как я уже сказал, боковое трение очень мало, если только сани не подвергаются высоким перегрузкам . Конечно, мяч не может управлять, и, конечно же, на некоторых поворотах он ударится о крышу. Но это полностью зависит от кривой. Некоторые повороты спроектированы таким образом, что физически невозможно, чтобы санки когда-либо ударились о крышу, независимо от того, насколько быстро вы едете, как вы входите в поворот и независимо от того, рулите ли вы вообще. Вот где я говорю, что вы были неправы: это не так просто, как «все, что не рулится, ударится о крышу или вылетит за пределы трассы». Полностью зависит от контура!
@DavidWhite и, очевидно, шар для боулинга будет двигаться иначе, чем бобслей. Мне плевать на первое приближение. Если он ударится о крышу, я хочу смоделировать это, по крайней мере, до точки столкновения.
@LukeHutchison, хорошо ... ТЕПЕРЬ вы определили проблему в той степени, в которой вы, надеюсь, получите ответ, который ищете.
@DavidWhite Я ничего не изменил в определении. Я хочу катить шар для боулинга по дорожке в симуляции и найти (точно) путь, по которому он идет. Если в крышу, то в крышу (я понимаю, что есть разрывы, которые нужно учитывать при моделировании неупругих столкновений). Но меня не интересуют столкновения как таковые. Меня интересует изогнутый путь вниз по дорожке. Предположим, что дорожка искривлена ​​таким образом, что мяч не может вылететь за пределы дорожки, что и происходит с большинством кривых.

Ответы (1)

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

Одним из общих методов было бы использование гамильтоновой механики, поскольку гораздо проще (на мой взгляд) уловить сдерживающие силы в этом формализме с использованием множителей Лагранжа. Вы могли бы:

  1. Запишите лагранжиан мяча вместе с уравнениями зависимости, которые определяют поверхность, по которой катится мяч.

  2. Перейдите к гамильтонову формализму, используя преобразование Лежандра, и запишите гамильтоновы уравнения движения шара.

  3. После последнего шага у вас будет набор связанных дифференциальных уравнений первого порядка, которые вы можете решить, используя выбранный вами метод, например метод Рунге-Кутты 4-го порядка.

Это очень грубая схема, но единого ответа на этот вопрос нет, и, как я уже сказал, многое будет зависеть от ваших текущих знаний и умения пользоваться различными техниками. Я мог бы также предложить начать с малого и смоделировать ту же проблему в более низком измерении - возможно, сначала попробуйте смоделировать шар, катящийся по хафпайпу, чтобы получить общее представление.