Introduction to Computer Graphics Modeling (3) April 27, 2017 - - PowerPoint PPT Presentation

introduction to computer graphics modeling 3
SMART_READER_LITE
LIVE PREVIEW

Introduction to Computer Graphics Modeling (3) April 27, 2017 - - PowerPoint PPT Presentation

Introduction to Computer Graphics Modeling (3) April 27, 2017 Kenshi Takayama Solid modeling 2 Thin shapes represented Unorientable Solid models by single polygons Clear definition of inside & outside at any 3D


slide-1
SLIDE 1

Introduction to Computer Graphics – Modeling (3) –

April 27, 2017 Kenshi Takayama

slide-2
SLIDE 2

Solid modeling

2

slide-3
SLIDE 3

Solid models

  • Clear definition of “inside” & “outside”

at any 3D point

  • Main usage:

3

3D printing Physics simulation

Open boundaries (holes) Self-intersections Thin shapes represented by single polygons Unorientable

Non-solid cases Klein bottle

slide-4
SLIDE 4

Predicate function of a solid model

  • Function that returns true/false if a 3D point

𝐪 ∈ ℝ3 is inside/outside of the model 𝑔 𝐪 : ℝ3 ↦ true, false

  • The whole interior of the model:

𝐪 𝑔 𝐪 = true } ⊂ ℝ3

  • Examples:

4

Box whose min & max corners are 𝑦min, 𝑧min, 𝑨min & 𝑦max, 𝑧max, 𝑨max Sphere of radius 𝑠 centered at 𝐝 𝑔 𝐪 ≔ 𝐪 − 𝐝 < 𝑠 𝑔 𝑦, 𝑧, 𝑨 ≔ 𝑦min < 𝑦 < 𝑦max ∧ 𝑧min < 𝑧 < 𝑧max ∧ 𝑨min < 𝑨 < 𝑨max c r 𝐪max 𝐪min

slide-5
SLIDE 5

Constructive Solid Geometry (Boolean operations)

5

Union

𝑔

𝐵∪𝐶 𝐪 ≔ 𝑔 𝐵(𝐪) ∨ 𝑔 𝐶(𝐪)

𝑔

𝐵∩𝐶 𝐪 ≔ 𝑔 𝐵(𝐪) ∧ 𝑔 𝐶(𝐪)

𝑔

𝐵∖𝐶 𝐪 ≔ 𝑔 𝐵(𝐪) ∧ ¬𝑔 𝐶(𝐪)

Intersection Subtraction

CSG Tree

A B C D E

𝐵 ∩ 𝐶 ∖ 𝐷 ∪ 𝐸 ∪ 𝐹

slide-6
SLIDE 6

Solid model represented by Singed Distance Field

  • Shortest distance from

3D point to model surface: 𝑒 𝐪 : ℝ3 ↦ ℝ

  • Signed: positive  outside, negative  inside
  • Corresponding predicate describing the solid:

𝑔 𝐪 ≔ 𝑒(𝐪) < 0

  • Zero isosurface  model surface:

{𝐪 | 𝑒(𝐪) = 0} ⊂ ℝ3

  • Aka. “implicit” or “volumetric” representation
  • Isosurface normal matches with direction of gradient 𝛂𝑒(𝐪)

6

c r Sphere of radius 𝑠 centered at 𝐝 𝑒 𝐪 ≔ 𝐪 − 𝐝 − 𝑠

slide-7
SLIDE 7

Examples of implicit functions

7

Torus with major & minor radii R & a Not necessarily distance functions

slide-8
SLIDE 8

Examples of implicit functions: Metaballs

8

𝑒 𝐪 = 𝑒1 𝐪 − 𝑒2(𝐪) 𝑒 𝐪 = 𝑒1 𝐪 + 𝑒2(𝐪) 𝑒𝑗 𝐪 = 𝑟𝑗 𝐪 − 𝐝𝑗 − 𝑠

𝑗

𝑒 𝐪 = 𝑒1 𝐪 + 𝑒2 𝐪 + 𝑒3 𝐪 + 𝑒4 𝐪

c1 c4 c3 c2

slide-9
SLIDE 9

Morphing by interpolating implicit functions

9

𝑒1 𝒒 = 0 2 3 𝑒1 𝒒 + 1 3 𝑒2 𝒒 = 0 1 3 𝑒1 𝒒 + 2 3 𝑒2 𝒒 = 0 𝑒2 𝒒 = 0

slide-10
SLIDE 10

Modeling by combining implicit functions

10

slide-11
SLIDE 11

Visualizing implicit functions: Marching Cubes

  • Extract isosurface as triangle mesh
  • For every lattice cell:

(1) Compute function values at 8 corners (2) Determine type of output triangles based on the sign pattern

  • Classified into 15 using symmetry

(3) Determine vertex positions by linearly interpolating function values

(Once patented, now expired)

11

Marching Cubes: A High Resolution 3D Surface Construction Algorithm [Lorensen SIGGRAPH87]

slide-12
SLIDE 12

Ambiguity in Marching Cubes

12

The asymptotic decider: resolving the ambiguity in marching cubes [Nielson VIS91]

Discontinuous faces across neighboring cells New rules to resolve ambiguity

slide-13
SLIDE 13

Marching Tetrahedra

  • Use tetrahedra instead of cubes
  • Fewer patterns, no ambiguity

 Simpler implementation

  • A cube split into 6 tetrahedra
  • (Make sure consistent splitting across neighboring cubes)
  • Some techniques to improve mesh quality

13

http://paulbourke.net/geometry/polygonise/ Regularised marching tetrahedra: improved iso-surface extraction [Treece C&G99]

slide-14
SLIDE 14

Isosurface extraction preserving sharp edges

14

Feature Sensitive Surface Extraction from Volume Data [Kobbelt SIGGRAPH01] Dual Contouring of Hermite Data [Ju SIGGRAPH02] http://www.graphics.rwth-aachen.de/IsoEx/

Grid size: 65×65×65 Marching Cubes Improved version Marching Cubes (only uses function values) Improved version (uses function gradient as well)

slide-15
SLIDE 15

CSG with surface representation only

  • Volumetric representation (=isosurface extraction using MC)

 Approximation accuracy depends on grid resolution 

  • CSG with surface representation only

 Exactly keep original mesh geometry 

  • Difficult to implement robust & efficient 
  • Floating point error
  • Exactly coplanar faces
  • Notable advances in recent years

15

Fast, exact, linear booleans [Bernstein SGP09] Exact and Robust (Self-)Intersections for Polygonal Meshes [Campen EG10] Mesh Arrangements for Solid Geometry [Zhou SIGGRAPH16] https://libigl.github.io/libigl/tutorial/tutorial.html#booleanoperationsonmeshes

slide-16
SLIDE 16

Mesh repair

16

Simplification and Repair of Polygonal Models Using Volumetric Techniques [Nooruddin TVCG03] Robust Inside-Outside Segmentation using Generalized Winding Numbers [Jacobson SIGGRAPH13]

Decide inside/outside based on generalized winding number Decide inside/outside by shooting rays from outside Volumetric representation Surface representation

slide-17
SLIDE 17

Surface reconstruction from point cloud

17

slide-18
SLIDE 18

Measuring 3D shapes

  • Obtained data: point cloud
  • 3D coordinate
  • Normal (surface orientation)
  • Normals not available?  Normal estimation
  • Too noisy?  Denoising

18

Range Scanner (LIDAR) Structured Light Multi-View Stereo Depth Camera

Typical Computer Vision problems

slide-19
SLIDE 19

Surface reconstruction from point cloud

  • Input: N points
  • Coordinate 𝐲𝑗 = 𝑦𝑗, 𝑧𝑗, 𝑨𝑗 & normal 𝐨𝑗 = 𝑜𝑗

x, 𝑜𝑗 y, 𝑜𝑗 z , 𝑗 ∈ 1, … , 𝑂

  • Output: function 𝑔(𝐲) satisfying value & gradient constraints
  • 𝑔 𝐲𝑗 = 0
  • 𝛂𝑔 𝐲𝑗 = 𝐨𝑗
  • Zero isosurface 𝑔 𝐲 = 0  output surface
  • “Scattered Data Interpolation”
  • Moving Least Squares
  • Radial Basis Function

Important to other fields (e.g. Machine Learning) as well

19

𝑔

𝑗

slide-20
SLIDE 20

Two ways for controlling gradients

  • Additional value constraints at offset locations
  • Simple
  • Directly include gradient constraint in the mathematical formulation

(Hermite interpolation)

  • High-quality

20

Modelling with implicit surfaces that interpolate [Turk TOG02] Hermite Radial Basis Functions Implicits [Macedo CGF10] Value+gradient constraints Hermite interpolation Simple offsetting

slide-21
SLIDE 21

Interpolation using Moving Least Squares

21

slide-22
SLIDE 22

Starting point: Least SQuares

  • For now, assume the function as linear: 𝑔 𝐲 = 𝑏𝑦 + 𝑐𝑧 + 𝑑𝑨 + 𝑒
  • Unknowns: 𝑏, 𝑐, 𝑑, 𝑒
  • Value constraints at data points
  • (Forget about gradient constraints for now)

22

𝐲 ≔ (𝑦, 𝑧, 𝑨)

𝑦1 𝑧1 𝑨1 1 𝑦2 𝑧2 𝑨2 1 𝑦𝑂 𝑧𝑂 𝑨𝑂 1 𝑏 𝑐 𝑑 𝑒 𝑔

1

𝑔

2

𝑔

𝑂 ・・・ ・・・

=

𝐵 𝐝

𝐠 𝑔 𝐲1 = 𝑏𝑦1 + 𝑐𝑧1 + 𝑑𝑨1 + 𝑒 = 𝑔

1

𝑔 𝐲2 = 𝑏𝑦2 + 𝑐𝑧2 + 𝑑𝑨2 + 𝑒 = 𝑔

2

𝑔 𝐲𝑂 = 𝑏𝑦𝑂 + 𝑐𝑧𝑂 + 𝑑𝑨𝑂 + 𝑒 = 𝑔

𝑂 ・・・

slide-23
SLIDE 23

Overconstrained System

  • #unknowns < #constraints (i.e. taller matrix)

 cannot exactly satisfy all the constraints

  • Minimizing fitting error

23

𝐵 𝐝

𝐠

𝐝 𝐵

𝐠

𝐝

𝐵⊺𝐵 −1

𝐠

𝐵⊺ 𝐵⊺ 𝐵⊺

= = = 𝑩 𝐝 − 𝐠 2 =

𝑗=1 𝑂

𝑔 𝐲𝑗 − 𝑔

𝑗 2 “normal equation”

slide-24
SLIDE 24

Geometric interpretation of LSQ

  • Project 𝐬 onto a plane spanned by 𝐪 & 𝐫
  • Fitting error = projection distance

𝑒2 = 𝛽𝐪 + 𝛾𝐫 − 𝐬 2

24

𝑞x 𝑞y 𝑞z = 𝛽 𝛾 𝑟x 𝑟y 𝑟z 𝑠

x

𝑠

y

𝑠

z

𝐫 𝐪 𝐬 𝛽 𝛾 𝑒

slide-25
SLIDE 25

Weighted Least Squares

  • Each data point is weighted by 𝑥𝑗
  • Importance, confidence, ...
  • Minimize the following fitting error:

𝑗=1 𝑂

𝑥𝑗 𝑔 𝐲𝑗 − 𝑔

𝑗 2

25

𝑦1 𝑧1 𝑨1 1 𝑦2 𝑧2 𝑨2 1 𝑦𝑂 𝑧𝑂 𝑨𝑂 1 𝑏 𝑐 𝑑 𝑒 𝑔

1

𝑔

2

𝑔

𝑂 ・・・ ・・・

= 𝑥1 𝑥2 𝑥𝑂 𝑥1 𝑥2 𝑥𝑂

𝐵 𝐝

𝐠

𝑋 𝑋

slide-26
SLIDE 26

Weighted Least Squares

26

𝐵 𝐝

𝐠

𝐝

𝐵⊺𝑋2𝐵 −1

𝐠

𝐵⊺𝑋2

= =

𝑋 𝑋

slide-27
SLIDE 27

Moving Least Squares

  • Weight 𝑥𝑗 is a function of evaluation point 𝐲 :

𝑥𝑗 𝐲 = 𝑥( 𝐲 − 𝐲𝑗 )

  • Popular choices for the function (kernel):
  • 𝑥 𝑠 = 𝑓−𝑠2/𝜏2
  • 𝑥 𝑠 =

1 𝑠2+𝜗2

  • Weighting matrix 𝑋 is a function of 𝐲

 Coeffs 𝑏, 𝑐, 𝑑, 𝑒 are functions of 𝐲

27

𝑔 𝐲 = 𝑦 𝑧 𝑨 1 𝑏(𝐲) 𝑐(𝐲) 𝑑(𝐲) 𝑒(𝐲)

𝐵⊺𝑋 𝐲 2𝐵 −1

𝐠 𝐵⊺𝑋 𝐲 2 Larger the weight as 𝐲 is closer to 𝐲𝑗

slide-28
SLIDE 28

Introducing gradient (normal) constraints

  • Consider linear function represented by each data point:

𝑕𝑗 𝐲 = 𝑔

𝑗 + 𝐲 − 𝐲𝑗 ⊺𝐨𝑗

  • Minimize fitting error to each 𝑕𝑗 evaluated at 𝐲 :

𝑗=1 𝑂

𝑥𝑗 𝐲 𝑔 𝐲 − 𝑕𝑗 𝐲

2

28

𝑦 𝑧 𝑨 1 𝑦 𝑧 𝑨 1 𝑦 𝑧 𝑨 1 𝑏 𝑐 𝑑 𝑒 𝑕1 𝐲 𝑕2 𝐲 𝑕𝑂 𝐲

・・・ ・・・

= 𝑥1(𝐲) 𝑥2(𝐲) 𝑥𝑂(𝐲) 𝑥1(𝐲) 𝑥2(𝐲) 𝑥𝑂(𝐲)

Interpolating and Approximating Implicit Surfaces from Polygon Soup [Shen SIGGRAPH04]

slide-29
SLIDE 29

Introducing gradient (normal) constraints

29

Normal constraints Simple offsetting

Interpolating and Approximating Implicit Surfaces from Polygon Soup [Shen SIGGRAPH04] Input : Polygon Soup Interpolation Approximation 1 Approximation 2 Approximation 3

slide-30
SLIDE 30

Interpolation using Radial Basis Functions

30

slide-31
SLIDE 31

Basic idea

  • Define 𝑔(𝐲) as weighted sum of basis functions 𝜚(𝐲) :

𝑔 𝐲 =

𝑗=1 𝑂

𝑥𝑗𝜚(𝐲 − 𝐲𝑗)

  • Radial Basis Function 𝜚(𝐲) : only depends on the length of 𝐲
  • 𝜚 𝐲 = 𝑓− 𝐲 2/𝜏2

(Gaussian)

  • 𝜚 𝐲 =

1 𝐲 2+𝑑2

(Inverse Multiquadric)

  • Determine weights 𝑥𝑗 from constraints at data points 𝑔 𝐲𝑗 = 𝑔

𝑗

31

Basis function translated to each data point 𝐲𝑗

Unknown

slide-32
SLIDE 32

Basic idea

32

𝑔 𝐲1 = 𝑥1𝜚1,1 + 𝑥2𝜚1,2 + ⋯ + 𝑥𝑂𝜚1,𝑂 = 𝑔

1

𝑔 𝐲2 = 𝑥1𝜚2,1 + 𝑥2𝜚2,2 + ⋯ + 𝑥𝑂𝜚2,𝑂 = 𝑔

2

𝑔 𝐲𝑂 = 𝑥1𝜚𝑂,1 + 𝑥2𝜚𝑂,2 + ⋯ + 𝑥𝑂𝜚𝑂,𝑂 = 𝑔

𝑂

Notation: 𝜚𝑗,𝑘 = 𝜚 𝐲𝑗 − 𝐲𝑘 ・・・

Solve this!

𝜚1,1 𝜚1,2 𝜚1,𝑂 𝜚2,1 𝜚2,2 𝜚2,𝑂 𝜚𝑂,1 𝜚𝑂,2 𝜚𝑂,𝑂 𝑥1 𝑥2 𝑥𝑂 𝑔

1

𝑔

2

𝑔

𝑂 ・・・

=

・・・

Φ 𝐱

𝐠

slide-33
SLIDE 33

When using Gaussian RBF

  • Results highly dependent on the choice of parameter 𝜏 
  • How to obtain the as-smooth-as-possible result?

33

𝜚 𝐲 = 𝑓− 𝐲 2/𝜏2

Scattered Data Interpolation for Computer Graphics [Anjyo SIGGRAPH14 Course]

𝜏

小 大

slide-34
SLIDE 34

Measuring function’s “bend”: Thin-Plate Energy

  • 2nd derivative (=curvature) magnitude integrated over the whole domain

𝐹2 𝑔 =

𝐲∈ℝ𝑒 Δ𝑔(𝐲) 2𝑒𝐲

  • 1D case:

𝐹2 𝑔 =

𝑦∈ℝ

𝑔′′ 𝑦 2𝑒𝑦

  • 2D case:

𝐹2 𝑔 =

𝐲∈ℝ2 𝑔 xx 𝐲 2 + 2𝑔 xy 𝐲 2 + 𝑔 yy 𝐲 2 𝑒𝐲

  • 3D case:

𝐹2 𝑔 =

𝐲∈ℝ3 𝑔 xx 𝐲 2 + 𝑔 yy 𝐲 2 + 𝑔 zz 𝐲 2 + 2𝑔 xy 𝐲 2 + 2𝑔 yz 𝐲 2 + 2𝑔 zx 𝐲 2 𝑒𝐲

34

Laplacian operator

slide-35
SLIDE 35

Known theory in the math literature

  • Of all functions satisfying 𝑔 𝐲𝑗 = 𝑔

𝑗 , the minimizer of 𝐹2 is represented

as RBFs with the following basis:

  • 1D case: 𝜚 𝑦 = 𝑦 3
  • 2D case: 𝜚 𝐲 =

𝐲 2 log 𝐲

  • 3D case: 𝜚 𝐲 =

𝐲

  • FYI
  • Finite Element Method: Find 𝑔 minimizing 𝐹2 discretized over mesh
  • RBF: Find 𝑔 minimizing 𝐹2 analytically

35

Scattered Data Interpolation for Computer Graphics [Anjyo SIGGRAPH14 Course]

slide-36
SLIDE 36

Additional linear term

  • 𝐹2[𝑔] is defined using 2nd derivative

 Any additional linear term 𝑞 𝐲 = 𝑏𝑦 + 𝑐𝑧 + 𝑑𝑨 + 𝑒 has no effect: 𝐹2 𝑔 + 𝑞 = 𝐹2[𝑔]

  • Make 𝑔 unique by regarding linear term as additional unknowns:

𝑔 𝐲 =

𝑗=1 𝑂

𝑥𝑗 𝜚 𝐲 − 𝐲𝑗 + 𝑏𝑦 + 𝑐𝑧 + 𝑑𝑨 + 𝑒

36

slide-37
SLIDE 37

With linear term

37

𝑔 𝐲1 = 𝑥1𝜚1,1 + 𝑥2𝜚1,2 + ⋯ + 𝑥𝑂𝜚1,𝑂 + 𝑏𝑦1 + 𝑐𝑧1 + 𝑑𝑨1 + 𝑒 = 𝑔

1

𝑔 𝐲2 = 𝑥1𝜚2,1 + 𝑥2𝜚2,2 + ⋯ + 𝑥𝑂𝜚2,𝑂 + 𝑏𝑦2 + 𝑐𝑧2 + 𝑑𝑨2 + 𝑒 = 𝑔

2

𝑔 𝐲𝑂 = 𝑥1𝜚𝑂,1 + 𝑥2𝜚𝑂,2 + ⋯ + 𝑥𝑂𝜚𝑂,𝑂 + 𝑏𝑦𝑂 + 𝑐𝑧𝑂 + 𝑑𝑨𝑂 + 𝑒 = 𝑔

𝑂

・・・

𝜚1,1 𝜚1,2 𝜚1,𝑂 𝑦1 𝑧1 𝑨1 1 𝜚2,1 𝜚2,2 𝜚2,𝑂 𝑦2 𝑧2 𝑨2 1 𝜚𝑂,1 𝜚𝑂,2 𝜚𝑂,𝑂 𝑦𝑂 𝑧𝑂 𝑨𝑂 1 𝑥1 𝑥2 𝑥𝑂 𝑏 𝑐 𝑑 𝑒 𝑔

1

𝑔

2

𝑔

𝑂 ・・・ ・・・

=

・・・

Φ 𝐱

𝐠

P 𝐝

4 unknowns 𝑏, 𝑐, 𝑑, 𝑒 added  4 new constraints needed

slide-38
SLIDE 38

Additional constraints: reproduction of all linear functions

  • “If all data points 𝐲𝑗, 𝑔

𝑗 are sampled from a linear function, RBF

should reproduce the original function”

  • Additional constraints:
  • 𝑗=1

𝑂

𝑥𝑗 = 0

  • 𝑗=1

𝑂

𝑦𝑗𝑥𝑗 = 0

  • 𝑗=1

𝑂

𝑧𝑗𝑥𝑗 = 0

  • 𝑗=1

𝑂

𝑨𝑗𝑥𝑗 = 0

  • Makes the matrix symmetric

38

𝜚1,1 𝜚1,2 𝜚1,𝑂 𝑦1 𝑧1 𝑨1 1 𝜚2,1 𝜚2,2 𝜚2,𝑂 𝑦2 𝑧2 𝑨2 1 𝜚𝑂,1 𝜚𝑂,2 𝜚𝑂,𝑂 𝑦𝑂 𝑧𝑂 𝑨𝑂 1 𝑦1 𝑦2 𝑦𝑂 0 0 0 0 𝑧1 𝑧2 𝑧𝑂 0 0 0 0 𝑨1 𝑨2 𝑧𝑂 0 0 0 0 1 1 1 0 0 0 0 𝑥1 𝑥2 𝑥𝑂 𝑏 𝑐 𝑑 𝑒 𝑔

1

𝑔

2

𝑔

𝑂 ・・・ ・・・

=

・・・ ・・・

Φ 𝐱

𝐠

P 𝐝 P⊺

Scattered Data Interpolation for Computer Graphics [Anjyo SIGGRAPH14 Course]

slide-39
SLIDE 39

Introducing gradient constraints

  • Introduce weighted sum of basis’ gradient 𝛂𝜚 :

𝑔 𝐲 =

𝑗=1 𝑂

𝑥𝑗𝜚 𝐲 − 𝐲𝑗 + 𝐰𝑗

⊺𝛂𝜚 𝐲 − 𝐲𝑗

+ 𝑏𝑦 + 𝑐𝑧 + 𝑑𝑨 + 𝑒

  • Gradient of 𝑔 :

𝛂𝑔 𝐲 =

𝑗=1 𝑂

𝑥𝑗𝛂𝜚 𝐲 − 𝐲𝑗 + H𝜚 𝐲 − 𝐲𝑗 𝐰𝑗 + 𝑏 𝑐 𝑑

  • Incorporate gradient constraints 𝛂𝑔 𝐲𝑗 = 𝐨𝑗

39

H𝜚 𝐲

= 𝜚xx 𝜚xy 𝜚xz 𝜚yx 𝜚yy 𝜚yz 𝜚zx 𝜚zy 𝜚zz

Hermite Radial Basis Functions Implicits [Macedo CGF10] Hessian matrix (function) Unknown 3D vector

slide-40
SLIDE 40

Gradient constraint: 𝛂𝑔 𝐲1 = 𝑥1𝛂𝜚1,1 + H𝜚

1,1𝐰1 + 𝑥2𝛂𝜚1,2 + H𝜚 1,2𝐰2 + ⋯ + 𝑥𝑂𝛂𝜚1,𝑂 + H𝜚 1,𝑂𝐰𝑂 +

𝑏 𝑐 𝑑 = 𝐨1 Value constraint: 𝑔 𝐲1 = 𝑥1𝜚1,1 + 𝐰1

⊺𝛂𝜚1,1 + 𝑥2𝜚1,2 + 𝐰2 ⊺𝛂𝜚1,2 + ⋯ + 𝑥𝑂𝜚1,𝑂 + 𝐰𝑂 ⊺ 𝛂𝜚1,𝑂 + 𝑏𝑦1 + 𝑐𝑧1 + 𝑑𝑨1 + 𝑒 = 𝑔 1

Introducing gradient constraints

  • 1st data point:

40

Hermite Radial Basis Functions Implicits [Macedo CGF10]

𝐨1 𝑔

1

𝜚1,1 𝛂𝜚1,1

H𝜚

1,1

𝛂𝜚1,1 𝜚1,2 𝛂𝜚1,2

H𝜚

1,2

𝛂𝜚1,2 𝜚1,𝑂 𝛂𝜚1,𝑂

H𝜚

1,𝑂

𝛂𝜚1,𝑂 𝑦1 𝑧1 𝑨1 1 1 0 0 0 0 1 0 0 0 0 1 0

・・・

=

P

1 𝑥1 𝐰1 𝐰2 𝑥2

・・・

𝐰𝑂 𝑥𝑂 𝑏 𝑐 𝑑 𝑒

Φ1,1 Φ1,2 Φ1,𝑂

slide-41
SLIDE 41

41

𝐨1 𝑔

1

=

𝑥1 𝐰1 𝐰2 𝑥2

・・・

𝐰𝑂 𝑥𝑂 𝑏 𝑐 𝑑 𝑒

P

1

Φ1,1 Φ1,2 Φ1,𝑂

・・・ ・・・

P

2

Φ2,1 Φ2,2 Φ2,𝑂 P

𝑂

Φ𝑂,1 Φ𝑂,2 Φ𝑂,𝑂

・・・

𝑄

1 ⊺

𝑄

2 ⊺

𝑄𝑂

⊺ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 𝐨2 𝑔

2

𝐨𝑂 𝑔

𝑂

・・・ ・・・

slide-42
SLIDE 42

Comparison

42

Gradient constraints Simple offsetting with value constraints only

slide-43
SLIDE 43

References

  • State of the Art in Surface Reconstruction from Point Clouds [Berger

EG14 STAR]

  • A survey of methods for moving least squares surfaces [Cheng PBG08]
  • Scattered Data Interpolation for Computer Graphics [Anjyo

SIGGRAPH14 Course]

  • An as-short-as-possible introduction to the least squares, weighted

least squares and moving least squares for scattered data approximation and interpolation [Nealen TechRep04]

43

slide-44
SLIDE 44

References

  • http://en.wikipedia.org/wiki/Implicit_surface
  • http://en.wikipedia.org/wiki/Radial_basis_function
  • http://en.wikipedia.org/wiki/Thin_plate_spline
  • http://en.wikipedia.org/wiki/Polyharmonic_spline

44