LINUX.ORG.RU

Физика в Angry Birds


0

2

Ищу литературу про моделирование физики.

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

Сам полет кажется тривиален

★★★★

Физика. Механика. Учебный курс для 6-го класса.

Jetty ★★★★★
()

еще вроде кусок кинематики в 9-ом цепляют...

Jetty ★★★★★
()
Ответ на: комментарий от OxiD

Та я же не зря тебе про школьную физику вспомнил. ТеорМех слишком «сложен» для таких задач, хотя, наверное, не так уж и сложен :) А курса школьной физики достаточно что бы запрограмировать такое поведение.

Jetty ★★★★★
()

Строится физ-мат модель, пишутся соотв. уравнения с н.у. и г.у. при необходимости.

Выбирается числ схема для этих уравнений.

Числ схема кодиться.

Все просто... но без термеха никуда.

AIv ★★★★★
()
Ответ на: комментарий от AIv

А есть какие-нибудь не очень сложные opensource игры или движки где можно посмотреть как это делается?

OxiD ★★★★
() автор топика
Ответ на: комментарий от OxiD

А ХЗ. Я не играю, я моделированием занимаюсь.... ;-)

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

Задачу то сформулировать словами можете?

AIv ★★★★★
()
Ответ на: комментарий от Jetty

ТеорМех слишком «сложен» для таких задач, хотя, наверное, не так уж и сложен :)

Вроде как раз. Плюс сопромата можно захватить. Балки ломать ведь еще надо ;)

tensai_cirno ★★★★★
()

Попробуй поизучать исходники Chipmunk.

pevzi ★★★★★
()

Д. Конгер «Физика для разработчиков компьютерных игр»

anonymous
()

можно с применением квантовой физики, задать и обсчитывать поведение каждой частицы, из которых состоят птички и статические объекты :)

Harald ★★★★★
()

Сколько тебе лет, где учишься/работаешь?
// Сам интересуюсь этим, недавно начал копать и уже много чего накопал, может как-то сможем объеденится и написать очередной велосипед, в целях самообразования исключительно, разумеется...

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Полезные ссылки по теме:
http://www.wildbunny.co.uk/blog/2011/04/20/collision-detection-for-dummies/
http://gdlinks.hut.ru/cdfaq/
//Бугага:
http://www.wildbunny.co.uk/blog/2011/05/12/how-to-make-angry-birds-part-1/
http://www.wildbunny.co.uk/blog/2011/06/07/how-to-make-angry-birds-part-2/
Книги:
Eberly D.H. Game physics.
Morgan.Kaufmann.Collision.Detection.in.Interactive.3D.Environments.
Morgan.Kaufmann.Game.Physics.Engine.Development.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Harald

Зачем мелочиться только теория струн только хардкор

kombrig ★★★
()

Просто зазберись что такое Box2D, там все достаточно просто и не нужно знать много матана. Достаточно школьных знаний физики.

mono ★★★★★
()
Ответ на: комментарий от Jetty

Твое высокомерие меня удивляет. Может, все-таки, не стоит относится к людям, с высоты «все пидарасы, а я д'артаньян»?

mono ★★★★★
()

Посмотрите на библиотеки Chipmunk, Box2D, Ode.

buddhist ★★★★★
()
Ответ на: комментарий от mono

А меня удивляет твоя память объемом 1 пост. Смотри контекст. Может не стоит изобличать других имея такую память?

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

Для людей с плохой памятью, на лоре есть история сообщений в каждом профиле.

Я тебе не только про этот пост говорю, хотя и тут высокомерие лезет из всех щелей.

mono ★★★★★
()
Ответ на: комментарий от mono

Да где же оно тут лезет? Для составления простой(подобной AngryBirds) физики полета и столкновения тел и правда достаточно школьного курса физики. Механика, в рамках курса основ кинематики, в школе изучается приблизительно в 6-ом классе, а в «старших» классах школы изучается оптика, электростатика, мкт, термодинамика и чего-то там еще. Что не так? Где пафос?

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

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

Я тебе могу только сказать: Попробуй сделай, с нуля, это ж ведь для тебя наверное один вечерок только посидеть с учебником физики 6го класса...

Bad_ptr ★★★★★
()
Ответ на: комментарий от mono

Ты ведёшь себя ничуть не лучше, чем он.

anonymous
()
Ответ на: комментарий от Bad_ptr

Давай емейл. Тут же нет личных сообщений.

OxiD ★★★★
() автор топика

Хех, всем спасибо ;)

OxiD ★★★★
() автор топика
Ответ на: комментарий от Jetty

Механика, в рамках курса основ кинематики, в школе изучается приблизительно в 6-ом классе

Ога, а теперь почитай, как работают такие движки.

Kosyak ★★★★
()
Ответ на: комментарий от PolarFox

Кажется что под андроид птички написаны на джаве, а библиотека под плюсы. Они ее как-то портировали?

OxiD ★★★★
() автор топика
Ответ на: комментарий от Jetty

Для составления простой(подобной AngryBirds) физики полета и столкновения тел и правда достаточно школьного курса физики

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

baverman ★★★
()

все просто: 2ой закон Ньютона, законы сохранения. каждый объект игры есть материальная точка, с массой, скоростью + эффективный радиус. событие столкновение проверятся просто: проверка пересечения двух окружностей с заданными центрами и радиусами. дальше работают законы сохранения.

marat2345
()

для моделирования контакта с объектом типа стенки, добавляешь понятие «нормали» и смотришь в гугле «pinball contact».

marat2345
()
Ответ на: комментарий от baverman

Можно подумать в энгри бердсах реалистичное вращение балок... самому не смешно ? Такое ощущение что вы их никогда не видели. Реалистичной физикой там совсем не пахнет.

Jetty ★★★★★
()
Ответ на: комментарий от PolarFox

А помимо исходников и учебников физики, какая есть литература именно по моделированию? Ну что-то вроде упомянутой выше книги Д. Конгера.

OxiD ★★★★
() автор топика
Ответ на: комментарий от marat2345

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

В случае тех же балок это не так.

anonymous
()
Ответ на: комментарий от Jetty

Реалистичной физикой там совсем не пахнет.

Та что есть, вполне сложна. Я бы точно ее не реализовал, будучи школьником (медалист-олимпиадник).

baverman ★★★
()

Это же школьная физика! Даже сопромата не надо: неупругий удар, диссипация, расчет поведения каждого объекта на основе трения. В общем, обычные итерационные вычисления.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

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

marat2345
()
Ответ на: комментарий от Eddy_Em

конечно школьная. вот например балка висит на канате и ей в верхнюю половину попадает снаряд, как она будет качаться?

Или например эффект домино.

Физика то может и не сложная, весь термех ведь выводится из простых законов, но вот запрограммировать ох как не просто

OxiD ★★★★
() автор топика
Ответ на: комментарий от OxiD

Там не физика, а сплошная симуляция - корректность моделей никого не интересует, интересует зрелищность (что бы домик падал эффектно). Поэтому берут че попроще но смотрится приемлемо и вперед...

AIv ★★★★★
()
Ответ на: комментарий от OxiD

Все будет очень просто запрограммировать, если учесть то, что строго физику соблюдать нас никто не обязывает, так что можно будет более-менее правдоподобно описать все итерациями. Т.е., скажем, рассчитываем, что произойдет по истечению первой миллисекунды попадания снаряда в балку: потерю импульса снярядом, приобретение импульса балкой, смещение балки и передачу импульса другим телам; на следующем этапе повторяем расчеты, но уже учитывая то, что соседи тоже получили импульс. И так до тех пор, пока система не придет в равновесие.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

кажется в балке (если она висит) еще и крутящий момент возникнет, но он даже не вектор, что несколько усложнит задачу.

OxiD ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.