Spatial Deformations: FFDs, wires, wraps. Karan Singh

Similar documents
FACIAL RIGGING FOR 3D CHARACTER

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Blender 3D Animation

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Modeling Curves and Surfaces

Essential Mathematics for Computer Graphics fast

Geometric Modelling & Curves

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

animation animation shape specification as a function of time

Figure 2.1: Center of mass of four points.

Finite Element Formulation for Plates - Handout 3 -

Digital 3D Animation

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 /

1. Abstract 2. Introduction 3. Algorithms and Techniques

animation shape specification as a function of time

N. Burtnyk and M. Wein National Research Council of Canada

OpenFOAM Optimization Tools

Computer Animation: Art, Science and Criticism

Constrained curve and surface fitting

How To Use Design Mentor

From Scattered Samples to Smooth Surfaces

Mean Value Coordinates

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

Optical modeling of finite element surface displacements using commercial software

Overset Grids Technology in STAR-CCM+: Methodology and Applications

CHAPTER 1 Splines and B-splines an Introduction

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Computer Animation. Lecture 2. Basics of Character Animation

Part-Based Recognition

Introduction to Computer Graphics

Metrics on SO(3) and Inverse Kinematics

PARAMETRIC MODELING. David Rosen. December By carefully laying-out datums and geometry, then constraining them with dimensions and constraints,

CFturbo Modern turbomachinery design software

CATIA V5R21 - FACT SHEET

Virtual Humans on Stage

CATIA Wireframe & Surfaces TABLE OF CONTENTS

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

A Short Introduction to Computer Graphics

Spatial Pose Trees: Creating and Editing Motions Using a Hierarchy of Low Dimensional Control Spaces

TwinMesh for Positive Displacement Machines: Structured Meshes and reliable CFD Simulations

Math 241, Exam 1 Information.

The basis functions of normalized simplex splines are then defined

Laminar Flow in a Baffled Stirred Mixer

Modelling 3D Avatar for Virtual Try on

Computer Animation Curriculum : An Interdisciplinary Approach

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Real-Time Animation of Realistic Virtual Humans

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling

Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON

Solving Simultaneous Equations and Matrices

Lecture 9: Geometric map transformations. Cartographic Transformations

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

Analyzing Facial Expressions for Virtual Conferencing

Maya 2014 Basic Animation & The Graph Editor

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Efficient Storage, Compression and Transmission

Kinematical Animation

Character Animation from 2D Pictures and 3D Motion Data ALEXANDER HORNUNG, ELLEN DEKKERS, and LEIF KOBBELT RWTH-Aachen University

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

A Mathematica Package for CAGD and Computer Graphics

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS

Generative Shape Optimizer

Finite Elements for 2 D Problems

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

CS 4204 Computer Graphics

Fundamentals of Computer Animation

How To Draw A 3D Virtual World In 3D Space (Computer Graphics)

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Finite Element Method (ENGC 6321) Syllabus. Second Semester

Volumetric Meshes for Real Time Medical Simulations

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Automated moving mesh techniques in CFD

Generative Shape Design

2.5 Physically-based Animation

Plates and Shells: Theory and Computation - 4D9 - Dr Fehmi Cirak (fc286@) Office: Inglis building mezzanine level (INO 31)

Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

Course Description. Spring

the points are called control points approximating curve

Algebra Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

3D Face Modeling. Vuong Le. IFP group, Beckman Institute University of Illinois ECE417 Spring 2013

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Modeling Tools Objectives. Sweeps and Lofts. Loft Feature

B4 Computational Geometry

Transcription:

Spatial Deformations: FFDs, wires, wraps Karan Singh

What are spatial deformations? Functional mapping from. Affine Transformations Nonlinear Deformations Axial Deformations Free-form Deformations Wires Increasingly complex 2

Why spatial deformations? Surface deformation may require the coordinated control of many points defining the surface. easy difficult 3

Grid Deformation Deformation used for film Faim (NFB 1974) using bilinear interpolation within grid cells. 4

Notion of spatial deformation Bezier introduced the idea of deforming shape through a mapping implemented as a free-form (tensor product) spline. 5

Nonlinear deformations Barr 1984: Apply an affine transformation whose parameters vary spatially. z f s 1 0 z Taper: p =S xy p, where the scale value s in the xy plane S xy, is a function of p.z, s(z)= (maxz z). (maxz minz) 6

Nonlinear deformations Barr 1984: Apply an affine transformation whose parameters vary spatially. Twist Bend Compound 7

Axial Deformations Lazarus et al 1994: Apply the transformation of a proximal reference frame along a curve. 8

Free-form Deformations Sederberg and Parry 1986: Grid deformation in 3D using tricubic Bezier interpolation. 9

FFD Algorithm Define a local coordinate frame on a parallelopiped. Compute the (s,t,u) coordinates of any point in the parallelopiped. Impose an (l,m,n) grid of control points on the parallelepiped. Move the control points around. Evaluate new position of model point based on trivariate Bersntein polynomials or other type of volumes. f [T.Sederberg & S.Parry 86] 10

FFD Algorithm A point in the STU coordinate system: A deformed point: 11

FFD Shortcomings [T.Sederberg & S.Parry 86] Parallelopiped lattice shape limits deformation shape. No control over spatial distribution of control points. Bezier basis functions have a global influence. Discontinuity in deformed space at lattice boundary. How do overlapping lattices deform space? 12

FFD Shortcomings B-spline basis FFD (Purgathofer). Extended FFD (Coquillart) decasteljau FFD (Chang & Rockwood) Catmull-Clark FFD (McCracken & Joy) Dirichlet FFD (Moccozet & Thalmann) 13

Extended FFD Edit the lattice before associating the model with it. Arbitrary lattices: Prismatic lattices Tetrahedral 14

Computing (s, t, u) coordinates Subdivision. Newton iteration. Projection (limited, but fast). 15

De Casteljau FFD Sequence of affine transformations z x 2. z 2 x 3. z 3 p 2 p 3 x p. x 1. z 1 z 0. x 0. p 1 p 0 f( p z ) 16

Catmull-Clark FFD Lattice = subdivision volume. [R.MacCracken & K.Joy 96] vertex point edge point face point cell point How do we parameterize a point in the lattice? 17

Catmull-Clark FFD Find position of p in lattice and hold local coordinates. Move lattice. Trace new position of p in new lattice using local coordinates. point location: path through subdivision + local cell coordinates p. p. 4-cell [R.MacCracken & K.Joy 96] 18 [R.MacCracken & K.Joy 96]

Dirichlet FFD Lattice implied by Voronoi space. Sibson coordinates used as a linear interpolant. Smoothed by multivariate Bernstein polynomials. c 1 c 2 c 5 p. A c 3 a 1 a 2 a 5 a 3 a 4 c 4 [L.Moccozet & N.Magnenat-Thalman 97] 19

Continuity, overlap at lattice boundaries 20

Space deformations and surface resolution Surface resolution and topology is still a problem! 21

Coffeeeeeeeeeeeeee 22

Motivation for Wires and wraps To provide a direct object deformation tool that is independent of the object s underlying geometric representation. To provide a minimalist visual model of the object that highlights the important deformable features of the object. 23

Inspiration Wires define and control an object s features like a sculptor s armature. Projections of wire curves directly map to sketches or line drawings of the object. 24

Contributions Effective deformation technique employing space curves and implicit functions (wire). An implicit function primitive defined by space curves (wire). Effective deformation technique using polymeshes (wrap). Multiresolution modeling appeal of subdivision surfaces made applicable to arbitrary surface representations (wrap). Construction of the deformer from underlying geometry can be automated (wire,wrap). An efficient and controlled approach to the aggregation of multiple deformations (wire,wrap). 25

Wire Overview Wire definition and algorithm. Spatial control of wire parameters. Multiple wire interaction. 26

Wire definition A free-form curve whose manipulation deforms an associated object (or space). W :The wire curve. A free-form curve representing the wire. R : The reference curve. A copy of W is made when objects are bound to the wire. r : Radius of influence around the wire. s : Radial scaling factor around the wire. f : Scalar sigmoid function + ->[0,1] (density function). 27

Wire definition 1 f(x) 0 x 1 28

Wire algorithm (Binding) Binding an object to a wire < W,R,r,s,f > For every point P representing the object: Calculate p R, the parameter value corresponding to the Euclidean closest point to P on curve R, R(p R ). Calculate F(P,R), the influence function for curve R at P. 29

Wire algorithm (Binding) Influence function F(P,R) of a wire < W,R,r,s,f > at a point P : F(P,R) = f ( P-R(p R ) ). r 30

Wire algorithm (Deformation) Deforming an object by the wire < W,R,r,s,f > For every point P representing the object: Scale P by a factor of s radially around R. Rotate the result around R( p R ) by the angle between the tangents to curves W and R at parameter value p R. Translate the resulting point by the relative translation of points on curve W and R at parameter value p R. 31

Wire algorithm (Deformation) Deformation of a point P by a wire <W,R,r,s,f> Scale 32

Wire algorithm (Deformation) Deformation of a point P by a wire <W,R,r,s,f> Rotate 33

Wire algorithm (Deformation) Deformation of a point P by a wire <W,R,r,s,f> Translate 34

Wire algorithm (Deformation) Deforming an object by the wire < W,R,r,s,f > For every point P representing the object: Scale P by a factor of s radially around R. Rotate the result around R(p R ) by the angle between the tangents to curves W and R at parameter value p R. Translate the resulting point by the relative translation of points on curve W and R at parameter value p R. 35

Wire algorithm parameters Varying r Varying s Tangency and Twist 36

Spatial control of wire parameters Locators : define wire parameter values by interpolating along the wire curve. Domain Curves : spatially define wire parameter values using free-form curves. 37

Domain curve algorithm 38

Domain curve algorithm 39

Domain curve algorithm 40

Multiple Wires A smooth union of individual wire deformations defines overall shape (Sculptor s armature metaphor) : Let the i th wire displace a point P by DP i : n P def = P + S ( DP i m DP i ) i=1 n S ( DP i m ) i=1 Behavior varies from an average at m=0 to max(dp i ) for large m. 41

Multiple Wires Integrated deformation Additive deformation deformation 1 deformation 2 m=1 m=5 42

Multiple Wires (local control) Control for wire curves in the proximity of the curve to limit global deformation in a region : Let the i th wire displace a point P by DP i : n P def = P + S (F(P,R i ) k DP i ) i=1 n S F(P,R i ) k i=1 Behavior in a region of the object is strongly influenced by proximal wires for large k. 43

Multiple Wires (local control) Global control Local control 44

Wrap definition A polymesh whose manipulation deforms an associated object (or space). D:The wrap deformer mesh. R : The reference mesh. A copy of D is made when objects are bound to the wrap. r : Radius of influence around the mesh. local : Scalar to control locality of deformations. f : Scalar sigmoid function + ->[0,1] (density function). 45

Wrap algorithm (Binding) Every face of the mesh R is a control element k. Influence function F(P,k) of a wrap at a point P : F(P,k)= f( dist(p,k)). local P is computed in a coordinate system local to control element k. 46

Wrap algorithm (Deformation) Every face of the mesh D is a control element k. P is deformed to preserve the local coordinates computed when bound to the control element k. The overall deformation to point P is a weighted - average of the deformation from all control elements based on their influence function. 47

Example Applications Facial animation. Wrinkles. Kinematics for flexible skeletons. Character skinning workflow. 48

Wrinkles Wrinkle propagation 49

Kinematics for flexible skeletons No flexibility Highly flexible 50

Automated Character Skinning Create wrap meshes from skin geometry. Stitch to a single skin mesh. Bind wrap mesh to the skeleton Bind skin to wrap mesh. Customize : Add resolution, skeletal control to the wrap mesh. Edit the mapping from skin to control elements of the wrap mesh. 51

Automated Character Skinning Create wrap meshes from skin geometry. Stitch to a single skin mesh. 52

Automated Character Skinning Bind wrap mesh to the skeleton Bind skin to wrap mesh. 53

Automated Character Skinning Examples 54

Summary An effective deformation technique employing space curves and implicit functions. An efficient and controlled approach to the aggregation of the results of multiple deformations... An implicit function primitive defined by space curves. Applications that illustrate the power and utility of the described techniques. 55

Acknowledgements Alias Inc. Eugene Fiume Alexis Angelidis 56