1. Decomposing a complex 3d-object into convex objects?

My situation is this:

I have written a 3d-engine capable of rendering polygon objects. Instead of

sorting all polygons of an object, or using BSP-trees, I have devised an

alternate tree. I'm still rendering my scenes using the painters' algorithm.

To use this tree an object needs to made up of convex bodies, but that is no

problem in my case.

Traversing the tree gives me the correct drawing order of all convex bodies

of the object and voila, I can begin drawing it. The nodes of the tree

consist of all the planes where convex parts of the object are attached to

each other. The tree has a number of outcomes that equal the number of

possible drawing orders of the convex parts that the object has.

The only problem is: There's no 3d-editor that can make me my tree. So, I

can write my own editor (err, NOT!) or design objects as convex parts and

combine them afterwards (also not very easy), or I can try to determine (by

means of an algorithm) to decompose the object into convex parts.

What I am actually looking for right now is this:

Given an object consisting of multiple convex parts (all made of

polygons):

If I select a single polygon, I want the algorithm to determine all other

polygons that belong to the same convex part.

In the most ideal case, if a closed convex part does not exist containing

that polygon, I would like the algorithm to give all the polygons that could

make up a convex part, if one or more polygons were added to close the gap.

Example:

Suppose I have a convex part consisting of six polygons that form a cube.

If I select on one of the six polygons, I want the other five to be returned

by the algorithm.

Suppose I have a cube, but one side is not defined as a polygon (because for

example the cube is attached to another (bigger) surface on that side).

If I select one of the of the five (defined) polygons of the 'cube', I want

the algorithm to return the other four.

So my question is: Does such an algorithm exist?

If so: where can I find it?

If not: Have you got any idea how I could do this?

Feel free to ask if my explanation is not clear enough (I'm not sure I can

understand it).

Any help is greatly appreciated.

George van Venrooij

2. My Pants Are the Wrong Color!

3. Inventor; SoRayPickAction trough one triangle inside an object

4. 3dsmax network connection (TCP/IP) problem..I don't want it.

5. REQUEST: Code to decompose arbitrary polygons into triangles

6. ******** INDEO ********

7. Decomposing Concave Objects.

8. (07sep91) Frequently asked questions - READ THIS BEFORE YOU POST.

9. Missing triangles when object passes in front of another object

10. Inventor Object -> GL Object

11. Open Inventor - Traversing Indexed Triangle Strips?

12. Displaying Triangle meshes in Open Inventor