Advanced Geometric Modeling CPSC789 Fall 2004 General information about the course
CPSC 789 Advanced Geometric Modeling Fall 2004 Lecture Time and Place ENF 334 TR 9:30 10:45 Instructor : Office: MS 618 Office Hours: TR 11:00-12:00 Phone: 210 9454 Email: samavati@cpsc.ucalgary.ca Home Page: www.cpsc.ucalgary.ca/~samavati Course Homepage http://pages.cpsc.ucalgary.ca/~samavati/cpsc789
General Information Course Subjects Introduction to spline modeling( Splines, B-spline, NURBS, parametric surfaces and volumes) Subdivision modeling (Knot insertion, curves and tensor product subdivision rules, arbitrary topology surface subdivision, data structures, Loop, Doo-Sabin, Butterfly and Catmull- Clark schemes, convergence and smoothness analysis, Eigen-analysis) Multiresolution modeling( wavelets, Harr wavelets, general formulation, filter banks, B-spline wavelets, reverse subdivision, progressive models, data structure) some new research results in subdivision and multiresolution Complementary Topics :?? Grading Project %60(Proposal, Reading papers, research, implementation, presentation, technical report) Proposal Due: October 12 In class exam %20( Tuesday, November 16, basic and fundamental materials) Assignment %20 (three) Text Eric J. Stollnitz, Anthony D. DeRose, and David H. Salesin Wavelets for Computer Graphics: Theory and Applications The Morgan Kaufmann Publishers,1996
References Gerald Farin Curves and Surfaces for CAGD: A Practical Guide, Fifth Edition The Morgan Kaufmann Publishers, October 2001 ISBN 1-55860-737-4 J.Warren and H. Weimer, Subdivision methods for geometric design, The Morgan Kaufmann Publishers, 2002 Armin Iske (Editor), Ewald Quak (Editor), Michael S. Floater (Editor) Tutorials on Multiresolution in Geometric Modelling Springer, 2002. Les Piegl and Wayne Tiller The NURBS Book, Springer, 1995. Online course: -myself -Subdivision for modeling and animation, course notes for SIGGRAPH 2000, D.Zorin, et.al. Overview of the course
Geometric Modeling geometric descriptions of objects special case of mathematical modeling the visual features are important? Mathematical Models (geometrical) Umm!? Mathematical Modeling! S
Spline Modeling First try : polynomial models Piecewise polynomial User Interaction!: Control points are used to define models More general than Bezier curves and surfaces B-spline Models Input: control points Output: piecewise polynomial Basis functions evaluation Support
B-spline Importance Most effective modeling technique in Computer Graphics, CAD/CAM, approximation theory and sampling[1] [1] M. Unser, "Splines: A Perfect Fit for Medical Imaging, Keynote address, Proceedings of the SPIE International Symposium on Medical Imaging: Image Processing (MI'02). Issues : Basis function evaluation Basis function evaluation is not an efficient method (real time application)
Issues : General Topology Easy for tensor-product and triangular patches
Issues : General Topology How about general topology surface? Subdivision approach
Increase the resolution: A Simple Algorithm Increase the resolution: a Simple algorithm Step Function : First order spline Basis (Scaling) functions: first order Bsplines Discontinuous and Blocky No overall smoothness
Curve example Increase the resolution: Chaikin subdivision left: ¾ ¼ right: ¼ ¾
Increase the resolution: Chaikin subdivision A better algorithm Third order (quadratic ) spline Scaling functions: third order Bspline First level of smoothness Corner cutting Filter values (left: ¾ ¼ right: ¼ and ¾)
Analysis of the Subdivision methods Necessary properties: Affine invariance Convergence Smoothness Analysis of Subdivision schemes smoothness? convergence? Subdivision Coarse points C k+1 = P k C k subdivision fine points P k has a regular banded structure No need to the basis functions
From Chaikin to Doo-Sabin Subdivision 3D corner cutting method Generalization of Chaikin Each step =2 stages Contracting and adjoining One Step of Doo Subdivision One Step of Subdivision (F,V) (NF,NV) Line Face Curve Surface
Edge-to-faces New Contracted Face New Contracted Face Mask Details Interior vertices 9/16 3/16 3/16 1/16 n= number of vertices on face
Examples Example of Doo Subdivision 3D Studio Max
Applications Multiresolution decreasing and increasing of the resolution at the same time Time and space efficiencies (non-redundancy) decomposition reconstruction
Applications Image pyramid: refine solution progressively Compression Multiresolution filter matrices decomposition and reconstruction filters (matrices) F A B C D C D P Q F C=A*F D=B*F F=P*C+Q*D
Wavelets A good approach to find the filters F A B C D C D P Q F Wavelets as Underlying Function Using underlying functions B-spline Wavelets Avoiding underlying functions Subdivision Reversing subdivision Our idea : constructing a multiresolution by reversing subdivision
Multiresolution filter matrices : Haar F A B C D C D P Q F C=A*F D=B*F F=P*C+Q*D Haar wavelets : extension on of the very simple algorithm (duplicating of pixels) simple to implement but Bspline wavelets not simple as Haar, however better result [1] M. Unser, "Splines: A Perfect Fit for Medical Imaging," Keynote address, Proceedings of the SPIE International Symposium on Medical Imaging: Image Processing (MI'02). [2] A.Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of L2, SIAM J,Math. Anal. 25(1994) 1412-1432. [3] F.F.Samavati and R.H.Bartels, Multiresolution curve and surface representation by reversing subdivision rules. Computer Graphics Forum, 18(2), 97-119, June 1999. [4] R.H. Bartels and F. F. Samavati, Reversing Subdivision Rules: Local Linear Conditions and Observations on Inner Products, Journal of Computational and Applied Mathematics, Vol. 119, Issue 1-2, pp. 29-67, 2000.
A filter for Chaikin (width 4) The simplest result : Typical row of A is Same magic numbers!! B Filter (width 4) Typical row of B is Again the same numbers!!
Q Filter (width 4) Typical column Results Haar PSNR=36.86 Level of decomposition from : 2 All details are removed Chaikin PSNR=37.91 Level of decomposition from : 2 All details are removed
2 1 3 1)original : 514 x 386 2) Haar one level of decomposition 50% of details, PSNR=45.91 3) Chaikin one level of decomposition 50% of details PSNR=48.2 4) Haar two levels of decomposition 0% of details, PSNR=36.86 5) Chaikin, two levels of decomposition 0% of details PSNR=37.91 4 5 Movie, Volume u A movie is a sequence of frames. Manipulate resolution of time t Transformation along a set of rays that the value of a pixel changing over time Image : I(x,y)=intensity of pixel at (x,y) Volume: I(x,y,z)= intensity (density of material) at (x,y,z) v t
Details as characteristic of the curves! Result Use captured details for simple base paths
Scan conversion Digitizer to the control points
Application example editing scanned deformed Application: Flexible Editing Stollnitz s Paper
Result (flexible editing) Texture Mapping Carry texture from coarse mesh over all finer meshes Add texture coordinates (t,s) to vertex coordinates Use subdivision scheme for control vertices in R 5