Skeleton-Based Shape Deformation using Simplex Transformations

Similar documents
Skeleton-Based Shape Deformation Using Simplex Transformations

Skinning Mesh Animations

Large Mesh Deformation Using the Volumetric Graph Laplacian

CSE452 Computer Graphics

Scanning Real World Objects without Worries 3D Reconstruction

Geometric Modeling and Processing

Animation of 3D surfaces

Animation of 3D surfaces.

Computational Design. Stelian Coros

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel

Free-Form Deformation and Other Deformation Techniques

05 Mesh Animation. Steve Marschner CS5625 Spring 2016

2D Shape Deformation Using Nonlinear Least Squares Optimization

Pose Space Deformation A unified Approach to Shape Interpolation and Skeleton-Driven Deformation

Mesh-Based Inverse Kinematics

Skeleton Based As-Rigid-As-Possible Volume Modeling

CSE 554 Lecture 7: Deformation II

The diagram above shows a sketch of the curve C with parametric equations

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

As-Rigid-As-Possible Shape Manipulation

Topological Issues in Hexahedral Meshing

Generalized barycentric coordinates

Easy modeling generate new shapes by deforming existing ones

Learning Log Title: CHAPTER 6: TRANSFORMATIONS AND SIMILARITY. Date: Lesson: Chapter 6: Transformations and Similarity

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

AQA GCSE Further Maths Topic Areas

Morphing based on strain field interpolation

APPLICATION OF INTERACTIVE DEFORMATION TO ASSEMBLED MESH MODELS FOR CAE ANALYSIS

Skeletal deformation

Question 2: Linear algebra and transformations matrices rotation vectors linear transformation T=U*D*VT

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1

The 3D DSC in Fluid Simulation

Video based Animation Synthesis with the Essential Graph. Adnane Boukhayma, Edmond Boyer MORPHEO INRIA Grenoble Rhône-Alpes

CSC418 / CSCD18 / CSC2504

Assignment 4: Mesh Parametrization

2.0 Trigonometry Review Date: Pythagorean Theorem: where c is always the.

SCAPE: Shape Completion and Animation of People

Polar Coordinates. 2, π and ( )

Robust Human Body Shape and Pose Tracking

Game Programming. Bing-Yu Chen National Taiwan University

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

CS 775: Advanced Computer Graphics. Lecture 4: Skinning

Re-imagining Vivaldi with HTML5/WebGL. PhD Candidate: Djuro Mirkovic Supervisors: Prof. Grenville Armitage and Dr. Philip Branch

Parameterization of triangular meshes

Supplementary Information. Design of Hierarchical Structures for Synchronized Deformations

MATH3016: OPTIMIZATION

Parameterization. Michael S. Floater. November 10, 2011

Surface Simplification Using Quadric Error Metrics

Geometric Modeling Assignment 5: Shape Deformation

PAST QUESTIONS ON INTEGRATION PAPER 1

UNIT 1 SIMILARITY, CONGRUENCE, AND PROOFS Lesson 6: Defining and Applying Similarity Instruction

Numerical Geometry of Nonrigid Shapes. CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

Lecture 6 Introduction to Numerical Geometry. Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018

Chapter 7 Coordinate Geometry

The SIFT (Scale Invariant Feature

Specification and Computation of Warping and Morphing Transformations. Bruno Costa da Silva Microsoft Corp.

practice: quadratic functions [102 marks]

Translations, Reflections, and Rotations

DD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication

10 - ARAP and Linear Blend Skinning

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

ADVANCED EXERCISE 09B: EQUATION OF STRAIGHT LINE

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Assignment 5: Shape Deformation

animation computer graphics animation 2009 fabio pellacini 1

Def De orma f tion orma Disney/Pixar

Happy Endings for Flip Graphs. David Eppstein Univ. of California, Irvine Computer Science Department

Computer Graphics I Lecture 11

UNIT 2 2D TRANSFORMATIONS

2Surfaces. Design with Bézier Surfaces

Trig Functions, Equations & Identities May a. [2 marks] Let. For what values of x does Markscheme (M1)

Analytic Spherical Geometry:

Shape Optimization for Consumer-Level 3D Printing

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Deforming Objects. Deformation Techniques. Deforming Objects. Examples

.(3, 2) Co-ordinate Geometry Co-ordinates. Every point has two co-ordinates. Plot the following points on the plane. A (4, 1) D (2, 5) G (6, 3)

3.0 Trigonometry Review

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Shape Modeling and Geometry Processing

Problem 2.1. Complete the following proof of Euclid III.20, referring to the figure on page 1.

Homework Questions 1 Gradient of a Line using y=mx+c

Cross-Parameterization and Compatible Remeshing of 3D Models

Unit 2: Trigonometry. This lesson is not covered in your workbook. It is a review of trigonometry topics from previous courses.

Guidelines for proper use of Plate elements

Information Coding / Computer Graphics, ISY, LiTH. Splines

DD2429 Computational Photography :00-19:00

Kernels for Structured Data

P1 REVISION EXERCISE: 1

Education Resources. This section is designed to provide examples which develop routine skills necessary for completion of this section.

Spectral Surface Reconstruction from Noisy Point Clouds

Geodesics in heat: A new approach to computing distance

Topological Data Analysis - I. Afra Zomorodian Department of Computer Science Dartmouth College

Animation COM3404. Richard Everson. School of Engineering, Computer Science and Mathematics University of Exeter

Bellman s Escape Problem for Convex Polygons

CHAPTER 40 CARTESIAN AND POLAR COORDINATES

Transcription:

Computer Graphics International 2006 Skeleton-Based Shape Deformation using Simplex Transformations Han-Bing Yan, Shi-Min Hu and Ralph Martin

Outline Motivation Introduction Mesh segmentation using skeleton Skeleton-based shape deformation Results Conclusions and future work

Motivation Applications of Meshes Deformation : Animation & modelling Traditional methods [Sederberg et al. 1986] FFD & other space warping methods

Motivation Differential methods Laplacian coordinates [Alexa2003, Lipmann2004] Possion-based gradient field method [Yu2004]

Motivation Skeleton-based Method (Skinning, Envelopes) Each vertex is controlled by several bones P' = n k = 1 wk P M k The final position of each vertex is a weighted sum of the vertex position in coordinate frames fixed to moving bones Widely used in commercial software

Motivation Pros and Cons of Skeleton-based Method + Gives natural control of shape feature deformation. Animals have skeletons - Weights must be carefully selected to retain original mesh features to avoid flipping and self-intersection - No weight selection method works well in all cases - Weight selection is a tedious manual process

Motivation Traditional Skeleton-based method Does not used vertex connectivity information directly, though mesh has provided this information. Target of our method We want to develop a new skeleton-based deformation method which uses vertex connectivity information directly.

Our Method Key idea in our method We use skeleton to drive simplex, not vertex: Input Simplices contain shape connectivity information Original image or shape (2D or 3D triangle mesh), Original skeleton, Deformed skeleton Output Deformed mesh

Simplex Transformation Simplex Transformation There exists a unique transformation between two (triangles, tetrahedra) in (2D, 3D) V U = = vi = Rui + T R = VU [ v v v ] 1 3 2 v3 [ u u u ] 1 3 2 u3 2D V U 1 = = [ v1 v4 v2 v4 v3 v4] [ u u u u u ] 1 4 2 4 3 u4 3D

Main Steps Steps Segment mesh using skeleton i.e. allocate each simplex to a controlling bone Calculate transformation matrix for each bone Ensure connectivity between final simplices while keeping the transformation for each simplex as close as possible to that of its controlling bone

Mesh Segmentation Aim Decide which bone controls each triangle Each triangle is controlled by one bone This is a segmentation problem Two possible approaches Using Euclidean distance between bone and triangle Using the shortest path distance on mesh between bone and triangle

Mesh Segmentation We show some results first 2D 3D

Mesh Segmentation Define the control domain of each bone using Range lines(2d), Range planes(3d) 2D 3D

Mesh Segmentation Each vertex is in the control domain of at least one bone One vertex maybe in the control domain of several bones Effective Distance: d eff Effective Distance with Penalty: d = d nδ effpen eff +

Mesh Segmentation If min d effpen < δ, the bone with minimal Effective Distance with Penalty is the control bone of this triangle Otherwise, calculate the shortest path distance from the triangle center to the two joints of this bone. The bone with the minimal shortest path distance is the control bone of this triangle.

Transformation Matrix of Bones Without scaling: 2D R' = cosθ sinθ sinθ cosθ 3D a R' = ab ac 2 2 2 + ( b + c ) cosθ ab( 1 cosθ ) + csinθ ac( 1 cosθ ) bsinθ 2 2 2 ( ) ( ) ( ) ( ) ( ) ( ) 1 cosθ csinθ b + a + c cosθ bc 1 cosθ + asinθ 2 2 2 1 cosθ + bsinθ bc 1 cosθ asinθ c + a + b cosθ

Transformation Matrix of Bones Also allowing scaling of bones Rotate the bone to the x axis, scale it along the x axis, then rotate it back. S ' = R SR S The transformation matrix of a bone is the product of a rotation matrix and a scaling matrix. M ' = S' R' S1 Translation vector of bones 2

Simplices in 3D 2D Triangle Mesh Simplices used are triangles themselves 3D Triangle Mesh One vertex needs to be added to each triangle to create a simplex v 4 = ( v1 + v2 + v3 ) ( v2 v1 ) ( v3 v2 ) + 3 ( v v ) ( v v ) 2 1 3 2

Optimization We want to use the bone s transformation matrix for the simplices it controls Problem: if every simplex uses the same transform as its controlling bone, there will be gaps between adjacent simplices which belong to different bones Solution Let the simplices transform as much as possible like its controlling bone while enforcing vertex connectivity requirements

Optimization We optimise an error energy function E = n i= 1 A i M The variables are the vertex coordinates of the deformed mesh By minimizing the error energy function, we get a result which Keep vertex connectivity requirements follows the bones as much as possible i M ' i 2 F

Optimization Linear Equation Solver This quadratic optimization problem can be easily transformed to a linear system KV = d V is the unknown vector of vertex coordinates The x, y (and z in 3D) coordinates form separate linear subsytems KX = d x KY = d y KZ = d z

Results 2D (a) (b) (c) (d)

Results 3D

Results 3D

Results 3D

Extensions of this paper Small issue with this method At least one vertex must be fixed to avoid a matrix singularity Solution Different choice of fixed vertex will result in a different position for the deformed mesh but it has the same shape Include the translation vector in the Error Energy Function

Extensions of this paper New Error Energy Function E = n i= 1 A i ( ) 2 2 R R' + β T T ' No vertex needs to be fixed, and the deformed mesh moves with the skeleton. F 2 (a) (b) (c)

Twist Extensions of this paper The above method is very easily to extend to twist the mesh using bones or line segments.

Extensions of this paper Vertex constraint Even we can deform the mesh without using skeleton, just using control vertices

Pros and Cons Conclusion + Uses skeleton to drive simplices, not vertices offering easy control vertex connectivity information is used directly + No weights need to be defined + Experimental results are very good + No flip or self-intersection happens in most cases - Need to solve a linear equation hence this method is slower than traditional methods

Future Work Other extensions In the above method, the skeleton can be seen as a tool to modify the simplex transformation matrix The skeleton can also be used to modify other local intrinsic attributes Thus, other skeleton-based deformation methods can be developed: e.g. Laplacian coordinates, gradient fields, and so on.

Q & A