@Minh: Hey Minh, regarding the XNA Oriented Bounding Boxes Intersection Test you posted on Jan 2007, I have been using it to determine if 2 static 3D objects intersect, it's quite light and useful, but recently a group of test data came, i found the result ran by the program was different with the MATLAB. (e.g : I drew the OBB in MATLAB, they are overlap but the program returned a "false"), not sure if it's an issue here.

I list one test case below:

 

OrientedBoundingBox x1 = new OrientedBoundingBox(new Vector3(-1.996, -1.919, -29), new Vector3(1.996, 1.919, 2));
OrientedBoundingBox x2 = new OrientedBoundingBox(new Vector3(-14.936, -14.918, -68.498), new Vector3(98.804, 21, 38));

x1.Transforms = new Matrix(-2.83193445325814E-16, 1.00000000000003, 8.30484626949687E-16, 0,

3.19189119579733E-16, -1.72619226575269E-15, 1.00000000000004, 0,
1.00000000000003, -2.32433765116848E-17, 1.38777878078145E-17, 0,
0.0323250668482836, 0.015000000002937, 0.0549999999999979, 1);

x2.Transforms = new Matrix(1.00000000000001, 5.963111949E-19, 3.309216756803E-16, 0,
-1.219727444E-18, 1, -9.96984249E-20, 0,
-6.617970060852E-16, 1.897353802E-19, 1.00000000000001, 0,
0.009000000000000011, -0.005999999999999991, 0.02, 1);

bool b = x1.Intersects(x2);    // in MATLAB these 2 OBB are overlap but here returns a FALSE

 

For accuracy requirements I changed the related float to double,  That would be highly appreciate if you and me could have a discussion about it, thanks a lot.

mail : hardcandy.14th@gmail.com