A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University.

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

Image Segmentation with Level Sets Group reading
Real-Time Dynamic Wrinkles Caroline Larboulette Marie-Paule Cani GRAVIR Lab, Grenoble, France.
Consistent Mesh Parameterizations Peter Schröder Caltech Wim Sweldens Bell Labs Emil Praun Princeton.
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 10: Extrinsic Deformations Fall 2014.
Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu University of Burgundy.
Surface Aging by Impacts E. Paquette 1,2, P. Poulin 1, G. Drettakis 2 1 Université de Montréal 2 iMAGIS/GRAVIR-REVES-INRIA.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
Mesh Simplification Global and Local Methods:
Pauly, Keiser, Kobbelt, Gross: Shape Modeling with Point-Sampled GeometrySIGGRAPH 2003 Shape Modeling with Point-Sampled Geometry Mark Pauly Richard Keiser.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Interactive Mesh Sculpting Using a Haptic Device.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
FiberMesh: Designing Freeform Surfaces with 3D Curves
4/19/2000Deepak Bandyopadhyay / COMP239 / inTouch1 Interactive Multiresolution Modeling and 3D Painting with a Haptic Interface Arthur D. Gregory, Stephen.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry Topics: Basics of projective geometry Points and hyperplanes in projective space Homography.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Faking Dynamics of Cloth Animation for Animated Films Fabian Di Fiore Expertise Centre for Digital Media Hasselt University, Belgium
Laplacian Surface Editing
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
Tracking Surfaces with Evolving Topology Morten Bojsen-Hansen IST Austria Hao Li Columbia University Chris Wojtan IST Austria.
Cloth Simulation By Chris Szendrovits o based on Jim Adams “Soft Body Mesh” demo.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Texture Mapping by Model Pelting and Blending
Exploitation of 3D Video Technologies Takashi Matsuyama Graduate School of Informatics, Kyoto University 12 th International Conference on Informatics.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Lecture 6 : Level Set Method
Robert S. Laramee 1 1 Flow Visualization with Integral Surfaces Robert S. Laramee Visual and Interactive.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Introduction to Computer Graphics: Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
A Computationally Efficient Framework for Modeling Soft Body Impact Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
Relief: A Modeling by Drawing Tool David Bourguignon 1 Raphaëlle Chaine 2 Marie-Paule Cani 3 George Drettakis 4 1 Princeton University / INRIA Rocquencourt.
View-dependent Adaptive Tessellation of Spline Surfaces
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
The Lit Sphere: A Model for Capturing NPR Shading from Art Peter-Pike Sloan, William Martin, Amy Gooch & Bruce Gooch.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
Local Illumination and Shading
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Romain Pacanowski INRIA Bordeaux University Xavier GranierChristophe SchlickPierre Poulin.
Ship Computer Aided Design
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
CS274 Spring 01 Lecture 8 Copyright © Mark Meyer Lecture VIII Deformable Bodies CS274: Computer Animation and Simulation.
SIGGRAPH 2005 신 승 호 신 승 호. Water Drops on Surfaces Huamin Wang Peter J. Mucha Greg Turk Georgia Institute of Technology.
HAPTEX-Meeting Tampere, Feb , 2006 Haptic Rendering / Small Scale Model Guido Böttcher haptex.miralab.unige.ch Funded by: FET-IST-FP6 (IST-6549)
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
3D Rendering 2016, Fall.
Motivation Skeleton needed for mesh deformation:
3D Object Representations
Texture Mapping COMP575/COMP770.
Image Space Based Visualization of Unsteady Flow on Surfaces
CSE 554 Lecture 10: Extrinsic Deformations
Jeff Ballard Nick Rasmussen
Jeff Ballard Nick Rasmussen
Presentation transcript:

A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University

Motivation Many objects are hard to model:

Challenges Complex Surfaces Scale User Control

Challenges Complex Surfaces Scale User Control

Challenges Museth et al. Complex Surfaces Scale User Control

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting

Existing Interfaces Control lattice –Free-form deformations –NURBS surface control points Physical Simulation –Deformable Models –Level Set Editing Operators Sculpting interfaces –Voxel-based sculpting –Surface sculpting Maya Artisan Sculpt Surface Tool

Key Observation Directly “painting” and then interactively simulating is a more controllable, powerful way to locally deform surfaces.

Our Approach The user paints directly onto the surface of an object. Paint is interpreted as the instantaneous surface velocity. User simulates velocity until the desired effect is achieved.

Our Approach The user paints directly onto the surface of an object. Paint is interpreted as the instantaneous surface velocity. User simulates velocity until the desired effect is achieved.

Our Approach The user paints directly onto the surface of an object. Paint is interpreted as the instantaneous surface velocity. User simulates velocity until the desired effect is achieved.

Overview of Talk Introduction Method –Applying Paint –Defining Paint –Simulating Paint Results

Overview of Talk Introduction Method –Applying Paint –Defining Paint –Simulating Paint Results

Applying Paint Directly inject paint into scene. Use 2D brush bitmaps to modulate intensity [Hanrahan90]. Various Brushes

Applying Paint

Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results

Defining Paint What is paint? –Paint describes surface velocity

Surface Velocity Surface velocity can capture useful modeling operations: –Propagating: organic, blobby deformations –Advective: spiky, discontinuous –Curvature-dependent: diffusion

Surface Velocity We define surface velocity at some point along the model’s surface x, with surface normal n, as the linear combination of three terms: v(x) = v prop (x) + v adv (x) + v curv (x)

Propagating Velocity “Propagating” velocity causes the surface to move in the direction of its current surface normal, producing blobby, organic deformations: v prop (x) = αn

Propagating Velocity

Advective Velocity “Advective” velocity causes the surface to move at a constant speed in a constant direction: v adv (x) = βp

Advective Velocity

Curvature-Dependent Velocity “Curvature-dependent” velocity causes the surface to move at a speed proportional to its mean curvature, κ, in the direction of its surface normal. v curv (x) = γκn

Curvature-Dependent Velocity

Specify Paint Total velocity of a point on the model’s surface: v(x) = αn + βp + γκn

Specify Paint The paint IS the values of α, β, and γ. The direction of advective motion, p, determined by current viewing direction, surface normal, or arbitrary direction.

Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results

Simulating Paint Goal: move surface according to velocity user has “painted.”

Dynamic Surface We need a surface representation that supports: –Interactive update rates. –Associate paint with surface. –Editing at multiple scales. Created prototype system with two representations: –Level Sets –Dynamic Triangle Mesh

Triangle Mesh Represent surface as triangle mesh where the vertices are free to move in space. Store paint at each vertex.

Adaptive Refinement Our implementation provides two types of mesh refinement: –Temporal: refine mesh during deformation to accurately sample the dynamic surface. –Brush-Dependent: refine mesh depending on location and orientation of brush to accurately sample the brush.

Temporal Refinement Explicitly maintain an even distribution of vertices over the surface by refining mesh.

Temporal Refinement Explicitly maintain an even distribution of vertices over the surface by refining mesh.

Adaptive Refinement Our implementation provides two types of mesh refinement: –Temporal: refine mesh during deformation to accurately sample the dynamic surface. –Painting: refine mesh depending on location and orientation of brush to accurately sample the brush.

Brush-Dependent Refinement

Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results

Results

Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 20 min.

Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 20 min.

Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 3 min.

Conclusion We have found that this painting metaphor gives the user direct, local control over surface deformations for several applications: –Creating new models –Removing noise from existing models –Adding geometric texture to an existing surface at multiple scales

Limitations Covers limited class of objects. Self- intersections. Topological changes. David Breen, et. al.

Limitations Covers limited class of objects. Self- intersections. Topological changes.

Limitations Covers limited class of objects. Self- intersections. Topological changes.

Limitations Covers limited class of objects. Self- intersections. Topological changes.

Future Work Adaptive level sets. Transfering geometric texture from one part of a model to another. Expressing geometric content as paint for compression applications. Time-dependent pigment vectors (e.g. spline curves on a sphere).

Acknowledgements Ross Whitaker’s VISPACK Daniel Aliaga

Applying Paint: Level Sets

Level Sets: Details Level Set Theory tells us how to change the samples to induce some desired change in the embedded surface.

Level Sets: Details Fundamental result from LS theory. F(…) is the speed of the surface at position x in the direction of its normal vector!

Mesh Refinement Maintain desired edge length. f = actual/desired –f < 0.5 collapse –f > 1.5 split Swap to maximize minimum interior angle. Markosian, et. al.