mirror of
https://github.com/bulletphysics/bullet3
synced 2025-01-08 08:30:16 +00:00
43 lines
847 B
Python
43 lines
847 B
Python
import pybullet as p
|
|
import time
|
|
import numpy as np
|
|
|
|
import pybullet_data
|
|
|
|
p.connect(p.GUI)
|
|
p.setAdditionalSearchPath(pybullet_data.getDataPath())
|
|
p.loadURDF("plane.urdf")
|
|
p.loadURDF("sphere2.urdf",[0,0,2])
|
|
|
|
dt = 1./240.
|
|
p.setTimeStep(dt)
|
|
|
|
def getSceneAABB():
|
|
aabbMins=[]
|
|
aabbMaxs=[]
|
|
|
|
for i in range(p.getNumBodies()):
|
|
uid = p.getBodyUniqueId(i)
|
|
aabb = p.getAABB(uid)
|
|
aabbMins.append(np.array(aabb[0]))
|
|
aabbMaxs.append(np.array(aabb[1]))
|
|
|
|
if len(aabbMins):
|
|
sceneAABBMin = aabbMins[0]
|
|
sceneAABBMax = aabbMaxs[0]
|
|
|
|
for aabb in aabbMins:
|
|
sceneAABBMin = np.minimum(sceneAABBMin,aabb)
|
|
for aabb in aabbMaxs:
|
|
sceneAABBMax = np.maximum(sceneAABBMax,aabb)
|
|
|
|
print("sceneAABBMin=",sceneAABBMin)
|
|
print("sceneAABBMax=",sceneAABBMax)
|
|
|
|
getSceneAABB()
|
|
|
|
while (1):
|
|
p.stepSimulation()
|
|
time.sleep(dt)
|
|
|