Как мне запрограммировать симуляцию физики? - PullRequest
7 голосов
/ 17 июля 2011

Я пытаюсь создать пакет Java, который можно использовать для написания программ моделирования. Моя цель - создавать «объекты», такие как пружины или твердые объекты, такие как кубы и сферы. У них будет масса, скорость, гравитация и т. Д., И они могут взаимодействовать друг с другом.

Я видел несколько программ моделирования на www.myphysicslab.com , но моя проблема в том, что я не хочу писать разные уравнения для разных сенарио. Есть какой-либо способ сделать это? Я новичок в программировании.

Ответы [ 4 ]

22 голосов
/ 17 июля 2011

Создать физический движок сложно. (Очень сложно). Но это также может быть очень весело. Ну что ж, веселье в том, «почему я делаю это для себя?» такой способ.

Предполагая, что вы хорошо разбираетесь в математике *, и предполагая, что вы заинтересованы в динамике твердого тела, есть пара классических ссылок для начала:

Это хорошее место для начала, и оно будет более чем достаточным испытанием для вас.

Вы также можете взглянуть на Box2D Эрина Катто и его соответствующие учебные пособия по GDC , которые вы можете скачать.

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

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

Удачи.

6 голосов
/ 17 июля 2011

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

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

1 голос
/ 17 июля 2011

Создание симулятора физики может быть большой работой. Два измерения значительно проще, чем три, поэтому, возможно, вы захотите начать с 2D. Возможно, вы захотите начать с существующего пакета, например JBox2D . У него есть решатель ограничений, трения и т. Д. Вы можете построить поверх JBox2D или изучить, как он работает.

HTML5-версия доступна с онлайн-демонстрациями: GWTBox2D

0 голосов
/ 20 января 2017

Существует программа под названием Easy Java Simulations это именно то, что вы хотите! Вы можете создавать Java-апплеты и иметь множество готовых визуальных объектов. Вы также можете написать код Java и подпрограммы.

для загрузки http://fem.um.es/Ejs/.

...