В pybox2d. Как я могу получить информацию о состоянии тела, такую ​​как его скорость, когда испытательный стенд работает?

Ubuntu 14.04 Python с pybox2d

Я хочу написать агентскую программу, которая может реагировать на движение тел при запуске испытательного стенда. Как моя цель, естественно, что агент должен читать данные о состоянии организма из какого-то места. Затем принять ответ на данные в соответствии с кодом. Но pybox2d основан на box2d, который находится в C++, я не знаком. Итак, кто может дать мне совет. Спасибо!

Или вы можете порекомендовать мне другой план собственности.

1 ответ

Похоже, что вам нужно, это способ выбрать тело в тестовом стенде и получить текстовый вывод о его состоянии. Однако нет простого способа получить дополнительную информацию о теле (кроме Box2D 2.3.3 или более ранней программы Testbed).

Мне нравится эта идея в качестве дополнения к испытательному стенду. Я не думаю, что это будет слишком сложно для меня, по крайней мере, на моей вилке Box2D. Я создал проблему для этого.

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

OTOH, если вы запрашиваете программный способ получения состояния тела, по крайней мере, в версии C++ Box2D есть методы, которые вы можете вызывать для b2Body объект для этого. GetLinearVelocity() например получит линейную скорость тела. Я подозреваю pybox2d имеет аналогично названный механизм доступа.

Другие вопросы по тегам