booleans
- From: "Lukáš Polok" <xpolok00@xxxxxxxxxxxxxxxxx>
- Date: Tue, 21 Feb 2006 16:32:55 +0100
hi!
i've been trying to implement boolean operators (like intersection,
subtraction) for 3D polygonal objects
my approach is to split all faces of object A that intersect faces from B
and vice versa. then trace rays from center of each face from A and look for
nearest intersection with B. when ray hits backface, it means the face from
A is inside B. if there's no intersection or intersection with frontface,
it's outside. then do the same for B, resulting in four lists of faces A, B,
A inside B, B inside A ... i can then perform all boolean operations by
removing certain group of faces. for example subtraction A - B. erase A
inside B, erase B outside A, flip normals for B inside A .. and voila ...
my problem is efficient algorithm for finding intersecting faces. right now,
i'm using some kind of BSP, realized trough two (for A and B) polygon index
lists, the whole algorithm looks very similar to quicksort. the problem is
as soon as i start splitting polygons, i have to add new splits into the
list, since certain polygons collide with more polygons ... it's very messy
code. anyone see better (or possibly faster / cleaner) sollution?
.
- Follow-Ups:
- Re: booleans
- From: david.romstad@xxxxxxx
- Re: booleans
- Prev by Date: Re: how a w=0 vertex is tranformed and rasterized?
- Next by Date: Re: Surface reconstruction from unorganized 3D points
- Previous by thread: CMYK RGB GrayScale
- Next by thread: Re: booleans
- Index(es):
Relevant Pages
|