the ball pivoting algorithm ioannis stamos. points vs. meshes point-based vs. mesh-based...
TRANSCRIPT
![Page 1: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/1.jpg)
The Ball Pivoting Algorithm
Ioannis Stamos
![Page 2: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/2.jpg)
Points vs. Meshes
Point-based vs. Mesh-based representation.+ Fast rendering for complicated point-sets.+ No loss of information (all points used).+ No need for modeling of every tiny scene detail.- Rendering quality degrades when viewer zooms-in.- Computation waste in mainly planar areas.- Solid modeling operations not straightforward- Not supported in commercial modeling/rendering software
(Maya, etc.)
![Page 3: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/3.jpg)
Meshing Algorithms
• Input: Range Images– Range Image = Set of 3D points
• Output: Single mesh = topologically correct set of triangles (not triangle soup)
![Page 4: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/4.jpg)
Range Sensor Imaging Characteristics
Range Image:rectangular sampling
Image has structure surface elements occlusion elements
![Page 5: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/5.jpg)
From Points to Mesh [Single Image]
Sensing Direction
Discard long edges ?Threshold distance ?
Occlusion
![Page 6: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/6.jpg)
3D-modeling pipeline
3D-to-3D Registration
Meshing
Remove redundancy
Aligned meshes
Single Mesh
Range ImageAcquisition
![Page 7: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/7.jpg)
Methodology• Each range image is preprocessed
3D points P => 3D points with associated normals: (P, N)
• Bounding box enclosing all images computed
• Ball Pivoting Algorithm:– Input: 3D points and normals from all range images– Output: Triangular mesh
![Page 8: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/8.jpg)
N
P
•Patch fit in K by K neighborhood around point P•Eigenvector corresponding to smallest eigenvalue: normal•Magnitude of smallest eigenvalue: confidence in normal•Normal computed for every 3D point•Structure of range images used for K by K neighbourhood-1
Preprocessing Range Images
K by K neighbourhood around point P
![Page 9: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/9.jpg)
Neighborhood used for normal computation
Accurately computednormals in locally
planar regions
![Page 10: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/10.jpg)
Neighborhood used for normal computation
Two possibledirections
[towards outside]
![Page 11: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/11.jpg)
Neighborhood used for normal computation
Two possibledirections
[towards inside]
![Page 12: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/12.jpg)
Neighborhood used for normal computation
Consistent normaldirection
for all points
![Page 13: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/13.jpg)
Neighborhood used for normal computation
Consistent normaldirection
for all points
Choose outsideorientation
![Page 14: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/14.jpg)
Neighborhood used for normal computation
Inaccurately computednormals
close to boundaries
![Page 15: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/15.jpg)
Ball Pivoting Algorithm [Input]
• Points/normals of all range images in data structure• Connectivity of points in range images not needed anymore• Radius ρ selected by the user.
![Page 16: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/16.jpg)
Voxel-based data structure
x-axis
y-axis
ρ
ρ
Fast search for points within
circle of radiusρ
![Page 17: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/17.jpg)
Voxel-based data structure
x-axis
y-axis
ρ
ρ
Fast search for points within
circle of radiusρ
Need to search only inadjacent voxels
[9 in this picture –27 in 3D space]
![Page 18: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/18.jpg)
Voxel-based data structure
x-axis
y-axis
ρ
ρ
Fast search for points within
circle of radiusρ
Need to search only inadjacent voxels
[9 in this picture –27 in 3D space]
![Page 19: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/19.jpg)
Basic OperationsF. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, G. Taubin.
The ball-pivoting algorithm for surface reconstruction.
IEEE Trans. on Vis. and Comp. Graph. 5 (4), pages 349-359, October-December 1999.
A sequence of ball-pivoting operations. From left to right: A seed triangle is found; pivoting around an edge of the current front adds a new
triangles to the mesh; after a number of pivoting operations, the active front closes on itself; a final ball-pivoting completes the mesh.
Closely related to alpha-shapes, Edelsbrunner 94
![Page 20: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/20.jpg)
Seed triangles
A number of seed triangles with their associated spheres shown
![Page 21: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/21.jpg)
Pivoting in 2D
(a) Circle of radius ρ pivots from point to point, connecting them with edges.
(b) When sampling density is low, some of the edges will not be created, leaving holes.
(c) When the curvature of the manifold is larger than 1/ρ, some of the points will not
be reached by the pivoting ball, and features will be missed.
![Page 22: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/22.jpg)
The algorithm [Edge representation]
• Edge (si, sj)– Opposite point so, center of empty ball c– Edge: “Active”, “Boundary”, or “Frozen”
sisj
so
c
![Page 23: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/23.jpg)
Pivoting example
Active edge
Point on front
Initial seed triangle:Empty ball of radius ρ passes through the three points
![Page 24: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/24.jpg)
Pivoting example
Active edge
Point on frontBall pivoting around active edge
![Page 25: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/25.jpg)
Pivoting example
Active edge
Point on frontBall pivoting around active edge
![Page 26: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/26.jpg)
Pivoting example
Active edge
Point on frontBall pivoting around active edge
![Page 27: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/27.jpg)
Pivoting example
Active edge
Point on frontBall pivoting around active edge
![Page 28: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/28.jpg)
Pivoting example
Active edge
Point on frontInternal point
Ball pivoting around active edge
![Page 29: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/29.jpg)
Pivoting example
Boundary edge
Point on frontInternal point
Ball pivoting around active edgeNo pivot found
Active edge
![Page 30: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/30.jpg)
Pivoting example
Point on frontInternal point
Active edge
Ball pivoting around active edge
Boundary edge
![Page 31: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/31.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edgeNo pivot found
![Page 32: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/32.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edge
![Page 33: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/33.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edge
Frozen edge
Points in frozen region
![Page 34: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/34.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edge
Frozen edge
Points in frozen region
![Page 35: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/35.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edge
Frozen edge
Points in frozen region
![Page 36: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/36.jpg)
Pivoting example
Point on frontInternal point
Active edge
Boundary edge
Ball pivoting around active edge
Frozen edge
Points in frozen region
![Page 37: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/37.jpg)
Algorithm Snapshot
• 13 points (P1, …)• 4 voxels (V0, …)• 11 edges (E1, …)• Two loops: L1, L2
![Page 38: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/38.jpg)
Noisy data
(a) Points “below” surface level are not touched by the pivoting ball and remain isolated (and are discarded by the algorithm).
(b) Due to missing data, the ball pivots around an edge until it touches a sample that belongs to a different part of the surface. By checking that triangle and data point normals are consistently oriented, we avoid generating a triangle in this case.
(c) Noisy samples form two layers, distant enough to allow the ball to “walk” on both layers. A spurious small component is created.
![Page 39: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/39.jpg)
Ball Pivoting Algorithm
Overlapping scans
3D mesh
![Page 40: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/40.jpg)
Ball Pivoting Algorithm
3D mesh detail 3D mesh detail
![Page 41: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/41.jpg)
Out of core implementation• Process data in slices that fit in
memory• No limit in size of input• BPA’s active front provides
natural implementation• Of major importance for large
scale scenes
![Page 42: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/42.jpg)
Out of core implementation
Bounding box of scene
![Page 43: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/43.jpg)
Out of core implementation
Bounding box of sceneFirst slice in memory
Mesh forfirst slice
Frozen region
![Page 44: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/44.jpg)
Out of core implementation
Second slice in memory
Mesh forsecond slice
Frozen region
![Page 45: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/45.jpg)
Out of core implementation
Third slice in memory, etc.
Mesh forthird slice
Frozen region
![Page 46: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/46.jpg)
Out of core results
Part of the Great Hall mesh. The different colors correspond to meshes of different slicesproduced by the out-of-core implementation.
![Page 47: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/47.jpg)
Results
• Grand Central Station– Leica 4500 (phase-based)
• 27 input scans ~ 40 million points
• Split into 30 slices
• Preprocessing ~ 40 minutes
• Split operation ~ 37 minutes
• BPA out-of-core ~ 22 hours
[ Intel Xeon Processor at 2GHz, 2Gb of RAM]
• Output mesh ~ 7.95 million triangles / 4.19 million vertices
• Ball radius ρ = 0.2 meters ( ~ 7.87 inches)
![Page 48: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/48.jpg)
Results
• Grand Central Station– Cyrax 2500 (time of flight)
• 45 input scans ~ 45 million points• Split into 50 slices• Normal computation ~ 38 mins• Split operation ~ 65 mins• BPA out-of-core ~ 18 hours[ Intel Xeon Processor at 2GHz, 2Gb of RAM]• Output mesh ~7.74 million triangles / 3.98 million vertices• Ball radius ρ = 0.1 meters ( ~ 3.93 inches)
![Page 49: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/49.jpg)
Results
• Great Hall– Cyrax 2500 (time of flight)
• 27 input scans ~ 27 million points• Split into 30 slices• Normal computation ~ 20 mins• Split operation ~ 27 mins• BPA out-of-core ~ 3 hours[ Intel Xeon Processor at 2GHz, 2Gb of RAM]• Output mesh ~ 20.40 million triangles / 11 million vertices• Ball radius ρ = 0.03 meters ( ~ 1.18 inches)
![Page 50: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/50.jpg)
Out of core result [Great Hall]
![Page 51: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/51.jpg)
Out of core result [Grand Central]
![Page 52: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/52.jpg)
Out of core result [Grand Central]
![Page 53: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/53.jpg)
Out of core result [Great Hall]
![Page 54: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/54.jpg)
Out of core result [Great Hall]
![Page 55: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/55.jpg)
Out of core result [Great Hall]
![Page 56: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/56.jpg)
Out of core result [Great Hall]
![Page 57: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/57.jpg)
Out of core result [Grand Central]
![Page 58: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/58.jpg)
Out of core result [Grand Central]
![Page 59: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/59.jpg)
Out of core result [Grand Central]
![Page 60: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/60.jpg)
Advantages
• Efficient and conceptually natural algorithm• Provides topologically correct mesh• Faithfully follows data• Models scenes of any geometric type• Models scenes of any size (out of core)• Larger ball : cruder / smaller model • Smaller ball: sharper / larger model [captures detail]
![Page 61: The Ball Pivoting Algorithm Ioannis Stamos. Points vs. Meshes Point-based vs. Mesh-based representation. + Fast rendering for complicated point-sets](https://reader030.vdocuments.us/reader030/viewer/2022033105/56649d215503460f949f5f93/html5/thumbnails/61.jpg)
Disadvantages
• Ball radius ρ : does not adapt to local point density – Can use balls of increased radii [not a good solution]
• Sensitive to noisy normals– Smoothing of normals may help as pre-processing step
• Faithfully follows data– May need to smooth mesh as post-processing step
• Holes are generated– Small holes due to noisy normals or variable point density– Large holes in areas containing no data– A hole filling algorithm is essential [future work]