forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Объём in 3д <?> как (http://forum.boolean.name/showthread.php?t=5942)

jimon 24.04.2008 18:52

Ответ: Объём in 3д <?> как
 
drunnik
используй приблизительный расчет обьема
к примеру вписать тело в сферу
и вычислить обьем как 1/3 сферы или даже 1/5 (приблизительный обьем для тела)

для большинства случаев прокатит
да и где в игровой физике тебе понадобился обьем ?
он только в плавающем теле используется как я знаю

moka 24.04.2008 19:35

Ответ: Объём in 3д <?> как
 
jimon, слышал я про физ движок который делается, потом уточну что за движок, так вот там нету параметра веса объекта, т.к. это уже "следствие", а параметры заключаются в объёме и плотности материалов :) Таким образом и вычисляется вес, также исходя из этого и других ещё параметров вычисляется трение и т.п. объекта.
Нада поискать этот движок.

H@NON 24.04.2008 20:25

Ответ: Объём in 3д <?> как
 
незнаю, мб эта формула подойдет( гугл подсказал ): 1/3*R*S, где R - радиус сферы, в которую вписан многогранник. S - площадь всех граней фигуры.

jimon 24.04.2008 20:26

Ответ: Объём in 3д <?> как
 
[сарказм mode = on]
MoKa
может вес еще будем считать по количеству атомов ?
а время как часть периода полураспада какого нибудь радиоактивного материала
метр тоже считать как растояние которое проходит фотон за определенное время
[сарказм mode = off]

AnyWay 25.04.2008 11:12

Re: Ответ: Объём in 3д <?> как
 
Цитата:

Сообщение от drunnik (Сообщение 80004)
образована например уже сразу 10 точками ?

Если внимательно, с листком бумаги, посмотреть алгоритм то все станет понятно. Никто не заметил, но он работает не для всех фигур, например для звезды п.3 не выполняется в принципе. Но если вспомнить, что полигоны имеют внутреннюю и наружную стороны, то можно алгоритм сделать общим для всех моделей:
  1. Ищутся два полигона имеющие общую сторону (образуют тетраэдр с 4 вершинами) и удовлетворяющие условию: точка не принадлежащая полигону должна лежать с его внутренней стороны (условие для обоих полигонов)
  2. считается объем тетраэдра по координатам 4 точек (например по формуле http://www.pm298.ru/zadachi3.shtml или самому вывести). Объем складывается с объемом уже удаленных ранее тетраэдров.
  3. Полигоны удаляются из модели.
  4. Удаляются вершины не принадлежащие ни одному полигону модели. Если была удалена 1 вершина, то из оставшихся 3 создается полигон лицевой стороной внутрь удаленного тетраэдра. Если небыло удалено ни одной вершины, то создаются 2 новых полигона не равных удаленным, направлением внутрь удаленного тетраэдра. Если удалены 2 или более вершин, то новых полигонов не создается.
  5. Если в модели еще остались полигоны, то переход на п.1, иначе суммарный объем удаленных тетраэдров и есть объем модели.
Как определить с внутренней или с наружной стороны полигона находится четвертая точка, я думаю, понятно. В процессе подсчета модель разрушается, поэтому лучше использовать копию или прошедшее время в отчете: "У модели был объем V"

HolyDel 25.04.2008 11:35

Ответ: Объём in 3д <?> как
 
jimon+1.
геймдев - это большой фейк, ресурсы ограниченны, заниматься ерундой (рассчетом массы тела в геймтайме) - это ИМХО - бред.

AnyWay 25.04.2008 12:40

Re: Ответ: Объём in 3д <?> как
 
Цитата:

Сообщение от HolyDel (Сообщение 80039)
jimon+1.
геймдев - это большой фейк, ресурсы ограниченны, заниматься ерундой (рассчетом массы тела в геймтайме) - это ИМХО - бред.

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

HolyDel 25.04.2008 14:00

Ответ: Объём in 3д <?> как
 
тю! а если модели *динамичые, то зачем его вообще считать если он не меняется? давайте блин картинку рисовать честно - по атомам, и будет игра с 10^-1024 фпс. fake, only fake ))

* не динамичные

AnyWay 25.04.2008 14:27

Re: Ответ: Объём in 3д <?> как
 
Цитата:

Сообщение от HolyDel (Сообщение 80046)
тю! а если модели динамичые, то зачем его вообще считать если он не меняется? давайте блин картинку рисовать честно - по атомам, и будет игра с 10^-1024 фпс. fake, only fake ))

Не хочу спорить нужно это drunnik или нет. Вопрос был как подсчитать. К тому же не для игры, а для 3Д модуля на БитзМакс:4to:.


Часовой пояс GMT +4, время: 21:39.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot