Skip to main content

3 Clarification Questions on the Collision Detection Algorithm

No replies
coffeecake
Offline
Joined: 2007-10-25

Hi everyone,

I've been sifting through all the posts I can find on collision detection, but I would like some clarification on something that seems conflicting to me.

The first statement is that java3d uses a form of a Bounding Volume Hierarchy (BVH) for quick pruning, and more specifically a binary hull tree (BHTree), which I know is not accessible via the API.
But in another 2 posts I read "java3d parses the scenegraph shape3d and creates another axis aligned bounding box tree" and "the internal spatial tree uses bounding boxes"

So, Question 1 is: Are the BHTree and AABB one in the same? I tried googling BHTree but it comes up with very little - instead, I've found a lot of stuff on "convex hull tree", so I'm also wondering if a BHTree is in fact used, is it of type convex hull tree?

Question 2 is: Does the non-accessible internal spatial tree only store information about Shape3D bounds in the scenegraph (which is what understood from reading the quoted post above), or all bounds of all types of Nodes in the scenegraph I create (I assumed the latter)? Let me clarify why I ask this. I observe that I can also arm a WakeupOnCollisionEntry with a TransformGroup, as such : WakeupOnCollisionEntry (myTG, TG BOUNDS) and detect the collision of two TransformGroups, or a TransformGroup with a shape, etc.

Question 3: Is it possible to confirm that the collision detection algorithm used is in fact NOT BASED on any of the X-Collide Algorithms (Q-Collide, V-Collide, or I-Collide) cuz I think I read yes in one forum and no in a the java3d forum (which I should trust more, but I'm still checking).

Thanks very much for your time and help :)