Физика требуется сделать базовые весы? - PullRequest
2 голосов
/ 15 декабря 2010

Хорошо, поэтому мне нужно выполнить основное задание (работающее в формате Flash / as3), которое имитирует очень простые весы. Все предметы, которые идут на весы, имеют одинаковый вес.

Если вы представляете классические весы (http://www.metalminnie.co.uk/mm1/scales-S1055936773790.JPG) - мы перетаскиваем вещи в стороны и анимируем соответственно.

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

Что я ищу, так это угол поворота горизонтального рычага. Есть указатели?

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

alt text

Мне не удалось вычислить (или найти) аналитическое решение вышеприведенного уравнения, но решение для тета в вышеприведенном уравнении даст вам положение равновесия баланса с учетом двух масс и угла фи, который определяется по геометрии баланса.

Чтобы балансировка сковороды работала, ось вращения должна быть смещена относительно стержня, соединяющего два поддона. Если бы ось не была смещена, то равный уровень был бы только при m1 = m2 для всех углов; или если не равно, чем когда вертикальная черта.

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

Я отправлю ответ, если найду аналитическое решение ...

Хорошо, благодаря Крису, окончательное решение:

тета = арктан [тан (фи) * (м1 + м2) / (м1-м2)]

Для чего, это стоит, вот то, на что это похоже для phi = pi / 8 с точки зрения delta = m2 / m1.

alt text

При дельта = 0, тета = фи; дельта = 1, тета = пи / 2; дельта = бесконечность, тета -> пи - фи

1 голос
/ 15 декабря 2010

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

Без трения по каким-либо деталям он сможет оставаться в любом положении, в котором он находится, поскольку момент вокруг оси вращения является суммой (сила x перпендикулярного расстояния до оси поворота) для всех рассматриваемых сил. Здесь у нас есть две силы на практике. Из-за того, что оба плеча имеют одинаковую длину, и обе массы будут прикладывать силу в параллельном направлении, перпендикулярное расстояние от линии силы до оси одинаково, независимо от угла поворота (до тех пор, пока вес падает на землю, и в этот момент земля начинает поддерживать вес, и он фактически остается неподвижным.

Если вы хотите создать динамическую систему и определить, насколько быстро уменьшатся весы, вам нужно начать смотреть на ускорение объектов. Я не уверен на 100%, как правильно смоделировать соответствующие силы, чтобы получить ваше уравнение ускорения. Моей первой мыслью было, что силы в каждой массе были своей собственной массой - другой массой. Затем вы можете использовать каждую массу и эту силу, чтобы отработать ускорение. Тем не менее, это неправильно, так как это даст разные ускорения для каждой массы, что явно неправильно. Жесткость шарнира явно обеспечивает некоторую дополнительную силу, чтобы поддерживать равные два ускорения, но я в тупике от того, как точно сработать ...

Изменить, чтобы добавить дополнительную заметку:

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

Если это интересно, тогда я могу попытаться вычислить математику ...

1 голос
/ 15 декабря 2010

Может быть

F1 * b1 * sinα = F2 * b2 * sinβ
m1 * g * b1 * sinα = m2 * g * b2 * sinβ
m1 * sinα = m2 * sinβ
m1 / m2 = sinα / sinβ
m1 / m2 = sinα / cos(90-α)

β должен быть на другой стороне F2

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

PS: это работает только для b1 = b2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...