PyBullet: add batchRayCast.py example
This commit is contained in:
44
examples/pybullet/examples/batchRayCast.py
Normal file
44
examples/pybullet/examples/batchRayCast.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import pybullet as p
|
||||
import time
|
||||
import math
|
||||
|
||||
p.connect(p.DIRECT)#GUI)
|
||||
|
||||
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0)
|
||||
p.loadURDF("samurai.urdf")
|
||||
p.loadURDF("r2d2.urdf",[3,3,1])
|
||||
|
||||
|
||||
rayFrom=[]
|
||||
rayTo=[]
|
||||
|
||||
numRays = 2048
|
||||
rayLen = 13
|
||||
|
||||
|
||||
for i in range (numRays):
|
||||
rayFrom.append([0,0,1])
|
||||
rayTo.append([rayLen*math.sin(2.*math.pi*float(i)/numRays), rayLen*math.cos(2.*math.pi*float(i)/numRays),1])
|
||||
|
||||
timingLog = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS,"rayCastBench.json")
|
||||
for i in range (10):
|
||||
p.stepSimulation()
|
||||
for j in range (8):
|
||||
results = p.rayTestBatch(rayFrom,rayTo,j+1)
|
||||
|
||||
for i in range (10):
|
||||
p.removeAllUserDebugItems()
|
||||
p.removeAllUserDebugItems()
|
||||
|
||||
|
||||
rayHitColor = [1,0,0]
|
||||
rayMissColor = [0,1,0]
|
||||
#for i in range (numRays):
|
||||
# if (results[i][0]<0):
|
||||
# p.addUserDebugLine(rayFrom[i],rayTo[i], rayMissColor)
|
||||
# else:
|
||||
# p.addUserDebugLine(rayFrom[i],rayTo[i], rayHitColor)
|
||||
|
||||
#time.sleep(1./240.)
|
||||
|
||||
p.stopStateLogging(timingLog)
|
||||
Reference in New Issue
Block a user