Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Как лучше посчитать массу тела

Как лучше посчитать массу тела

Поделиться

Страницы: 1 2 Следующая

ONeiLLПостоялецwww10 апр. 201319:12#0
Всем доброго времени суток. Я пилю свой физический движок.. При создание очередной тестовой карты я заметил что вводить ручками массу не очень удобно... Хотелось бы чтобы движок сам её считал. Первое что пришло в голову - создать систему материалов. Будет текстовик с информацией про материалы, например плотность. по названию текстуры определять материал, брать плотность этого материала и на объём множить. Но опять таки - как считать объём выпуклой фигуры?
Хочу послушать кто как решал эту проблему. Возможно моя идея не самая хорошая
wolf-9830Постоялецwww10 апр. 201319:35#1
M = R * R
cArmaggedonПостоялецwww10 апр. 201319:43#2
http://www.gamedev.ru/code/forum/?id=175017
я там даже высказал мысли как считать невыпуклой и с пустотами внутри

ну и если что - в личку пиши, я щас тоже физ. двиг пилю )

Правка: 10 апр. 2013 19:44

SuslikМодераторwww10 апр. 201320:20#3
какие там могут быть мысли? разбиваешь интеграл по всему объёму на интеграл по тетраэдрам, образованным произвольной точкой пространста и всеми треугольниками меша. складываешь объёмы всех таких тетраэдров со знаком - получаешь объём меша.
cArmaggedonПостоялецwww10 апр. 201320:24#4
ну это по конкретно выпуклому, и не любую точку, а ту которая находится внутри
SuslikМодераторwww10 апр. 201320:27#5
нет, это для тела произвольной формы и точка также произвольная. более того, подходит даже для тел с полостями, если треугольники полости перечислить в нужном направлении.
ONeiLLПостоялецwww10 апр. 201320:33#6
не понял причём тут интеграл.. Это ж для площади графика, не? (сори за мою тупость, но мы в школе ещё не учим этого)
PushkoffУчастникwww10 апр. 201321:10#7
ONeiLL
> Но опять таки - как считать объём выпуклой фигуры?
посчитай объем всех тетраэдров из которых стостоит фигура и сложи
ONeiLLПостоялецwww10 апр. 201321:20#8
спасибо, только сейчас въехал
laMer007Постоялецwww10 апр. 201321:49#9
Suslik
> произвольной точкой пространста
Ну не произвольной точкой, а находящейся внутри фигуры. И работает только для выпуклых фигур.

Правка: 10 апр. 2013 21:51

laMer007Постоялецwww10 апр. 201321:52#10
Suslik
> нет, это для тела произвольной формы и точка также произвольная. более того, подходит даже для тел с полостями, если треугольники полости перечислить в нужном направлении.
Хм. А почему это работает?

Правка: 10 апр. 2013 21:52

laMer007Постоялецwww10 апр. 201321:53#11
Pushkoff
> посчитай объем всех тетраэдров из которых стостоит фигура и сложи
Нет, Суслик не это имел ввиду.
laMer007Постоялецwww10 апр. 201322:00#12
Pushkoff
Он имел ввиду нечто типа примера 4 из http://www.math24.ru/calculation-of-volumes-using-triple-integrals.html
Но мне все равно не понятно, почему это сработает для невыпуклых и произвольной точки пространства. Нужно подумать.
ONeiLLПостоялецwww10 апр. 201322:03#13
laMer007
> Нужно подумать.
Главное учитывать знак объёма. Потом когда всё прибавится, то у нас выйдет объём фигуры либо положительный, либо отрицательный (берём по модулю суму и всё)
laMer007Постоялецwww10 апр. 201322:10#14
ONeiLL
Принято.

Страницы: 1 2 Следующая

/ Форум / Программирование игр / Физика

2001—2014 © GameDev.ru — Разработка игр