Feature Based Modeling and Design Alyn Rockwood Kun Gao KAUST.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Active Contours, Level Sets, and Image Segmentation
Copyright © Cengage Learning. All rights reserved.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
Dr. S.M. Malaek Assistant: M. Younesi
13 VECTOR FUNCTIONS.
Siggraph Course Mesh Parameterization: Theory and Practice Barycentric Mappings.
Offset of curves. Alina Shaikhet (CS, Technion)
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Mesh Parameterization: Theory and Practice Barycentric Mappings.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Parts of Mortenson Chapter 6-9,
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
(Spline, Bezier, B-Spline)
V. Space Curves Types of curves Explicit Implicit Parametric.
Curves.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Vector Computer Graphic. Vector entities Line Circle, Ellipse, arc,… Curves: Spline, Bezier’s curve, … … Areas Solids Models.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
GPH 338 Computer Animation Survey
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
Geometric Modelling 2 INFO410 & INFO350 S Jack Pinches
Ship Computer Aided Design
Keyframing and Splines Jehee Lee Seoul National University.
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Review CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Introduction to Curves
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
1 대상물체의 형상화를 위해 사용되는 기술  인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
© University of Wisconsin, CS559 Fall 2004
CURVES CAD/CAM/CAE.
Arc Length and Curvature
© University of Wisconsin, CS559 Spring 2004
UNIT-5 Curves and Surfaces.
Coons Patches and Gregory Patches
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Feature Based Modeling and Design Alyn Rockwood Kun Gao KAUST

Greetings from Saudi Arabia

Greetings from Journal of Graphics Tools Announcing a special issue of Geometric Algebra and Graphics Applications!

Modeling with rectangular patches: Problems “… current digital tools are unable to decouple the creative process from the underlying mathematical attributes of the surface.” -K. Singh Laying out patches Non-intuitive design curves: NOT what an artist would choose to represent face. Awkward patch layout

What is a “Feature?” Die Mathematiker sind eine Art Franzosen; redet man mit ihnen, so übersetzen sie es in ihre Sprache, und dann ist es also bald ganz etwas anderes. – Mathematicians are like Frenchmen; if you talk to them, they translate it into their own language, and then it is immediately completely different. –Johann Wolfgang von GoetheJohann Wolfgang von Goethe

What is a “Feature?” Boundaries, G 1 discontinuities, creases, high curvature regions, ridges, peaks…

Modeling with features A model that more closely reflects the artist’s conception

Desiderata Multisided patches. Feature curves are not always rectangular. Freeform topology. Does not constrain design by forcing on how to layout patch networks, rather than features. Floating curves and points. Interior attributes allow fine-tuning and richness with minimal input. General curve Input. trig functions and fractals, isolated points, derivative information such as slopes and curvature enhance modeling effects. G 2 continuity. Connecting patches smoothly Functionality. Compact database, rapidly computed, analytic surfaces and supports rendering.

Desiderata

A New Approach - foundations Discrete least squares minimizes  (x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 Weighted least squares minimizes  w i (x,y,z) [(x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 ] Where, for example w i (x,y,z) = 1 / [(x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 +  i ]

A New Approach In parameter space, find u i, the closest point on the i th footprint to given point u u u1u1 u2u2 u3u3

A New Approach In parameter space, find d i, the “distance” to closest point on the i th footprint u d3d3 d2d2 d1d1

A New Approach Footprints are pre-images of features in object space via feature maps f i. on the i th footprint. Define x i so that f i (u i ) = x i u1u1 u2u2 u3u3 x1x1 x2x2 x3x3 f3f3 f2f2 f1f1

A New Approach In object space, find weighted least squares solution of the x i where the weights w i (x,y,z) = 1 / d i x1x1 x2x2 x3x3 x

A New Approach F(u) = x u

A New Approach To summarize: From u find point on ith footprint and compute point on attribute to use it in least squares where weight is determined as reciprocal distance. Do it for all footprints

Example Move u See x move u x u2u2 u1u1 u3u3 x3x3 x1x1

Example When u is close to the footprint then the corresponding feature dominates because its distance is small. The interpolation property u x x1x1 x3x3 u3u3 u2u2 u1u1

Solving the least squares Let f i : (u,v)  (x,y,z), be the attribute functions Let w i : (u,v)  w i  R be the weight functions. For F = (x i (u,v), y i (u,v), z i (u,v) ) minimize: E =  i ||f i (u,v) - F|| 2 w i (u,v) Hence without loss  E/  x =  i [-2(x i (u,v) - x ) w i (u,v) + (x i (u,v) - x ) 2  w i (u,v) /  x] =  i [-2(x i (u,v) - x ) w i (u,v)]. Minimizing by setting it to 0  i x i (u,v) w i (u,v) = x  i w i (u,v). implies x =  i x i (u,v) w i (u,v) /  i w i (u,v). Putting it together:

Mildly surprising discovery F(u) =  w i (u)f i (u) /  w i (u) generalizes Shepard’s formula Weights and interpolants are defined in a separate parameter space with general distances

Convex combination The weights w i (u) /  w j (u) sum to 1 (partition of unity). F(u) is affinely invariant. The surface lies within the convex hull of the f i (u) The surface reproduces the plane/line.

Minimal energy “soap film” effect Three lines and a sine curve; no connection needed

Higher order continuity Let F(u) =  Ŵ i (u) 2 L i (u) where Ŵ i (u) = w i (u)/  j  w j (u) and the loft L i (u) = (1-s i ) f i (t i ) + s i g i (t i ). (s i and t i are distance and footprint parameter functions of u) F(u) is cotangent to the linear loft L i (u) along the attribute curve f i (t i ). Tangency is determined by g i (t i ).

Interpolation to derivatives Five sided, horizontal slope, varying loft f i (t i ) g i (t i )

Interpolation to derivatives Five sided and slopes, linear lofts

Interpolation to derivatives Five sided and slopes, linear lofts

G 1 continuity Theorem 1. If F(u) =  i [ R i (s i, t i )] (W i (u)/  i W i (u)) 2 are defined with separate footprints, where R i (s i, t i ) = (1- s i ) f i (t i ) + s i g i (t i ), then,  F(u 0, v 0 )/  u =  R i (0, t 0 )/  u and  F(u 0, v 0 )/  v =  R i (0, t 0 )/  v for point (u 0, v 0 ) on the footprint at parameter t 0. Parameter s i =s i (u,v) is the distance to the i th footprint Parameter t i =t i (u,v) is then parametric value of the nearest point on the i th footprint Theorem guarantees that if two patches share a common curve f i (t) and have two lofts that share tangent planes at the common curve, then the surface patches also share common tangent planes; they are G 1 at f i (t).

G 1 continuity Contouring of three and four- sided patch configuration. Matched lofts across curves and at vertices.

Higher order continuity Let F(u) =  Ŵ i (u) 3 Q i (u) where Ŵ i (u) = w i (u)/  j  w j (u) and Q i (u) = (1-s i ) 2 f i (t i ) + 2 (1-s i ) s i g i (t i ) + s i 2 h i (t i ). F(u) is cotangent to the parabolic loft Q i (u) along the attribute curve f i (t i ). Curvature is determined by g i (t i ) and h i (t i ).

G 2 continuity Let Q i (s,t) = (1-s) 2 f i (t) + 2(1-s)s g i (t) + s 2 h i (t) be a parabolic loft. Consider two such lofts for each i th footprint, namely QL i (s,t) and QR i (s,t), Theorem 2. Given surfaces L(u) =  i QL i (s,t) [W i (u)/  i W i (u) ] 3, and R(u) =  i QR i (s,t) [W i (u)/  i W i (u) ] 3 in which QL i (s,t) and QR i (s,t) meet with G 2 continuity on the boundary curves of L(u) and R(u), then L(u) and R(u) are G 2 continuous. Theorem 3. Given surfaces as in Theorem 2 where QL i (s,t) and QR i (s,t) meet with twist continuity on the boundaries of L(u) and R(u), then L(u) and R(u) are twist continuous.

G 2 Continuity Set of 2, 3, 4 and 5-sided patches Isophote showing curvature continuity

G 2 Continuity Highly reflective, aesthetic surfaces

Editability Multi-sided patches: Car with 2-, and 5-sided patches A-pillar a single 7-sided patch

Editability Minimal curve input for high expressive content

Editability Editting cuves across interior, arbitrary parameter position.

Editability Editting cuves across interior, arbitrary parameter position.

Editability– auto footprint Footprint space inferred from the shape of the patch. Automobile A-pillar: 7-sided and lengths …and flattening!

Editability– demo

Floating edges Unattached footprint maps to unattached attribute curve; surface interpolates floating curve

Floating edges – topology? A topologist is one who doesn't know the difference between a doughnut and a coffee cup. –John KelleyJohn Kelley

Floating edges Footprints are orthogonal projections of (red) attribute curves. Appalachian mountain trimmed to square (arbitrary, no polygon!)

Template parameter spaces Cylindrical footprint space. Circular footprints. Distance is is vertical height from point to circle. u distance

Template parameter spaces Similar shapes. Cylindrical footprint space reapplied to daffodil- twice. u distance

Interpolation to fractals Properly defined lofts yields slope of ridge brown = f i (t i ), red = g i (t i ).

Two-sided attributes, single patch Floating edge with two lofts. Switch loft on footprint – C 0 continuity gleft i (t i ) gright i (t i )

Two-sided attributes, single patch Several floating edges (7) with paired lofts. Switch lofts on footprint – C 0 continuity

Two-sided attributes, curves 7 Bezier curves with fractal noise is total data base

Floating edge with two attribute functions. Switch functions again – C -1 continuity! fleft i (t i ) fright i (t i ) Two-sided attributes, single patch

Several floating edges (3) with paired lofts. Antelope Island. Cliff

Closure of Parametric Curves Attributes include any parametric curve, which allows adding trigonometric noise, for example: f i new (t) = f i old (t) + [0, 0.3*sin(5*pi*t), 0.2*sin(4*pi*t)],

Closure of Parametric Curves – Trim curves Trimming from footprint (parameter) space to object space is traditional (5-sided, noise)

Closure of Parametric Curves – Watertight merging of two surfaces Using trim curve as an attribute for 3- sided

Closure of Parametric Curves – Watertight merging of two surface Moving 3-sided and trim curve

Closure of Parametric Curves – Watertight merging of two surface Emblem on shield and floating curve

Operations – degree of surface G 1 surface with cubic attributes: F(u) =  Ŵ i (u) 2 L i (u): For i th term: Cubic in t (parameter of attribute) Loft is linear in s (distance parameter) Weight is order (N-1) 2 over (N-1) 2 in s, where N is number of sides. For examples, if N=2, 3, 4, and 5 then degree in s is 2/1, 5/4, 10/9 and 16/15 (s and t are affine maps of u and v.)

Operations - order of computation Limit singularity, w i (u) is large number: F(u) =  i f i (u) w i (u) /  i w i (u). Computation is linear with number of attributes Remove singularity: F(u) =  i  j  i  / w j (u)] f i (u i ) /  i  j  i  / w j (u)]. Recall w j (u) is reciprocal distance Computation is quadratic with number of attributes

Economy of data/input ObjectPatches CurvesLofts Noises Auto body Cartoon bird Morning glory Appalachia Pikes Peak Daffodil A-pillar

Economy of data/input – Palo Duro Canyon captured with 128 edges

Thank you! It is impossible to be a mathematician without being a poet in soul. Sofia Kovalevskaya Poetry is as exact a science as geometry –Flaubert Geometry is as sublime an art as poetry - AR See also Sofia Kovalevskaya

Leif’s question Var. MeshAB surface Piecewise linearAlgebraically exact Numerical issuesAnalytic Mesh database( ) Small database( ) Vertex/feature editingAttribute editing PDE solutions (flow) None -yet Linear time in verticesLinear in attributes LOD re-initializeLOD add attributes Resolution re-initializeresample NoneFootprint issues