280 likes | 377 Views
Floating Point Geometric Algorithms. for Scientific Visualization. T. J. Peters www.cse.uconn.edu/~tpeters and E. L. F. Moore. Rotate Molecule?. UMass, RasMol. Molecular Modeling?. Joining Geometry. Static Images. “A picture is worth a thousand words.”. BUT ,.
E N D
Floating Point Geometric Algorithms for Scientific Visualization T. J. Peters www.cse.uconn.edu/~tpeters and E. L. F. Moore
Static Images “A picture is worth a thousand words.” BUT, http://commfaculty.fullerton.edu/lester/writings/ad.html
Dynamic Scientific Visualization Approximately 11M translations per hour: 100 translations per frame, at 30 frames per second
Documented Animation Issues • Geri’s game: along boundary joins. • Resolution was data-specific. • Short time span was favorable DeRose, Kass and Truong, Subdivision surfaces in character animation, SIGGRAPH '98
Practical Animation Response • Accumulated error versus Maya alternative. • Used at BlueSky Studios (Ice Age II)
Approximation & Knots • Approximate & compare knot types: But recognizing unknot in NP (Hass, L, P, 1998)!! • Approximation as operation in geometric design • Preserve original knot type (even if unknown).
Bad Approximation! Self-intersect?
Good Approximation! Respects Embedding Via Curvature (local) Separation (global) (recognizing unknot in NP; Hass, L, P, 1998)
Approximation by PL interpolation problem solved !* Nr(B) B • Construct the boundary of an open neighborhood Nr(B)of curve B • The boundary (a pipe surface) will have a radius r, with the following conditions* • no local self-intersections • no global self-intersections *
Subdivision for graphics • Integration with sub-systems. • Generation of vertices. • Performance benefits. • Motion driven by chemistry and physics.
The Class of Unknotted Spline Curves with Knotted Control Polygons • Planar Degree 10 Bézier Curve P0 P9 P8 P1 P10 P5 P3 P2 P7 P6 P4 • note: the control polygon is self-intersecting
The Class of Unknotted Spline Curves with Knotted Control Polygons • 3D Degree 10 Bézier Curve P9 P0 P8 P1 P10 P5 P3 P2 P7 P6 • note: the control polygon is knotted
Algorithm for Isotopic Subdivision (cubic) Subdividing B until its control polygon is contained in Nr(B). a. Compute number of subdivisions required* b. Test to ensure there are no self-intersections Nr(B) Pk+2 B Pk+1 Pk+2 lk+2 lk+1 Pk qk,f lk+3 lk qk,i Cubic: no local knotting *
Algorithm for Isotopic Subdivision 1. Computing r for B Find minimum of a. separation distance [c(s) – c(t)] • c'(s) = 0 [c(s) – c(t)] • c'(t) = 0 b. radius of curvature 2r Cubic b-spline curve
Additional High Performance Issues Example: Blue Gene L, Macro-Molecule • Over 100,000 processors, with local geometry. • Join across all nodes (surfaces & curves). • Output to light-weight graphics clients raises bandwidth & architectural concerns. Andersson-Peters-Stewart, IJCGA 00 & CAGD 98
Credits • ROTATING IMMORTALITY • www.bangor.ac.uk/cpm/sculmath/movimm.htm • KnotPlot • www.cs.ubc.ca/nest/imager/ contributions/scharein/KnotPlot.html
Acknowledgements, NSF • I-TANGO,May 1, 2002, #DMS-0138098. • SGER: Computational Topology for Surface Reconstruction, NSF, October 1, 2002, #CCR - 0226504. • Computational Topology for Surface Approximation, September 15, 2004, #FMM -0429477. • IBM Faculty Award, 2005