CUBIT Research
at the University of South Florida
Presented byEugene Fink
People
CUBIT teamSteve OwenByron Hanks
FacultySunil SaigalEugene Fink
Graduate studentsShiraj KhanMatt Boonstra
Undergrad studentsKevin AlbrechtPlamen StoyanovWill Frost
Tasks
• Spatial indexing
• Surface flattening
• Format conversion
• Code cleanup
Shiraj Khan
Kevin Albrecht
Matt Boonstra
Plamen Stoyanov
Will Frost
Tasks
• Spatial indexing
• Surface flattening
• Format conversion
• Code cleanup
, and areas , angles• Preserve lengths
Surface flattening
Problem:
• Map a faceted sur- face into the plane x
yz
u
v
Surface flattening
Methods:
• Orthogonal projection, FacetProjParamTool
• RoadKill (by Alla Sheffer), FacetParamTool
• RoadKill with hole patching, FacetParamTool
ProjectionFlatten a faceted surface byprojecting it onto a plane.
x
yz
Projection• Find the best-fit plane
• If there are overlaps, then report a failure
Drawback:Works only for near-flat surfaces.
x
yz• Project onto this plane
• Else, convert the projection into two coordinates u
v
RoadKill
An algorithm for flattening faceted surfaces,by Alla Sheffer and Eric de Sturler (2001).
• Minimizes the deformation of angles
• Uses Newton’s method to solve a constrained minimization problem
Drawback:Works only for surfaces without holes.
Patching holesClose all holes andthen apply RoadKill.
x
yz
Patching holes• Project a hole onto the best-fit plane
Drawback:Works only for near-flat holes.
x
yz
• Triangulate the resulting projection• Map the triangulation back onto the surface
Examples• Orthogonal projection
• RoadKill (by Alla Sheffer)• RoadKill with hole patching
Future extensions
• Patching complex holes
• Cracking faceted surfacesx
yz
u
v
Tasks
• Spatial indexing
• Surface flattening
• Format conversion
• Code cleanup
• Deletion of objects
• Addition of new objects
Spatial indexingProblem:Indexing and retrieval ofobjects in three dimensions.
• Retrieval of the nearest neighbors
• Retrieval of the objects that intersect a given object
Spatial indexing
Methods:
• Previous: R-trees (Guttman, 1984), RTree• Current: KD-trees (Bentley, 1975), KDDTree
• Future: R*-trees (Beckmann et al.,1990), RStarTree
KD-treesA binary tree for indexing ofpoints in multiple dimensions.
a
b
c
d
e f
ab
c
d
e
fThis tree also allows:
• Indexing of boxes by their center points
• Indexing of arbitrary objects by their bounding boxes
KD-treesAdvantages:• Fast initial construction• Fast retrieval of points
Drawbacks:• Slow insertion• Slow deletion
Performance in CUBIT:KD-trees are usuallyfaster than R-trees.
Performance
number of facets
seco
nds
KD-trees1,000
30
10
110,000 100,000
Initial construction
3
KD-trees are faster than R-trees:• Construction is about 3 times faster• Retrieval is about 1.5 times faster
R-trees
Retrieval of points
KD-trees
R-trees
mill
isec
onds
1,000
30
10
110,000 100,000
3
number of facets
Future extensions
• Improving efficiency of KD-trees
• Implementing R*-trees
Tasks
• Spatial indexing
• Surface flattening
• Format conversion
• Code cleanup
Format conversion
• Converting between STL and facet format
• Loading and saving these formats
• Collapsing close pointsFacet
format
BinarySTL
ASCIISTL
Close pointsProblem:Identify and collapse all pairs of closely located points.
Methods:
• R-tree indexing, RTree
• Grid indexing, GridSearchTree
d
Grid indexing
Indexing of points by their locationsin a grid of equal-size cubes.
Grid indexing
• Divide the space into cubes ;the edge length is twice largerthan the collapsing distance
2 · d• Index points by cube locations; each cube is a bucket of points
• Given a point, retrieve the points in the same cube and seven adjacent cubes
d
Performance
number of facets
seco
nds
10 100 1,000 10,0000.01
0.1
110
1,000100
Exactcomparisons
Grid loading is ten to hundredtimes faster than R-tree loading.
Gridindexing
R-treeindexing
Future extensions
• Grid with templates for general use in CUBIT
• Basic repair of surfaces
x
yz
x
yz
Tasks
• Spatial indexing
• Surface flattening
• Format conversion
• Code cleanup
Code cleanup• User commands for saving faceted surfaces in STL and facet format• Newton-Raphson procedure in the advancing-front meshing• Arguments and returned values in the procedures for cutting spatial objects
• Testing the beta version of CUBIT 8
Future tasks
• Topology extraction
x
yz
• Decimation of facetsz
x
y
• Repair of surfacesx
yz
• Smooth representationx
yz
Future tasks
• Topology extraction
• Decimation of facets
• Repair of surfaces
• Smooth representation
Plamen Stoyanov
Kevin Albrecht
New student
New student
Matt Boonstra