TrigMath, 2 массы, скорость вычисления жесткого стержня - PullRequest
2 голосов
/ 10 февраля 2011

Как и все, я делаю клон Thrust только для того, чтобы освежить голову. Я прибыл на этап, когда корабль забирает стручок.

По сути, у меня есть две массы (рассмотрим только центр сферы), связанные жестким безмассовым стержнем. L никогда не меняется, не ломается.

balls!

В этом случае корабль (ма) имеет массу 1,0, а стручок (мб) имеет массу 2,0. Какая математика требуется для вычисления новых позиций? Когда я применяю тягу к кораблю (ма), как мне применить это к стручку (мб)? (и заставьте его вращаться, как и ожидалось). Сам корабль был прямо, обычная velx- = sin (угол) * тяга, vely + = cos (угол) * тяга. PosX + = velx. и т.д. Я знаю, что раньше знал, как это сделать, но школа была так много лет назад.

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Это проще всего кодировать, отделяя вращательную часть от поступательной части.

У вас есть сумма сил, приложенных к шару A - например, сила тяжести + тяга от двигателя + сила трения.Пусть это будет FA (вектор).У вас есть сумма сил, приложенных к шару B - например, сила тяжести + сила трения.Пусть это будет FB (вектор).

Центр масс объекта расположен на стержне.Он находится в местоположении (ма A + мб B ) / (ма + мб).Это расстояние ca от массы A, где ca = mb / (ma + mb). | AB |и расстояние cb от массы B, где cb = ma / (ma + mb). | AB |.Пусть U будет нормализованной версией AB (т. Е. U имеет длину блока).

Смоделируйте систему так, чтобы у вас былоцентр масс = X и угол тета.Вы также сохраняете скорость V и скорость вращения w.Мы хотим найти линейное ускорение A и ускорение вращения w '.

Движение центра масс регулируется законом Ньютона с использованием ВСЕГО силы в системе и ВСЕЙ массы, так:

FA + FB = (ма + мб). A

Вращение регулируетсякрутящие моменты участвуют.(скалярное) Крутящий момент = сила x вектор от центра масс .Следовательно, крутящий момент на каждом объекте составляет:

TA = FA x ca.- U

TB = FB xcb. U

Обратите внимание, что это двумерный перекрестный продукт, т.е. TA = FA [x] * ca.- U [y] - FA [y] * ca.- U [x]

Момент инерции определяется как

I = ca * ca* ma + cb * cb * mb

Затем

TA + TB = I.w '

Вывод местоположения каждой заданной массы X и тэта оставлена ​​читателю в качестве упражнения:)

1 голос
/ 10 февраля 2011

Вот два подхода для вас.

Первый проще. Расслабьте жесткость. Сделайте планку, которая соединяет эти два, весной. Равная и противоположная сила, которую он оказывает на них обоих, пропорциональна величине его длины. Если вы сделаете пружину очень жесткой, вы получите очень жесткий стержень очень просто.

Второе - сделать штангу действительно жесткой. В этом случае вся система может быть описана положением и скоростью центра масс, а также углом и скоростью вращения всей системы. Центр масс является средневзвешенным положением точек в системе, умноженным на массу в этой точке. В вашем случае это будет точка 2/3 пути вдоль стойки к стручку. (Поскольку стручок весит вдвое больше, чем делает корабль.) Независимо от того, куда вы толкаете, центр масс будет двигаться так, как если бы вы толкали прямо в центр масс, поэтому вы уже знаете, как перемещать центр масс. *

Теперь вы должны учитывать скорость вращения. Когда вы применяете силу на корабле, ее часть находится под прямым углом к ​​планке. Эта фракция, помимо перемещения центра масс, заставляет систему вращаться. Эта часть силы ускоряет корабль, но не стручок. Приложите силу к кораблю, и вы сможете выяснить скорость ускорения. Центр масс ускоряется на 1/3 скорости этого корабля. Таким образом, с точки зрения центра масс, 2/3 бокового ускорения корабля идет на то, чтобы заставить систему вращаться. Разделите 2/3 на расстояние от центра тяжести до корабля, и вы получите угловое ускорение.

...