Download presentation
Presentation is loading. Please wait.
Published byIris Harrell Modified over 9 years ago
1
Interactive Boolean Operations on Surfel-Bounded Solids Bart AdamsPhilip Dutré Katholieke Universiteit Leuven
2
Goal: CSG on free-form solids A-B ABABABAB ABABABAB AB union, difference and intersectionunion, difference and intersection on free-form solidson free-form solids at interactive ratesat interactive rates
3
“Bond of Union” 90k surfels 94k surfels 8FPS
4
Related work Kristjansson et al. [2001] subdivision surfaces Museth et al. [2002] level set framework Pauly et al. [2003] points and moving least squares surface ACM SIGGRAPH
5
Surfels are considered as small disks n position xposition x normal nnormal n radius rradius r position xposition x normal nnormal n radius rradius r x r surfels shown at half size
6
Three categories of surfels head surfels that lie completely helix helix surfels that lie completely head surfels with the other solid’s surface
7
Algorithm overview inside-outside partitioning classification of surfels resampling operator keep appropriate set of surfels Interactive loop Preprocess
8
Algorithm overview inside-outside partitioning classification of surfels resampling operator keep appropriate set of surfels Interactive loop Preprocess
9
For each solid an octree is constructed depth = 1 depth = 2 depth = 3
10
Classification of empty leaf cell as interior nsnsnsnss n s points away from the empty cell
11
Classification of empty leaf cell as exterior nsnsnsnss n s points towards the empty cell
12
Three types of leaf cells in the resulting octree InteriorBoundaryExterior
13
Partitioning of boundary cells using parallel planes P1P1P1P1 P2P2P2P2 All surfels between P 1 and P 2
14
P1P1P1P1 P2P2P2P2 s nsnsnsns The empty half-space of P 1 is interior n s points away from the empty space
15
P1P1P1P1 P2P2P2P2 s nsnsnsns The empty half-space of P 2 is exterior n s points towards the empty space
16
In 3D, the boundary cell is partitioned in three volumes Interior Boundary Exterior
17
Algorithm overview inside-outside partitioning classification of surfels resampling operator keep appropriate set of surfels Interactive loop Preprocess
18
Classification of surfels s 1 outside octrees 1 outside octree outside s 2 in exterior cells 2 in exterior cell outside s 3 in interior cells 3 in interior cell inside s1s1s1s1 s2s2s2s2 s3s3s3s3 s5s5s5s5 s4s4s4s4
19
Classification of surfels boundary cell surfels s 4 and s 5 in empty half-spaces:surfels s 4 and s 5 in empty half-spaces: s 4 outside s 5 inside s5s5s5s5 s4s4s4s4
20
Classification of surfels s t –search for nearest neighbor surfel t –test disks of s and t for intersection surfel s between parallel planes:surfel s between parallel planes: boundary cell
21
Use octree as acceleration structure root node intersects with boundary cells test children solid A solid B
22
Use octree as acceleration structure child node only intersects with exterior cells all surfels outside solid A solid B
23
Use octree as acceleration structure child node intersects with boundary cells test children solid A solid B
24
Use octree as acceleration structure leaf node only intersects with exterior cells all surfels outside solid A solid B
25
Use octree as acceleration structure leaf node still intersects with boundary cells test surfels individually solid A solid B
26
Inside-outside classification surfels classified in group 47% individual surfels not in boundary cells 26% surfels in empty space of boundary cells 22% surfels between parallel planes 5% 200k surfels
27
Inside-outside classification surfels classified in group 47% individual surfels not in boundary cells 26% surfels in empty space of boundary cells 22% surfels between parallel planes 5% NN search for only 5%, 80% of this 5% is intersecting 200k surfels
28
Algorithm overview keep appropriate set of surfels Interactive loop inside-outside partitioning Preprocess classification of surfels resampling operator
29
Algorithm overview inside-outside partitioning classification of surfels resampling operator keep appropriate set of surfels Interactive loop Preprocess
30
Resampling operator: motivation Include surfels Exclude surfels Resample surfels Intersection of two spheres
31
Resample surfel by smaller surfels clip surfels:clip surfels: –irregularly shaped surfels our method: resample surfels:our method: resample surfels: –surfel replaced by smaller surfels –only one type of primitive
32
Close-up of resampled surfels surfels shown at half size
33
Resampling results in sharp edges and corners 350k surfels 4.4FPS 230k surfels 46k surfels
34
Local smoothing eliminates sharp creases smoothing no smoothing 3.3FPS 250k surfels 650k surfels 340k surfels
35
“Bond of Union” 350k surfels 370k surfels 2FPS
36
Advantages fast classification sharp edges and corners only one type of primitive octree is easy to update Limitations partitioning might fail in case of incorrectly oriented surfels choice of parallel planes is not always optimal DiscussionDiscussion
37
ConclusionConclusion Contributions fast inside-outside test resampling operator Future work CSG operations on mixed polygon-surfel models implementation on GPU
38
AcknowledgementsAcknowledgements graphics group K.U.Leuven the reviewers aspirant F.W.O.-Vlaanderen
40
Remark: surfels are considered being disks, not just points enlarge bounding boxes for overlap tests
41
Remark: surfels are considered being disks, not just points translate planes in boundary cells
42
Choice of parallel planes is not always optimal
43
Comparison with the technique of Pauly et al. Pauly et al.Adams and Dutré Surface representation Points and MLS surface Disks NN search Kd-treeOctree + TINN Intersection curve Points on curve Disks intersect on curve Rendering Surface splatting extended with clipping Rendering of disks (any surfel rendering algorithm)
44
Surfels close to surface of other solid Inside with our technique, outside with the technique of Pauly et al. Solutions: denser sampling differential points (Kalaiah and Varshney)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.