93
Geometric Modeling Summer Semester 2010 Introduction Motivation · Topics · Basic Modeling Techniques

Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010

Introduction Motivation · Topics · Basic Modeling Techniques

Page 2: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 2 / 93

Today...

Topics:

• Formalities & Organization

• Introduction: Geometric Modeling

• Mathematical Tools (1)

Page 3: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 3 / 93

Today...

Topics:

• Formalities & Organization

• Introduction: Geometric Modeling

Motivation

Overview: Topics

Basic modeling techniques

• Mathematical Tools (1)

Page 4: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Motivation

Page 5: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 5 / 93

Motivation

This lecture covers two related areas:

• Classic geometric modeling

• Geometry processing

Common techniques (math, models, terminology), but different goals

Page 6: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 6 / 93

Geometric Modeling

Geometric Modeling:

• You start with a blank screen, design a geometric model

• Typical techniques:

Triangle meshes

Constructive Solid Geometry (CSG)

Spline curves & surfaces

Subdivision surfaces

• Goal is interactive modeling

• Mathematical tools are designed with the user in mind

Page 7: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 7 / 93

Geometry Processing

Geometry Processing

• You already have a geometric model Typically from a 3D range scanner (read: not nice)

You need to process & edit the geometry

The original model has not been build with the user in mind (stupid range scanner)

• Typical techniques:

Noise removal, filtering

Surface reconstruction

Registration

Freeform deformation modeling

Statistical analysis (features, symmetry, hole-filling etc...)

Page 8: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 8 / 93

Our Perspective

The perspective of this lecture:

• The basic mathematical tools for handling geometry are the same

• Different usage, adaptation, specific algorithms

• We will discuss

The basic concepts and tools (mathematical foundation, representations, basic algorithms)

...and applications in both areas.

Page 9: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Examples:

Geometric Modeling

Page 10: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 10 / 93

The Modern World...

designed on a computer (the building)

designed on a computer as well (the cars)

fortunately, not (yet) designed on a computer

(the trees)

(c.f. Danny Hillis, Siggraph 2001 keynote)

Page 11: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 11 / 93

Impact of Geometric Modeling

We live in a world designed using CAD

• Almost any man-made structure is nowadays planed and designed using computers

Architecture

Commodities: Chairs, furniture, your microwave & toaster

Your car (in case you have one, but probably the bike as well) – spline curves have actually been invented in the automotive industry

Typesetting

• <advertising> Our abilities in geometric modeling shapes the world we live in each day. </advertising>

Page 12: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 12 / 93

CAD / CAM

• Precision Guarantees

• Handle geometric constraints exactly (e.g. exact circles)

• Modeling guided by rules and constraints

Different Modeling Tasks

Page 13: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 13 / 93

Different Modeling Tasks

Photorealistic Rendering

• Has to “look” good

• Ad-hoc techniques are ok

• Using textures & shaders to “fake” details

• More complexity, but less rigorous

Just two examples, lots of stuff in between...

Page 14: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Examples:

Geometry Processing

Page 15: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 15 / 93

Geometry Processing

A rather new area

• Motivation: 3D scanning

You (your company) can buy devices that scan real world 3D objects

You get (typically) clouds of measurement points

• Many other sources of geometry as well:

Science (CT, [F]MRI, ET, Cryo-EM, ...)

3D movie making

The design department of your company has dozens of TByte of “polygon soup”...

Crawl the internet

• Need to process the geometry further

Page 16: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 16 / 93

Photoshopping Geometry

Geometry Processing:

• Cleanup:

Remove inconsistencies

Make watertight (well defined inside/outside, for 3D printers)

Simplify – keep only the main “structure”

Remove noise, small holes, etc...

• Touch-up /Edit:

Texturing, painting, carving

Deformation

Stitch together pieces

• Lots of other stuff – similar to image processing

Page 17: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 17 / 93

Example

Example: The Stanford “Digital Michelangelo Project”

[Levoy et al.: The Digital Michelangelo Project, Siggraph 2000]

Page 18: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 18 / 93

Scan Registration

[data set: Stanford 3D Scanning Repository]

Page 19: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 19 / 93

Feature Tracking

Fully Automatic:

[Implementation: Martin Bokeloh (Diploma thesis)]

Page 20: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 20 / 93

Scanning the World....

Example: The “Wägele” Laser scanners (2D sheets of distance measurments)

[Biber et al. 2005]

A pull-through measurement

device – can acquire complete

buildings in a few hours

Page 21: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 21 / 93

This is what you get...

...lots of artifacts (the scanner does not really like windows)

Corridor – CS Building University of Tübingen (6.5 GB)

CS Building, Outside (nicer colors...)

Page 22: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 22 / 93

Automatic Processing

Example: Automatic Outlier Removal

Page 23: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 23 / 93

Think Big

More Problems:

• Occluded areas, shiny / transparent objects holes (lots of holes, actually)

• Huge amounts of data (really huge)

City Scanning

• There are big companies trying to scan large areas

• Think Google Earth in full resolution

• How about a virtual online walk through New York, Tokyo, Saarbrücken?

• Lots of open research problems to get there

Page 24: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

[data set: Institute for Cartography, Leibnitz University Hannover]

Page 25: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 25 / 93

HUGE Data Sets

The Largest Data Set I have On My Hard-Drive...

Data set: Outdoor Scan (structure from video) of a part of the UNC campus (2.2·109 pts / 63.5 GB), courtesy of J.-M. Frahm, University of North Carolina

Page 26: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 26 / 93

Hole Filling

Wei-Levoy Texture Synthesis Algorithm:

[Implementation: Alexander Berner (Diploma thesis)]

Page 27: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 27 / 93

Filling Holes

[implementation: Alexander Berner (Diploma thesis)]

Page 28: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 28 / 93

Filling Holes

[implementation: Alexander Berner (Diploma thesis)]

Page 29: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 29 / 93

Symmetry Detection

[data set: M. Wacker, HTW Dresden]

Page 30: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 30 / 93

Results

Page 31: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 31 / 93

Results

Page 32: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 32 / 93

Results

Page 33: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 33 / 93

Line Feature Matching

[data sets: Kartographisches Institut, Universität Hannover / M. Wacker, HTW Dresden]

Page 34: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 34 / 93

Reconstruction by Symmetry

overlay of

16 parts [data sets: Kartographisches Institut, Universität Hannover]

Page 35: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 35 / 93

Inverse Procedural Modeling

Page 36: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 36 / 93

Overview

Our approach

• Take existing model

• Analyse shape structure

• Derive shape modification rules

Input

Output

Page 37: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 37 / 93

Technique Overview

Conceptual Steps:

• Symmetry detection

• Finding docking sites and dockers

• Combine into a shape grammar

Input Symmetry Docking site Result

Page 38: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 38 / 93

Results

Page 39: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 39 / 93

Results

~500.000 triangles

Page 40: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 40 / 93

Results

Page 41: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 41 / 93

Results

Page 42: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 42 / 93

Deformable Shape Matching

[data set: Stanford 3D Scanning Repository]

Page 43: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 43 / 93

Problem Statement

Deformable Matching

• Two shapes: original, deformed

• How to establish correspondences?

• Looking for global optimum

Arbitrary pose

Assumption

• Approximately isometric deformation

[data set: S. König, TU Dresden]

Page 44: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 44 / 93

Results

[data sets: Stanford 3D Scanning Repository / Carsten Stoll]

Page 45: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 45 / 93

Animation Reconstruction

[data set: P. Phong, Stanford University]

Page 46: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 46 / 93

Scanning Moving Geometry

Real-time 3D scanners:

• Acquire geometry at video rates

• Capture 3D movies: “performance capture”

• Technique still immature, but very interesting applications, in particular special effects for movies

[Davis et al. 2003]

Page 47: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 47 / 93 47

Real-Time 3D Scanners

space-time stereo

courtesy of James Davis University of California

at Santa Cruz

color-coded structured light

courtesy of Phil Fong Stanford University

high-speed structured light

courtesy of Stefan Gumhold TU Dresden

Page 48: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 48 / 93

Reconstruction

Dynamic geometry reconstruction

• Hole filling

• Remove noise and outliers

• Establish correspondences

Need to know where every point on the object goes to over time

Simplifies further editing

Page 49: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 49 / 93

Animation Reconstruction

Remove noise, outliers

Fill-in holes (from all frames)

Dense correspondences

Page 50: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 50 / 93

Factorization

f (x, t) – deformation field

t = 0 t = 1 t = 2

x – point on urshape S

S

f f

data points dt,i

[data set courtesy of P. Phong, Stanford University]

Page 51: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 51 / 93

Page 52: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 52 / 93

Page 53: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Overview Topics

Page 54: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 54 / 93

Overview: Geometric Modeling 2010

Mathematical Background (Recap)

• Linear algebra: vector spaces, function spaces, quadrics

• Analysis: multi-dim. calculus, differential geometry

• Numerics: quadratic and non-linear optimization

Geometric Modeling

• Smooth curves: polynomial interpolation & approximation, Bezier curves, B-Splines, NURBS

• Smooth surfaces: spline surfaces, implicit functions, variational modeling

• Meshes: meshes, multi-resolution, subdivision

Page 55: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 55 / 93

Overview: Geometric Modeling 2010

Geometry Processing

• 3D Scanning: Overview

• Registration: ICP, NDT

• Surface Reconstruction: smoothing, topology reconstruction, moving least-squares

• Editing: free-form deformation

Preliminary List:

• Topics might change

• Not presented strictly in this order

Page 56: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 56 / 93

Topics Overview

Current List of Topics (subject to changes): • Math Background:

Linear Algebra, Analysis, Differential Geometry, Numerics, Topology

• Interpolation and Approximation • Spline Curves • Blossoming and Polar Forms • Rational Splines • Spline Surfaces • Subdivision Surfaces • Implicit Functions • Variational Modeling • Point Based Representations • Multi Resolution Representations • Surface Parametrization

Page 57: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Overview Modeling Techniques

Page 58: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 58 / 93

Geometric Modeling

What do we want to do? empty space (typically 3)

geometric object

B 3

B

d

Page 59: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 59 / 93

Fundamental Problem

The Problem:

B

d

infinite number of points my computer: 8GB of memory

We need to encode a continuous model with a finite amount of information

Page 60: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 60 / 93

Modeling Approaches

Two Basic Approaches

• Discrete representations

Fixed discrete bins

• “Continuous” representations

Mathematical description

Evaluate continuously

Page 61: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 61 / 93

Discrete Representations

You know this...

• Fixed Grid of values: (i1, ..., ids

) ds (x1, ..., xdt) dt

• Typical scenarios:

ds = 2, dt = 3: Bitmap images

ds = 3, dt = 1: Volume data (scalar fields)

ds = 2, dt = 1: Depth maps (range images)

• PDEs: “Finite Differences” models

Page 62: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 62 / 93

Modeling Approaches

Two Basic Approaches

• Discrete representations

Fixed discrete bins

• “Continuous” representations

Mathematical description

Evaluate continuously

Page 63: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 63 / 93

finite set of Shape Parameters

determines the object shape

Continuous Models

Basic Principle: Procedural Modeling

Algorithm(s)

determines the class of objects that can

be represented

Query Parameters (a finite set of numbers from

a continuous set)

Answer

Page 64: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 64 / 93

Example: Continuous Model

Example: Sphere

• Shape Parameters: center, radius (4 numbers)

• Algorithms:

Ray Intersection (e.g. for display) – Input: Ray (angle, position: 5 numbers) – Output: {true, false}

Inside/outside test (e.g. for rasterization) – Input: Position (3 numbers) – Output: {true, false}

Parametrization (e.g. for display) – Input: longitude, latitude (, ) – Output: position (3 numbers)

Page 65: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 65 / 93

So Many Questions...

Several algorithms for the same representation: • Parametrization – compute surface points according to

continuous parameters

• (Signed) distance computation – distance to surface of points in space, inside/outside test

• Intersection – with rays (rendering), other objects (collision detection)

• Conversion – into other representations.

• Many more...

In addition, we also need algorithms to construct and alter the models.

Page 66: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 66 / 93

Continuous, Procedural Models

“Continuous” representations • An algorithm describes the shape

• The shape is determined by a finite number of continuous parameters

• The shape can be queried with a finite number of continuous parameters

• More involved (have to ask for information)

• But potentially “infinite” resolution (continuous model)

• Structural model complexity still limited by algorithm and parameters

This lecture examines these representations and the corresponding algorithms

Page 67: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 67 / 93

Classes of Models

(Main) classes of models in this lecture:

• Primitive meshes

• Parametric models

• Implicit models

• Particle / point-based models

Remarks

• Most models are hybrid (combine several of these)

• Representations can be converted (may be approximate)

• Some questions are much easier to answer for certain representations

Page 68: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 68 / 93

Parametric Models Primitive Meshes

Implicit Models Particle Models

Modeling Zoo

Page 69: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 69 / 93

Parametric Models Primitive Meshes

Implicit Models Particle Models

Modeling Zoo

Page 70: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 70 / 93

Parametric Models

Parametric Models

• Function f maps from parameter domain to target space

• Evaluation of f gives one point on the model

u

v

(u, v)

f (u, v) f

ds S dt

Page 71: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

output: 1D output: 2D output: 3D in

pu

t: 3

D

inp

ut:

2D

in

pu

t: 1

D

u

f(t) t

function graph

x

t

plane curve

t

space curve

plane warp surface

space warp

y

x

y

z

u

v

x

y u

v

x

y

z

u v

y

z

w

x

Page 72: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

output: 1D output: 2D output: 3D in

pu

t: 3

D

inp

ut:

2D

in

pu

t: 1

D

u

f(t) t

function graph

x

t

plane curve

t

space curve

plane warp surface

space warp

y

x

y

z

u

v

x

y u

v

x

y

z

u v

y

z

w

x

Page 73: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 73 / 93

Parametric Models Primitive Meshes

Implicit Models Particle Models

Modeling Zoo

Page 74: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 74 / 93

Primitive Meshes

Primitive Meshes

• Collection of geometric primitives

Triangles

Quadrilaterals

More general primitives (spline patches)

• Typically, the primitives are parametric surfaces

• Composite model:

Mesh encodes topology, rough shape

Primitive parameter encode local geometry

• Triangle meshes rule the world (“triangle soup”)

Page 75: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 75 / 93

Primitive Meshes

Complex Topology for Parametric Models

• Mesh of parameter domains attached in a mesh

• Domain can have complex shape (“trimmed patches”)

• Separate mapping function f for each part (typically of the same class)

1

2

3

Page 76: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 76 / 93

Meshes are Great

Advantages of mesh-based modeling:

• Compact representation (usually)

• Can represent arbitrary topology

• Using the right parametric surfaces as parts, many important geometric objects can be represented exactly (e.g. NURBS: circles, cylinders, spheres CAD/CAM)

Page 77: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 77 / 93

Meshes are not so great

Problem with Meshes:

• Need to specify a mesh first, then edit geometry

• Problems for larger changes

Mesh structure and shape need to be adjusted

Mesh encodes object topology Changing object topology is painful

• Difficult to use for many applications (such as surface reconstruction)

Rule of thumb: If the topology or the coarse scale shape changes drastically and frequently during computations, meshes are hard to use

Drastic example: Fluid simulation (surface of splashing water)

Page 78: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 78 / 93

Parametric Models Primitive Meshes

Implicit Models Particle Models

Modeling Zoo

Page 79: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 79 / 93

Implicit Modeling

General Formulation:

• Curve / Surface S = {x | f(x) = 0}

• x d (d = 2,3), f(x)

• S is (usually) a d-1 dimensional object

This means...:

• The surface is obtained implicitly as the set of points for which some given function vanishes (f(x) = 0)

• Alternative notation: S = f-1(0) (“inverse” yields a set)

Page 80: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 80 / 93

Implicit Modeling

Example:

• Circle: x2 + y2 = r2 fr(x,y) = x2 + y2 - r2 = 0

• Sphere: x2 + y2 + z2 = r2

Special Case:

• Signed distance field

• Function value is signed distance to surface

• Negative means inside, positive means outside

x2

y2 r2

||)(),( 222222 ryxryxyx signf

Page 81: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 81 / 93

Implicit Modeling

Example:

• Circle: x2 + y2 = r2 fr(x,y) = x2 + y2 - r2 = 0

• Sphere: x2 + y2 + z2 = r2

Special Case:

• Signed distance field

• Function value is signed distance to surface

• Negative means inside, positive means outside

x2

y2 r2

“Signed squared distance field”

(has some useful properties, e.g. from a statistical point of view)

||)(),( 222222 ryxryxyx signf

Page 82: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 82 / 93

Implicit Modeling: Pros & Cons

Advantages:

• More general than parametric techniques

• Topology can be changed easily (depends on how f is specified, though)

• Implicit representations are the standard technique for simulations with free boundaries. Also known as “level-set methods”.

• Typical example: Fluid simulation (evolving water-air interface)

• Geometric modeling: Surface reconstruction, “blobby surfaces”

Page 83: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 83 / 93

Implicit Modeling: Pros & Cons

Disadvantages:

• Need to solve inversion problem S = f-1(0)

• Algorithms for display, conversion etc. tend to be more difficult and more expensive (inside/outside test is easy though for signed distance fields)

• Representing objects takes more memory (we will discuss standard representations later)

Page 84: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 84 / 93

Parametric Models Primitive Meshes

Implicit Models Particle Models

Modeling Zoo

Page 85: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 85 / 93

Particle Representations

Particle / Point-based Representations

• Geometry is represented as a set of points / particles

• The particles form a (typically irregular) sample of the geometric object

• Need additional information to deal with “the empty space around the particles”

additional assumptions

Page 86: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 86 / 93

Particle Representations

Helpful Information

• Each particle may carries a set of attributes

Must have: Its position

Additional geometric information: Particle density (sample spacing), surface normals

Additionally: Color, physical quantities (mass, pressure, temperature), ...

• This information can be used to improve the reconstruction of the geometric object described by the particles

Page 87: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 87 / 93

The Wrath of Khan

Why Star Trek is at fault...

• Particle methods first used in computer graphics to represent fuzzy phenomena (fire, clouds, smoke)

• “Particle Systems—a Technique for Modeling a Class of Fuzzy Objects” *Reeves 1984+

• Probably most well-known example: Genesis sequence

Page 88: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 88 / 93

Genesis Sequence [Reeves 1983]

Page 89: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 89 / 93

Non-Fire Objects

Particle Traces for Modeling Plants (also from [Reeves 1983])

Page 90: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 90 / 93

Geometric Modeling

How became the geometric modeling crowd interested in this?

3D Scanners

• 3D scanning devices yield point clouds (often: measure distance to points in space, one at a time)

• Then you have to deal with the problem anyway

• Need algorithms to directly work on “point clouds” (this is the geometry name for particle system)

Page 91: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 91 / 93

Geometric Modeling

How became the geometric modeling crowd interested in this?

Other Reasons:

• Similar advantages as implicit techniques

• Topology does not matter (for the good and for the bad)

Topology is easy to change

Multi-scale representations are easy to do (more details on multi-resolution techniques later)

• Often easier to use than implicit or parametric techniques

Page 92: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 92 / 93

Multi-Scale Geometry w/Points

Page 93: Geometric Modeling - Max Planck Societyresources.mpi-inf.mpg.de/.../geomod/slides_public/02_Introduction_p… · Geometric Modeling Summer Semester 2010 – 11 Introduction / 93 Impact

Geometric Modeling Summer Semester 2010 – Introduction 93 / 93

Summary

• Lots of different representations

• No silver bullet

• In theory, everything always works, but might be just too complicated/expensive

• Best choice depends on the application

• We will look on all of this...

Focus on parametric techniques though

Most common approach

Summary