Балансировочная коробка2d объекты

Пожалуйста, проверьте прикрепленное изображение, это своего рода качели. Но, как видно из изображения, черные тела имеют одинаковую плотность. А горизонтальный прямоугольник скрепляется с треугольником с помощью шарнира «Revolute». Но все еще не работает ни одно предложение. в текущей ситуации это должно быть сбалансировано.

введите здесь описание изображения


person Hamdullah shah    schedule 13.06.2013    source источник
comment
Я думаю, вам нужно отключить гравитацию, так как ваш код может использовать - (void) акселерометр: (UIAccelerometer *) акселерометр didAccelerate: (UIAcceleration *) ускорение;   -  person iphonic    schedule 13.06.2013
comment
Акселерометр не включен, чувак. и если гравитация отключена в box2d, то как это будет выглядеть естественно. :-)   -  person Hamdullah shah    schedule 13.06.2013


Ответы (2)


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

person iforce2d    schedule 13.06.2013
comment
Любой другой способ создать ? потому что в настоящее время он также быстро спит, чего я не хочу. Затем я попытался изменить тело, чтобы не спать, а затем и весь b2World, но все равно не работает. - person Hamdullah shah; 13.06.2013
comment
Я сомневаюсь в этом. Если он не сможет спать, он наклонится набок. Возможно, вы могли бы приложить небольшой крутящий момент, чтобы удержать его на одном уровне. - person iforce2d; 13.06.2013

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

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

person Andrew    schedule 13.06.2013