Нахождение центра тяжести

Я пытаюсь сделать свою игру. Она в формате 2D. Хотелось бы, что бы в ней была физика (точне, механика) . С гравитацией я боле-мене разобрался, а вот сделать так, чтобы объекты, задевая краешком другие, начинали крутиться, вращаться и т. д, а не останавливаться, не получается. Я так думаю, для того, чтобы это реализовать, нужно знать центр тяжести всех объектов. Как его найти в реальном мире, я знаю, а как математически - нет. (Конечно, можно пытаться наугад поставить этот самый центр тяжести, но объектов будет много, и вручную заниматься такими делами - грешно) . Может, кто-нибудь знает решение этой проблемы, или в курсе, как такие вещи реализовываются при программировании?
10 года назад от Владислав Лисицин

2 Ответы



0 голосов
. Если фигур произвольная, то её триангулируют (разбивают на треугольники) , а затем вычисляют центр масс для точек-центров пересечений медиан каждого треугольника. Как найти центр масс для точек - тут . Впрочем, думаю что чтобы единожды найти центр масс можно с триангулированием не заморачиваться, а тупо разбить картинку на пиксели и посчитать центр для нескольких тысяч точек, для компьютера это плёвое дело. Если фигуры не произвольные, а какие-нибудь прямоугольники, для них центр масс уже найден мматематически.
10 года назад от Алексей
0 голосов
Для реальности нужно не только знать центр тяжести, но и уметь определять с какой скоростью будет вращаться объект после удара в ту или иную точку.
Скорость вращения будет сильно зависеть от того, насколько основная масса удалена от центра тяжести, то есть от момента инерции.
Пусть диск и кольцо одинаковых размеров и массы, тогда кольцо раскрутить трудне. Маховики делают с тяжёлым ободом, их трудно раскрутить и трудно остановить. Если силу приложить не к краю объекта, а по направлению, близкому к центру тяжести, то воздействие будет мене значительным.
Центр тяжести эквивалентен центру масс и через него проходя все оси главных моментов инерции, то есть при любом заданном направлении оси вращения, ось проходящая в этом направлении через центр тяжести позволяет телу легче раскручиваться (момент инерции вращения минимален для оси, проходящей именно через центр масс) . Для осей вращения удалённых момент инерции возрастает.
 Придётся изучать динамику, помимо статики ) .
10 года назад от Andrew Alekovs

Связанные вопросы

4 ответов
6 года назад от Храмов Сергей
1 ответ