Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2000 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}
(390) 
_{Aug}
(767) 
_{Sep}
(940) 
_{Oct}
(964) 
_{Nov}
(819) 
_{Dec}
(762) 

2001 
_{Jan}
(680) 
_{Feb}
(1075) 
_{Mar}
(954) 
_{Apr}
(595) 
_{May}
(725) 
_{Jun}
(868) 
_{Jul}
(678) 
_{Aug}
(785) 
_{Sep}
(410) 
_{Oct}
(395) 
_{Nov}
(374) 
_{Dec}
(419) 
2002 
_{Jan}
(699) 
_{Feb}
(501) 
_{Mar}
(311) 
_{Apr}
(334) 
_{May}
(501) 
_{Jun}
(507) 
_{Jul}
(441) 
_{Aug}
(395) 
_{Sep}
(540) 
_{Oct}
(416) 
_{Nov}
(369) 
_{Dec}
(373) 
2003 
_{Jan}
(514) 
_{Feb}
(488) 
_{Mar}
(396) 
_{Apr}
(624) 
_{May}
(590) 
_{Jun}
(562) 
_{Jul}
(546) 
_{Aug}
(463) 
_{Sep}
(389) 
_{Oct}
(399) 
_{Nov}
(333) 
_{Dec}
(449) 
2004 
_{Jan}
(317) 
_{Feb}
(395) 
_{Mar}
(136) 
_{Apr}
(338) 
_{May}
(488) 
_{Jun}
(306) 
_{Jul}
(266) 
_{Aug}
(424) 
_{Sep}
(502) 
_{Oct}
(170) 
_{Nov}
(170) 
_{Dec}
(134) 
2005 
_{Jan}
(249) 
_{Feb}
(109) 
_{Mar}
(119) 
_{Apr}
(282) 
_{May}
(82) 
_{Jun}
(113) 
_{Jul}
(56) 
_{Aug}
(160) 
_{Sep}
(89) 
_{Oct}
(98) 
_{Nov}
(237) 
_{Dec}
(297) 
2006 
_{Jan}
(151) 
_{Feb}
(250) 
_{Mar}
(222) 
_{Apr}
(147) 
_{May}
(266) 
_{Jun}
(313) 
_{Jul}
(367) 
_{Aug}
(135) 
_{Sep}
(108) 
_{Oct}
(110) 
_{Nov}
(220) 
_{Dec}
(47) 
2007 
_{Jan}
(133) 
_{Feb}
(144) 
_{Mar}
(247) 
_{Apr}
(191) 
_{May}
(191) 
_{Jun}
(171) 
_{Jul}
(160) 
_{Aug}
(51) 
_{Sep}
(125) 
_{Oct}
(115) 
_{Nov}
(78) 
_{Dec}
(67) 
2008 
_{Jan}
(165) 
_{Feb}
(37) 
_{Mar}
(130) 
_{Apr}
(111) 
_{May}
(91) 
_{Jun}
(142) 
_{Jul}
(54) 
_{Aug}
(104) 
_{Sep}
(89) 
_{Oct}
(87) 
_{Nov}
(44) 
_{Dec}
(54) 
2009 
_{Jan}
(283) 
_{Feb}
(113) 
_{Mar}
(154) 
_{Apr}
(395) 
_{May}
(62) 
_{Jun}
(48) 
_{Jul}
(52) 
_{Aug}
(54) 
_{Sep}
(131) 
_{Oct}
(29) 
_{Nov}
(32) 
_{Dec}
(37) 
2010 
_{Jan}
(34) 
_{Feb}
(36) 
_{Mar}
(40) 
_{Apr}
(23) 
_{May}
(38) 
_{Jun}
(34) 
_{Jul}
(36) 
_{Aug}
(27) 
_{Sep}
(9) 
_{Oct}
(18) 
_{Nov}
(25) 
_{Dec}

2011 
_{Jan}
(1) 
_{Feb}
(14) 
_{Mar}
(1) 
_{Apr}
(5) 
_{May}
(1) 
_{Jun}

_{Jul}

_{Aug}
(37) 
_{Sep}
(6) 
_{Oct}
(2) 
_{Nov}

_{Dec}

2012 
_{Jan}

_{Feb}
(7) 
_{Mar}

_{Apr}
(4) 
_{May}

_{Jun}
(3) 
_{Jul}

_{Aug}

_{Sep}
(1) 
_{Oct}

_{Nov}

_{Dec}
(10) 
2013 
_{Jan}

_{Feb}
(1) 
_{Mar}
(7) 
_{Apr}
(2) 
_{May}

_{Jun}

_{Jul}
(9) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2014 
_{Jan}
(14) 
_{Feb}

_{Mar}
(2) 
_{Apr}

_{May}
(10) 
_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(3) 
_{Dec}

2015 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(12) 
_{Nov}

_{Dec}
(1) 
2016 
_{Jan}

_{Feb}
(1) 
_{Mar}
(1) 
_{Apr}
(1) 
_{May}

_{Jun}
(1) 
_{Jul}

_{Aug}
(1) 
_{Sep}

_{Oct}

_{Nov}

_{Dec}

2017 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}
(1) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1
(4) 
2
(3) 
3
(3) 
4
(4) 
5
(10) 
6
(10) 
7
(6) 
8
(8) 
9
(1) 
10
(7) 
11
(7) 
12
(6) 
13
(6) 
14
(19) 
15
(1) 
16

17
(2) 
18
(3) 
19
(1) 
20

21
(2) 
22
(3) 
23
(2) 
24
(2) 
25

26
(3) 
27
(26) 
28
(4) 
29
(4) 
30







From: Nils Pipenbrinck <n.pipenbrinck@cu...>  20060410 19:22:41

And finally I'd like to throw my experiences into the list: I used the eigenvector method, but it's a good idea to later try all possible 45° rotations based from the result as well. If a rotated bbox is significant smaller, it's very very close to the optimium you'll get with an exhaused search. Nils 
From: <christer_ericson@pl...>  20060410 18:28:20

Andrew Willmott wrote: > The best solution I found was to use a hybrid: PCA (the eigenvector > stuff) to find the major axis, project all points into that plane, and > then use rotating callipers to find the minimal enclosing rectangle of > those points, i.e., the next two axes. This sounds backwards (or I misunderstand). I studied this problem (OBBfitting) a lot for my book and this approach you describe was explored by Barequet et al in 1996. However, their findings (and my tests agreed as far as I can recall) was that you want to pick the _smallest_ eigenvalue axis. Intuitively this makes sense because (a) the rotating calipers will find the minimum 2D area, so you want to give it the largest possible area to minimize and (b) you want the volume formed by this area and the axis height to be as small as possible, thus make the height small. > There is a full solution as discussed, but it's O(n^3). See Joseph > O'Rourke's "Computational geometry in C" for the original details. I'm not aware of anyone who was actually implemented O'Rourke's algorithm (certainly not O'Rourke himself). An alternative to O'Rourke's optimum method and that will perform better than the Barequet method above is to bruteforce fit the OBB, as already suggested in this thread. Ville Miettinen has talked about this approach on this list before and reported that they are using it in their systems with good results. I too got the best results using the bruteforce approach. Basically the ideas is to parameterize the orientation of the OBB in whichever way, sampling the orientation space first coarsely, then more finely around the best orientation found, repeatedly until you arrive at a mimimum. (That is, you hillclimb the search space.) Ville also suggested some worthwhile optimizations; check his posts or my book writeup for details. There is also a paper by Lahanas et al that uses a similar (hillclimbing) approach to OBBfitting. Christer Ericson, Director of Tools and Technology Sony Computer Entertainment, Santa Monica 
From: Andrew Willmott <awillmott@gm...>  20060410 17:00:21

The best solution I found was to use a hybrid: PCA (the eigenvector stuff) to find the major axis, project all points into that plane, and then use rotating callipers to find the minimal enclosing rectangle of those points, i.e., the next two axes. The reason this is a good idea is that PCA does not give you anything if the points are symmetrical. If your points are arranged in a sphere, it will give you random rotations. If they're arranged in a circle or square, you'll get the major (up) axis okay, but the remaining two axes will be random. (Though orthogonal.) For many applications, though, you expect the OBBs to be sections of surface, and thus have at least one detectable major orientation. Another variant, if you're after speed, and have triangle faces available as well as vertices, is to use the summed area normal to find the major axis instead of the jacobi, which can save quite a bit of time. There is a full solution as discussed, but it's O(n^3). See Joseph O'Rourke's "Computational geometry in C" for the original details. There is some source code here: http://www.cs.cmu.edu/~ajw/thesiscode/, fchcreate.tar Unfortunately there's not a single CalcOBB routine because I was doing it incrementally for this application, and the bbox calculation was decoupled from finding the cluster frame. But for the pieces look for FindMinEnclRect in fchtool, and makefch/Jacobi.cc. A. On 4/10/06, bukan iJam <bukan.ijam@...> wrote: > Hi guys. > > A better (IMHO) solution for better fitting bounding box would be by > using "rotating calipers". its sort of like brute force method for > finding best fitting bounding box(i think thats what Geza Herman was > trying to explain). although for high face count objects, PCA was > faster, it doesnt matter as the bounding box generation is a > preprocessing process. > Rotating calipers is simpler to implement, and provide better fitting > box. it just takes time to compute. if you search on the net for > rotating calipers, you can find its optimization, which speeds up > rotating calipers computation. > > if you still want to compute eigen vector, i suggested using > http://graphics.cs.uiuc.edu/~garland/class/realtime/dist/jacobi.cxx. > (which i used) > > a good resource for obb: > gottchalk thesis > dave eberly geometric tools > rapid library > opcode library > > good luck > On 4/10/06, Christian Sch=FCler <c.schueler@...> wrote: > > > > I have this function right here in my source. Too bad I cannot post it. > > But the basic process is really straightforward > > > > 1) get the barycenter and the covariance matrix > > > > 2) solve for eigenvalues and extract eigenvectors. this needs a polynom= ial > > of degree 3 solver. If there are 3 solutions > the problem is well beh= aved. > > If there are only 2 solution, the point cloud is somehow degenerate or > > symmetric in 1 axis (flat ellipsoid, for instance) and the 2 of the > > eigenvectors are arbitrary in a plane. If there's 1 solution, the point > > cloud is spherically symmetric or just a point, and the eigenvectors ar= e > > completely arbitrary. > > > > 3) call the eigenvectors the axes of the OBB and get the min/max extent= s > > along the eigenvectors and call this the extents of the OBB. > > > > Some refinements are possible like randomly jittering the axes and see = if > > you can get a progressively better fit, etc. > > > > > > > > Original Message > > From: gdalgorithmslistadmin@... > > [mailto:gdalgorithmslistadmin@...] On > > Behalf Of John Ratcliff > > Sent: Saturday, April 08, 2006 2:56 AM > > To: gdalgorithmslist@... > > Subject: [Algorithms] Best Fit Oriented Bounding Box > > > > > > > > > > Ok, I realize this may be a dumb question but I suppose that is the poi= nt. > > I want to do something that I believe should be really simple to do. I= n > > fact I have an enormous amount of reference material that implies the > > solution is simple. However, I have yet to find a solution that is > > presented in a form that, to me, makes common sense. > > > > > > > > I am curious, can anyone on this list direct me to a routine that does = the > > following: > > > > > > > > void computeOBB(unsigned int vcount,const float *points,float *sides,fl= oat > > *matrix); > > > > > > > > This hypothetical, and eminently useful, routine would accept an array = of 3d > > data points and return and oriented bounding box represented as > > 'width,depth,height' (stored in 'sides') and a 4x4 rotation and transla= tion > > matrix where the translation is the center of the box. > > > > > > > > I have found all manner of samples that compute some magical mathematic= al > > entity called an 'eigen vector' but when I try to use the matrix it > > produces it is not valid. > > > > > > > > Maybe I'm just dumb. In fact, I know I'm dumb. It just surprises me t= hat > > something so basic, so common, isn't just laying around in a Gem somewh= ere. > > In fact, it probably is and I haven't found it yet. Or, maybe the prob= lem > > is more difficult than I think and there are any number of possible 'be= st > > fit' oriented bounding boxes possible for an arbitrary point cloud. Ma= ybe > > this is, in fact, a really difficult optimization problem. > > > > > > > > I would appreciate a code snippet and, if you can't provide one, I will= just > > write my own the slow, painful, dumb way. I just hate writing code tha= t I > > figured I should find somewhere on the net as easily as a quaternion or > > matrix implementation. > > > > > > > > Thanks, > > > > > > > > John > > > > >  > <html> > > <body> > > <p align=3D"center"><a href=3D"mailto:bukan.iJam@..."> > <img border=3D"0" > src=3D"http://services.nexodyne.com/email/icon/fKQ5AEVc3b.qwg=3D=3D/hxDWr= Go=3D/R01haWw=3D/0/image.png" > width=3D"162" height=3D"21"></a> > <a href=3D"mailto:iJam_j@..."> > <img border=3D"0" > src=3D"http://services.nexodyne.com/email/icon/oVNkzDus/r7EbVdo=3D/SG90bW= FpbA=3D=3D/0/image.png" > width=3D"138" height=3D"21"></a> > <a href=3D"mailto:iJam_j@..."> > <img border=3D"0" > src=3D"http://services.nexodyne.com/email/icon/gzEjzTIq/8XuIrhw=3D/WWFob2= 8=3D/0/image.png" > width=3D"169" height=3D"21"></a></p> > > </body> > > </html> > > >  > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.asus.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642 > _______________________________________________ > GDAlgorithmslist mailing list > GDAlgorithmslist@... > https://lists.sourceforge.net/lists/listinfo/gdalgorithmslist > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > 
From: bukan iJam <bukan.ijam@gm...>  20060410 12:03:55

Hi guys. A better (IMHO) solution for better fitting bounding box would be by using "rotating calipers". its sort of like brute force method for finding best fitting bounding box(i think thats what Geza Herman was trying to explain). although for high face count objects, PCA was faster, it doesnt matter as the bounding box generation is a preprocessing process. Rotating calipers is simpler to implement, and provide better fitting box. it just takes time to compute. if you search on the net for rotating calipers, you can find its optimization, which speeds up rotating calipers computation. if you still want to compute eigen vector, i suggested using http://graphics.cs.uiuc.edu/~garland/class/realtime/dist/jacobi.cxx. (which i used) a good resource for obb: gottchalk thesis dave eberly geometric tools rapid library opcode library good luck On 4/10/06, Christian Sch=FCler <c.schueler@...> wrote: > > I have this function right here in my source. Too bad I cannot post it. > But the basic process is really straightforward > > 1) get the barycenter and the covariance matrix > > 2) solve for eigenvalues and extract eigenvectors. this needs a polynomia= l > of degree 3 solver. If there are 3 solutions > the problem is well behav= ed. > If there are only 2 solution, the point cloud is somehow degenerate or > symmetric in 1 axis (flat ellipsoid, for instance) and the 2 of the > eigenvectors are arbitrary in a plane. If there's 1 solution, the point > cloud is spherically symmetric or just a point, and the eigenvectors are > completely arbitrary. > > 3) call the eigenvectors the axes of the OBB and get the min/max extents > along the eigenvectors and call this the extents of the OBB. > > Some refinements are possible like randomly jittering the axes and see if > you can get a progressively better fit, etc. > > > > Original Message > From: gdalgorithmslistadmin@... > [mailto:gdalgorithmslistadmin@...] On > Behalf Of John Ratcliff > Sent: Saturday, April 08, 2006 2:56 AM > To: gdalgorithmslist@... > Subject: [Algorithms] Best Fit Oriented Bounding Box > > > > > Ok, I realize this may be a dumb question but I suppose that is the point= . > I want to do something that I believe should be really simple to do. In > fact I have an enormous amount of reference material that implies the > solution is simple. However, I have yet to find a solution that is > presented in a form that, to me, makes common sense. > > > > I am curious, can anyone on this list direct me to a routine that does th= e > following: > > > > void computeOBB(unsigned int vcount,const float *points,float *sides,floa= t > *matrix); > > > > This hypothetical, and eminently useful, routine would accept an array of= 3d > data points and return and oriented bounding box represented as > 'width,depth,height' (stored in 'sides') and a 4x4 rotation and translati= on > matrix where the translation is the center of the box. > > > > I have found all manner of samples that compute some magical mathematical > entity called an 'eigen vector' but when I try to use the matrix it > produces it is not valid. > > > > Maybe I'm just dumb. In fact, I know I'm dumb. It just surprises me tha= t > something so basic, so common, isn't just laying around in a Gem somewher= e. > In fact, it probably is and I haven't found it yet. Or, maybe the proble= m > is more difficult than I think and there are any number of possible 'best > fit' oriented bounding boxes possible for an arbitrary point cloud. Mayb= e > this is, in fact, a really difficult optimization problem. > > > > I would appreciate a code snippet and, if you can't provide one, I will j= ust > write my own the slow, painful, dumb way. I just hate writing code that = I > figured I should find somewhere on the net as easily as a quaternion or > matrix implementation. > > > > Thanks, > > > > John >  <html> <body> <p align=3D"center"><a href=3D"mailto:bukan.iJam@..."> <img border=3D"0" src=3D"http://services.nexodyne.com/email/icon/fKQ5AEVc3b.qwg=3D=3D/hxDWrGo= =3D/R01haWw=3D/0/image.png" width=3D"162" height=3D"21"></a> <a href=3D"mailto:iJam_j@..."> <img border=3D"0" src=3D"http://services.nexodyne.com/email/icon/oVNkzDus/r7EbVdo=3D/SG90bWFp= bA=3D=3D/0/image.png" width=3D"138" height=3D"21"></a> <a href=3D"mailto:iJam_j@..."> <img border=3D"0" src=3D"http://services.nexodyne.com/email/icon/gzEjzTIq/8XuIrhw=3D/WWFob28= =3D/0/image.png" width=3D"169" height=3D"21"></a></p> </body> </html> 
From: Andreas Brinck <Andreas.Brinck@me...>  20060410 11:51:21

> (once per model=20 > if you don't want the silhouettes of different models to=20 > merge).=20 Just realized that you could render the id's of the meshes and use this for edge detection. This way you can render all the meshes to a single texture. /A.B. ###########################################=0A= =0A= This message has been scanned by FSecure AntiVirus for Microsoft = Exchange.=0A= For more information, connect to http://www.fsecure.com/ 
From: Andreas Brinck <Andreas.Brinck@me...>  20060410 11:33:23

The problem with letting the artists create the mesh is that the thickness of the outline will depend on the distance to the viewer. A problem with both 'Option 1' and 'Option 2' below is that they won't just generate the external silhouette of the mesh but the internal contours as well. I would render the model with a single colour to a texture and use this buffer to do the edge detection (once per model if you don't want the silhouettes of different models to merge). This will only generate the external silhouette. /A.B. > Original Message > From: gdalgorithmslistadmin@...=20 > [mailto:gdalgorithmslistadmin@...] On=20 > Behalf Of Squirrel Eiserloh > Sent: den 7 april 2006 17:52 > To: gdalgorithmslist@... > Subject: RE: [Algorithms] Outline Render >=20 >=20 > Option 2 worked very well for us in Anachronox. >=20 > In fact, before it was implemented in code the artists=20 > realized they could do this with zero code support: just=20 > deliver the asset with a single model composed of both the=20 > normal mesh and the inflated/inverted/black mesh. >=20 > Also, by having the artists generate the inflated version we=20 > didn't have to bloat any triangles at render time or deal=20 > with the lessthanperfect underarm effects of simple=20 > scaling. Of course, this is assuming that you want=20 > celshading to be a property of the model rather than a=20 > rendering effect (which we were okay with at the time). >=20 > sq >=20 >=20 > Original Message > From: gdalgorithmslistadmin@... > [mailto:gdalgorithmslistadmin@...] On=20 > Behalf Of Jon Watte > Sent: Thursday, April 06, 2006 11:42 AM > To: gdalgorithmslist@... > Subject: Re: [Algorithms] Outline Render >=20 > Zafar Qamar wrote: >=20 > > I was wondering if anyone knows of a nice algorithm for=20 > the rendering > of outlines of a mesh? > > > > The best ones I've seen in a game so far are in Ghost=20 > Recon:Advanced > Warfighter on XBox360. >=20 >=20 > Option 1) read the Z buffer (or a float render target with depth > information) and render black where there are gross=20 > differences in edge (highpass filtering). >=20 > Option 2) Render in two passes, inflate the mesh (or move vertices > screenspace) in the second pass, rendering the mesh with=20 > reversed backface culling and allblack triangles (celshaded=20 > outline style). >=20 > Cheers, >=20 > / h+ >=20 >=20 >  >  The early bird gets the worm, but the second mouse gets the cheese. >=20 >=20 >  > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=3D110944&bid=3D241720&; > dat=3D121642 > _______________________________________________ > GDAlgorithmslist mailing list > GDAlgorithmslist@... > https://lists.sourceforge.net/lists/listinfo/gdalgorithmslist > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 >=20 >=20 >  > This SF.Net email is sponsored by xPML, a groundbreaking=20 > scripting language > that extends applications into web and mobile media. Attend=20 > the live webcast > and join the prime developer group breaking into this new=20 > coding territory! > http://sel.asus.falkag.net/sel?cmd=3Dk&kid=110944&bid$1720&dat=121642 > _______________________________________________ > GDAlgorithmslist mailing list > GDAlgorithmslist@... > https://lists.sourceforge.net/lists/listinfo/gdalgorithmslist > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_ida88 >=20 ###########################################=0A= =0A= This message has been scanned by FSecure AntiVirus for Microsoft = Exchange.=0A= For more information, connect to http://www.fsecure.com/ 
From: <c.schueler@ph...>  20060410 10:09:56

I have this function right here in my source. Too bad I cannot post it. But the basic process is really straightforward =20 1) get the barycenter and the covariance matrix=20 =20 2) solve for eigenvalues and extract eigenvectors. this needs a = polynomial of degree 3 solver. If there are 3 solutions > the problem = is well behaved. If there are only 2 solution, the point cloud is = somehow degenerate or symmetric in 1 axis (flat ellipsoid, for instance) = and the 2 of the eigenvectors are arbitrary in a plane. If there's 1 = solution, the point cloud is spherically symmetric or just a point, and = the eigenvectors are completely arbitrary. =20 3) call the eigenvectors the axes of the OBB and get the min/max extents = along the eigenvectors and call this the extents of the OBB. =20 Some refinements are possible like randomly jittering the axes and see = if you can get a progressively better fit, etc. =20 Original Message From: gdalgorithmslistadmin@... = [mailto:gdalgorithmslistadmin@...] On Behalf Of John = Ratcliff Sent: Saturday, April 08, 2006 2:56 AM To: gdalgorithmslist@... Subject: [Algorithms] Best Fit Oriented Bounding Box =09 =09 Ok, I realize this may be a dumb question but I suppose that is the = point. I want to do something that I believe should be really simple to = do. In fact I have an enormous amount of reference material that = implies the solution is simple. However, I have yet to find a solution = that is presented in a form that, to me, makes common sense. =20 I am curious, can anyone on this list direct me to a routine that does = the following: =20 void computeOBB(unsigned int vcount,const float *points,float = *sides,float *matrix); =20 This hypothetical, and eminently useful, routine would accept an array = of 3d data points and return and oriented bounding box represented as = 'width,depth,height' (stored in 'sides') and a 4x4 rotation and = translation matrix where the translation is the center of the box. =20 I have found all manner of samples that compute some magical = mathematical entity called an 'eigen vector' but when I try to use the = matrix it produces it is not valid. =20 Maybe I'm just dumb. In fact, I know I'm dumb. It just surprises me = that something so basic, so common, isn't just laying around in a Gem = somewhere. In fact, it probably is and I haven't found it yet. Or, = maybe the problem is more difficult than I think and there are any = number of possible 'best fit' oriented bounding boxes possible for an = arbitrary point cloud. Maybe this is, in fact, a really difficult = optimization problem. =20 I would appreciate a code snippet and, if you can't provide one, I will = just write my own the slow, painful, dumb way. I just hate writing code = that I figured I should find somewhere on the net as easily as a = quaternion or matrix implementation. =20 Thanks, =20 John 