MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

## Algorithm to calculate exploded views for CAD [closed]

I'm making a program to view 3D CAD models and would like to build in automated exploded views. All the assemblies that will be viewed are axi-symmetric. Some may not be, but the majority are. I'd like to figure out an algorithm for automatically moving parts in an assembly into an exploded view position. Here is an example of what I want to achieve through an algorithm (Sorry, don't have enough reputation to embed images):

http://i1238.photobucket.com/albums/ff487/davidohyer/exploded.jpg?t=1301331812

The only value I have to work with is the center of the bounding box of each part. If more information than that is needed, I can calculate more information, but it seems like it should be sufficient. The rough approach I have in mind is to calculate a vector from the origin of the assembly to the center of each part along the axi-symmetric axis, then calculate a radial vector to the center of the part with respect to the center axis. From there, I'd need to figure out some calculation that would be able to scale the position of each part along some combination of those two vectors. That's the part where I'm not quite sure what direction to go with this. The image I've included shows the exact functionality I'd like, but I want to be able to scale the position by any float value to expand or contract the exploded view, with 1.0 being the original assembled model. Any ideas?

-
This question does not seem on-topic to this site. As the FAQ explains, this site is devoted to math research questions. I don't know where to redirect you to, sadly... – Mariano Suárez-Alvarez Mar 28 2011 at 17:57
I figured this would fit here since it is dealing with the mathematical aspect of an exploded view. One paper that is along the lines of where I'm headed is here: vis.berkeley.edu/papers/exview3D/… – Davido Mar 28 2011 at 18:12
Perhaps the Graphic Design forum is appropriate? graphicdesign.stackexchange.com/faq – Ryan Budney Mar 28 2011 at 20:17
It seems that complex interlocking (think of Burr puzzles research.ibm.com/BurrPuzzles/…) will present challenges to any general algorithm. The SIG08 paper to which you link employs reasonable heuristics. Unless you abstract out a cleanly defined special case, this is not a question of mathematics, but rather a question of selecting heuristics appropriate for your circumstances. – Joseph O'Rourke Mar 28 2011 at 21:02
@Ryan: I tried out the graphicdesign page, and it seems that it is only for graphic artists, they don't like technical questions over there. @Joseph: That seems like it might be a good place to look. I'll check it out. Thanks. – Davido Mar 28 2011 at 22:13