2017-03-14 1 views
-1

우분투 14.04 pybox2d가 포함 된 Pythonpybox2d에서. 테스트 베드가 작동 중일 때 속도와 같은 신체 상태 정보를 어떻게 얻을 수 있습니까?

실행중인 테스트 베드에서 신체 동작에 응답 할 수있는 에이전트 프로그램을 작성하고 싶습니다. 내 목표로, 상담원이 신체의 상태 데이터를 일부 위치에서 읽어야한다는 것은 당연합니다. 그런 다음 코드에 따라 데이터에 응답하십시오. 하지만 pybox2d는 C++에있는 box2d를 기반으로합니다. 익숙하지 않습니다. 그렇다면 누가 나에게 충고를 줄 수 있을까요? 감사!

다른 속성 계획을 추천 해 드릴 수 있습니다.

답변

0

테스트 베드 테스트에서 바디를 선택하고 그 상태를 텍스트로 출력하는 방법이 좋습니다. 그러나 몸에 대한 이러한 종류의 추가 정보를 얻을 수있는 직접적인 방법은 없습니다 (Box2D 2.3.3 또는 이전 Testbed 프로그램에는 포함되지 않음).

나는이 아이디어가 테스트 베드의 기능 향상으로 좋다고 생각합니다. 나는 최소한 내가 my Box2D fork에서하는 것이 너무 어려울 것이라고 생각하지 않는다. 나는 이것을 위해 issue을 만들었습니다.

그동안 (해당 기능을 사용하여 테스트 베드를 빌드 할 때까지) 디버거를 통해 테스트 베드를 실행하고 중단 점을 사용하여이 정보를 얻을 수있었습니다. 그러나 어떤 데이터 구조가 어떤 본문과 관련되어 있는지 파악하고 중단 점을 트리거 할 때를 파악해야 할 필요가 없어 복잡합니다.

OTOH, Box2D의 C++ 버전에서 적어도 b2Body 개체에서 호출 할 수있는 메서드가 본체 상태를 가져 오는 프로그래밍 방식입니다. 예컨대 GetLinearVelocity()은 몸체의 선 속도를 얻습니다. 나는 pybox2d이 비슷하게 명명 된 액세서 메커니즘을 가지고 있다고 생각합니다.

+0

감사합니다. 이 사이트에서 더 나은 솔루션을 발견했습니다. http://www.danielslater.net/2015/12/how-to-run-learning-agents-against.html?m=1. 물론 그것은 내 케이크 다. 적용하기 쉽고 일부 스크린 샷을 만드십시오. 그리고 그것은 내가 노력 했어. 희망은 다른 사람들에게 도움이됩니다. – hotgarlic

관련 문제