From: <pas...@bg...> - 2010-01-14 23:10:43
|
Hi vxl users, I need help using the 3D oriented bounding boxes In my case I have the vertex points (x,y,z) that create the oriented bounding box (OBB). I just want to use the function "contains" of the vgl_orient_box_3d class to find out if some points are inside or outside the above mentioned OBB. I compiled the example that comes with VXL but in this case they show how to create an OBB (Oriented Bounding Box) using AABB (Axis Aligned Bounding Box) and its corresponding quaternion. vgl_orient_box_3d (vgl_box_3d< Type > box, vnl_quaternion< double > orient) how do I generate the (vgl_box_3d) and the (vnl_quaternion) that would represent the oriented bounding box I already have?? Thank you very much for your help ... Sincerely, Julio |
From: Peter V. <pet...@ya...> - 2010-01-18 00:06:41
|
> In my case I have the vertex points (x,y,z) that create > the oriented bounding box (OBB). I just want to use the > function "contains" of the vgl_orient_box_3d class > to find out if some points are inside or outside the > above mentioned OBB. If I understand well, your three points (x,y,z), as seen from the origin, are mutually orthogonal. In that case they indeed define an oriented bounding box, and you have to determine the rotation quaternion that makes the three vectors (x,y,z) axis-parallel. A constructor should be added to vgl_orient_box_3d which takes 4 corner points (in your case, the points (0,0,0), x, y, z). That would simplify things for your case. Look at the vnl_quaternion constructor from a 3x3 transformation matrix. That matrix should have norm-one and mutually orthogonal rows. -- Peter. ___________________________________________________ Sök efter kärleken! Hitta din tvillingsjäl på Yahoo! Dejting: http://ad.doubleclick.net/clk;185753627;24584539;x?http://se.meetic.yahoo.net/index.php?mtcmk=148783 |
From: Peter V. <pet...@ya...> - 2010-01-18 23:23:07
|
I've just added a new constructor to vgl_orient_box_3d, which takes four corner points. So if you have a corner point and its 3 neighbours, and you are sure that there three directions are mutually orthogonal, this new constructor gives you the rectangular (but non-axis-aligned) bounding box around these points. -- Peter. -- __________________________________________________________ Låna pengar utan säkerhet. Jämför vilkor online hos Kelkoo. http://www.kelkoo.se/c-100390123-lan-utan-sakerhet.html?partnerId=96915014 |
From: Julio P. <pas...@bg...> - 2010-01-19 08:58:34
|
Thank your very much Peter I am going to test it right now I guess I have to use the CVS version ... thanks again Peter Sincerely Julio On Mon, 2010-01-18 at 15:22 -0800, Peter Vanroose wrote: > I've just added a new constructor to vgl_orient_box_3d, which takes four corner points. > So if you have a corner point and its 3 neighbours, and you are sure that there three directions are mutually orthogonal, this new constructor gives you the rectangular (but non-axis-aligned) bounding box around these points. > > -- Peter. > > > > > > > > > > > > > > > -- > > > __________________________________________________________ > Låna pengar utan säkerhet. Jämför vilkor online hos Kelkoo. > http://www.kelkoo.se/c-100390123-lan-utan-sakerhet.html?partnerId=96915014 |