Introduction to Computer Graphics Modeling (3) April 30, 2020 - - PowerPoint PPT Presentation

introduction to computer graphics modeling 3
SMART_READER_LITE
LIVE PREVIEW

Introduction to Computer Graphics Modeling (3) April 30, 2020 - - PowerPoint PPT Presentation

Introduction to Computer Graphics Modeling (3) April 30, 2020 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 30, 2020 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

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

  • The whole interior of the model:

𝐪 𝑔 𝐪 = true } ⊂ ℝ!

  • Examples:

4

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

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: 𝑒 𝐪 : ℝ! ↦ ℝ

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

𝑔 𝐪 ≔ 𝑒(𝐪) < 0

  • Zero isosurface è model surface:

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

  • 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

𝑒 𝐪 = 𝑒3 𝐪 − 𝑒4(𝐪) 𝑒 𝐪 = 𝑒3 𝐪 + 𝑒4(𝐪) 𝑒5 𝐪 = 𝑟5 𝐪 − 𝐝5 − 𝑠5 𝑒 𝐪 = 𝑒3 𝐪 + 𝑒4 𝐪 + 𝑒6 𝐪 + 𝑒7 𝐪

c1 c4 c3 c2

slide-9
SLIDE 9

Morphing by interpolating implicit functions

9

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

slide-10
SLIDE 10

Modeling by combining implicit functions

10

slide-11
SLIDE 11

More advanced blending

  • When blending two implicit functions, consider their gradient

directions and choose different blending accordingly

11

A gradient-based implicit blend [Gourmel,Barthe,Cani,Wyvill,Bernhardt,Grasberger,TOG13] Traditional (simple sum) Proposed

slide-12
SLIDE 12

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 patentedL, now expiredJ)

12

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

slide-13
SLIDE 13

Example of 3D modeling tool using implicit surfaces

13

Shapeshop; Sketch-based solid modeling with blobtrees [Schmidt,Wyvill,Sousa,Jorge,SBIM05]

slide-14
SLIDE 14

Example of 3D modeling tool using implicit surfaces

14

A sketching interface for modeling the internal structures of 3d shapes [Owada,Nielsen,Nakazawa,Igarashi,SmartGraphics03]

slide-15
SLIDE 15

Ambiguity in Marching Cubes

15

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

Discontinuous faces across neighboring cells New rules to resolve ambiguity

slide-16
SLIDE 16

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

16

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

slide-17
SLIDE 17

Isosurface extraction preserving sharp edges

17

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-18
SLIDE 18

CSG with surface representation only

  • Volumetric representation (=isosurface extraction using MC)

è Approximation accuracy depends on grid resolution L

  • CSG with surface representation only

è Exactly keep original mesh geometry J

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

18

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-19
SLIDE 19

Mesh repair

19

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-20
SLIDE 20

Surface reconstruction from point cloud

20

slide-21
SLIDE 21

Measuring 3D shapes

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

21

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

Typical Computer Vision problems

slide-22
SLIDE 22

Surface reconstruction from point cloud

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

8, 𝑜5 9, 𝑜5 : , 𝑗 ∈ 1, … , 𝑂

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

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

22

𝑔

5

slide-23
SLIDE 23

Two ways for controlling gradients

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

(Hermite interpolation)

  • High-quality

23

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

slide-24
SLIDE 24

Interpolation using Moving Least Squares

24

slide-25
SLIDE 25

Starting point: Least SQuares

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

25

𝐲 ≔ (𝑦, 𝑧, 𝑨)

𝑦3 𝑧3 𝑨3 1 𝑦4 𝑧4 𝑨4 1 𝑦; 𝑧; 𝑨; 1 𝑏 𝑐 𝑑 𝑒 𝑔

3

𝑔

4

𝑔

; ・・・ ・・・

=

𝐵 𝐝

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

3

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

4

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

; ・・・

slide-26
SLIDE 26

Overconstrained System

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

è cannot exactly satisfy all the constraints

  • Minimizing fitting error

26

𝐵 𝐝

𝐠

𝐝 𝐵

𝐠

𝐝

𝐵⊺𝐵 "#

𝐠

𝐵⊺ 𝐵⊺ 𝐵⊺

= = = 𝑩 𝐝 − 𝐠 4 = F

5<3 ;

𝑔 𝐲5 − 𝑔

5 4 “normal equation”

slide-27
SLIDE 27

Geometric interpretation of LSQ

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

𝑒4 = 𝛽𝐪 + 𝛾𝐫 − 𝐬 4

27

𝑞8 𝑞9 𝑞: = 𝛽 𝛾 𝑟8 𝑟9 𝑟: 𝑠

8

𝑠

9

𝑠

:

𝐫 𝐪 𝐬 𝛽 𝛾 𝑒

slide-28
SLIDE 28

Weighted Least Squares

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

F

5<3 ;

𝑥5 𝑔 𝐲5 − 𝑔

5 4

28

𝑦3 𝑧3 𝑨3 1 𝑦4 𝑧4 𝑨4 1 𝑦; 𝑧; 𝑨; 1 𝑏 𝑐 𝑑 𝑒 𝑔

3

𝑔

4

𝑔

; ・・・ ・・・

= 𝑥3 𝑥4 𝑥;

・ ・ ・

𝑥3 𝑥4 𝑥;

・ ・ ・

𝐵 𝐝

𝐠

𝑋 𝑋

slide-29
SLIDE 29

Weighted Least Squares

29

𝐵 𝐝

𝐠

𝐝

𝐵⊺𝑋"𝐵 #$

𝐠

𝐵⊺𝑋4

= =

𝑋 𝑋

slide-30
SLIDE 30

Moving Least Squares

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

𝑥" 𝐲 = 𝑥( 𝐲 − 𝐲" )

  • Popular choices for the function (kernel):
  • 𝑥 𝑠 = 𝑓#$&/&&
  • 𝑥 𝑠 =

' $&()&

  • Weighting matrix 𝑋 is a function of 𝐲

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

30

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

𝐵⊺𝑋 𝐲 (𝐵 )*

𝐠 𝐵⊺𝑋 𝐲 4 Larger the weight as 𝐲 is closer to 𝐲5

slide-31
SLIDE 31

Introducing gradient (normal) constraints

  • Consider linear function represented by each data point:

𝑕5 𝐲 = 𝑔

5 + 𝐲 − 𝐲5 ⊺𝐨5

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

F

5<3 ;

𝑥5 𝐲 𝑔 𝐲 − 𝑕5 𝐲

4

31

𝑦 𝑧 𝑨 1 𝑦 𝑧 𝑨 1 𝑦 𝑧 𝑨 1 𝑏 𝑐 𝑑 𝑒 𝑕3 𝐲 𝑕4 𝐲 𝑕; 𝐲

・・・ ・・・

= 𝑥3(𝐲) 𝑥4(𝐲) 𝑥;(𝐲)

・ ・ ・

𝑥3(𝐲) 𝑥4(𝐲) 𝑥;(𝐲)

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

slide-32
SLIDE 32

Introducing gradient (normal) constraints

32

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-33
SLIDE 33

Interpolation using Radial Basis Functions

33

slide-34
SLIDE 34

Basic idea

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

𝑔 𝐲 = 9

356 7

𝑥3𝜚(𝐲 − 𝐲3)

  • Radial Basis Function 𝜚(𝐲) : only depends on the length of 𝐲
  • 𝜚 𝐲 = 𝑓A 𝐲 !/C!

(Gaussian)

  • 𝜚 𝐲 =

3 𝐲 !DE!

(Inverse Multiquadric)

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

3

34

Basis function translated to each data point 𝐲$

Unknown

slide-35
SLIDE 35

Basic idea

35

𝑔 𝐲3 = 𝑥3𝜚3,3 + 𝑥4𝜚3,4 + ⋯ + 𝑥;𝜚3,; = 𝑔

3

𝑔 𝐲4 = 𝑥3𝜚4,3 + 𝑥4𝜚4,4 + ⋯ + 𝑥;𝜚4,; = 𝑔

4

𝑔 𝐲; = 𝑥3𝜚;,3 + 𝑥4𝜚;,4 + ⋯ + 𝑥;𝜚;,; = 𝑔

;

Notation: 𝜚5,F = 𝜚 𝐲5 − 𝐲F ・・・

Solve this!

𝜚3,3 𝜚3,4 𝜚3,; 𝜚4,3 𝜚4,4 𝜚4,; 𝜚;,3 𝜚;,4 𝜚;,; 𝑥3 𝑥4 𝑥; 𝑔

3

𝑔

4

𝑔

; ・ ・ ・ ・・・

=

・・・

Φ 𝐱

𝐠

slide-36
SLIDE 36

When using Gaussian RBF

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

36

𝜚 𝐲 = 𝑓8 𝐲 !/:!

Scattered Data Interpolation for Computer Graphics [Anjyo SIGGRAPH14 Course]

𝜏

小 大

slide-37
SLIDE 37

Measure of function’s smoothness

𝐹; 𝑔 ≔ A

ℝ" 𝛂;𝑔 𝐲 4𝑒𝐲

37

𝛂(𝑔 𝑦, 𝑧 ≔ 𝑔

%%, 𝑔 %+, 𝑔 +%, 𝑔 ++

𝐹( 𝑔 ≔ I

ℝ!𝑔 %% ( + 𝑔 ++ ( + 2𝑔 %+ (

𝛂(𝑔 𝑦, 𝑧, 𝑨 ≔ 𝑔

%%, 𝑔 %+, 𝑔 %-, 𝑔 +%, 𝑔 ++, 𝑔 +-, 𝑔

  • %, 𝑔
  • +, 𝑔
  • 𝐹( 𝑔 ≔ I

ℝ"𝑔 .. ( + 𝑔 // ( + 𝑔 00 ( + 2 𝑔 ./ ( + 𝑔 /0 ( + 𝑔 0. (

𝛂%𝑔 𝑦, 𝑧 ≔ 𝑔

&&&, 𝑔 &&', 𝑔 &'&, 𝑔 &'', 𝑔 '&&, 𝑔 '&', 𝑔 ''&, 𝑔 '''

𝐹1 𝑔 ≔ I

ℝ!𝑔 %%% ( + 𝑔 +++ (

+ 2 𝑔

%%+ (

+ 𝑔

++% (

𝛂!𝑔 𝑦, 𝑧 ≔ 𝑔

""", 𝑔 ""#, 𝑔 ""$, 𝑔 "#", 𝑔 "##, 𝑔 "#$, 𝑔 "$", 𝑔 "$#, 𝑔 "$$,

𝑔

#"", 𝑔 #"#, 𝑔 #"$, 𝑔 ##", 𝑔 ###, 𝑔 ##$, 𝑔 #$", 𝑔 #$#, 𝑔 #$$,

𝑔

$"", 𝑔 $"#, 𝑔 $"$, 𝑔 $#", 𝑔 $##, 𝑔 $#$, 𝑔 $$", 𝑔 $$#, 𝑔 $$$

𝑔

!!! " + 𝑔 ### "

+ 𝑔

$$$ " + 3 𝑔 !!# "

+ 𝑔

##$ "

+ 𝑔

$$! " + 𝑔 !## "

+ 𝑔

#$$ " + 𝑔 $!! "

+ 𝑔

!#$ "

𝐹1 𝑔 ≔ I

ℝ"

𝑛 = 2 𝑛 = 3 2D 3D “Thin-plate” energy

slide-38
SLIDE 38

Great discovery (Duchon 1977)

  • Of all functions satisfying 𝑔 𝐲3 = 𝑔

3 , the minimizer of 𝐹; 𝑔 is represented

as RBFs with the following basis:

  • When the space dimension is odd: 𝜚 𝐲 =

𝐲 4OA6

  • When the space dimension is even: 𝜚 𝐲 =

𝐲 4OA4 log 𝐲

  • Assume 𝜚 0 = 0
  • Popular choice:
  • For 2D: 𝜚 𝐲 =

𝐲 4 log 𝐲 (minimizes 𝐹4)

  • For 3D: 𝜚 𝐲 =

𝐲 6 (minimizes 𝐹6)

38

Splines minimizing rotation-invariant semi-norms in Sobolev spaces [Duchon, 1977]

slide-39
SLIDE 39

Additional linear term

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

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

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

𝑔 𝐲 = 9

356 7

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

39

slide-40
SLIDE 40

With linear term

40

𝑔 𝐲# = 𝑥#𝜚#,# + 𝑥&𝜚#,& + ⋯ + 𝑥'𝜚#,' + 𝑏𝑦# + 𝑐𝑧# + 𝑑𝑨# + 𝑒 = 𝑔

#

𝑔 𝐲& = 𝑥#𝜚&,# + 𝑥&𝜚&,& + ⋯ + 𝑥'𝜚&,' + 𝑏𝑦& + 𝑐𝑧& + 𝑑𝑨& + 𝑒 = 𝑔

&

𝑔 𝐲' = 𝑥#𝜚',# + 𝑥&𝜚',& + ⋯ + 𝑥'𝜚',' + 𝑏𝑦' + 𝑐𝑧' + 𝑑𝑨' + 𝑒 = 𝑔

'

・・・ ・ ・ ・

𝜚3,3 𝜚3,4 𝜚3,; 𝑦3 𝑧3 𝑨3 1 𝜚4,3 𝜚4,4 𝜚4,; 𝑦4 𝑧4 𝑨4 1 𝜚;,3 𝜚;,4 𝜚;,; 𝑦; 𝑧; 𝑨; 1 𝑥3 𝑥4 𝑥; 𝑏 𝑐 𝑑 𝑒 𝑔

3

𝑔

4

𝑔

; ・・・ ・・・

=

・・・

Φ 𝐱

𝐠

P 𝐝

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

slide-41
SLIDE 41

Additional constraints: reproduction of all linear functions

  • “If all data points 𝐲3, 𝑔

3 are sampled from a linear function, RBF should

reproduce the original function”

  • Additional constraints:
  • ∑5<3

;

𝑥5 = 0

  • ∑5<3

;

𝑦5𝑥5 = 0

  • ∑5<3

;

𝑧5𝑥5 = 0

  • ∑5<3

;

𝑨5𝑥5 = 0

  • Makes the matrix symmetric

41

𝜚3,3 𝜚3,4 𝜚3,; 𝑦3 𝑧3 𝑨3 1 𝜚4,3 𝜚4,4 𝜚4,; 𝑦4 𝑧4 𝑨4 1 𝜚;,3 𝜚;,4 𝜚;,; 𝑦; 𝑧; 𝑨; 1 𝑦3 𝑦4 𝑦; 0 0 0 0 𝑧3 𝑧4 𝑧; 0 0 0 0 𝑨3 𝑨4 𝑧; 0 0 0 0 1 1 1 0 0 0 0 𝑥3 𝑥4 𝑥; 𝑏 𝑐 𝑑 𝑒 𝑔

3

𝑔

4

𝑔

; ・・・ ・・・

=

・・・ ・・・ ・ ・ ・

Φ 𝐱

𝐠

P 𝐝 P⊺

Scattered Data Interpolation for Computer Graphics [Anjyo SIGGRAPH14 Course]

slide-42
SLIDE 42

Introducing gradient constraints

  • Introduce weighted sum of basis’ gradient 𝛂𝜚 :

𝑔 𝐲 = 9

356 7

𝑥3𝜚 𝐲 − 𝐲3 + 𝐰3

⊺𝛂𝜚 𝐲 − 𝐲3

+ 𝑏𝑦 + 𝑐𝑧 + 𝑑𝑨 + 𝑒

  • Gradient of 𝑔 :

𝛂𝑔 𝐲 = 9

356 7

𝑥3𝛂𝜚 𝐲 − 𝐲3 + HH 𝐲 − 𝐲3 𝐰3 + 𝑏 𝑐 𝑑

  • Incorporate gradient constraints 𝛂𝑔 𝐲3 = 𝐨3

42

HH 𝐲

= 𝜚88 𝜚89 𝜚8: 𝜚98 𝜚99 𝜚9: 𝜚:8 𝜚:9 𝜚::

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

slide-43
SLIDE 43

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

#,#𝐰# + 𝑥&𝛂𝜚#,& + H( #,&𝐰& + ⋯ + 𝑥'𝛂𝜚#,' + H( #,'𝐰' +

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

⊺𝛂𝜚#,# + 𝑥&𝜚#,& + 𝐰& ⊺𝛂𝜚#,& + ⋯ + 𝑥'𝜚#,' + 𝐰' ⊺ 𝛂𝜚#,' + 𝑏𝑦# + 𝑐𝑧# + 𝑑𝑨# + 𝑒 = 𝑔 #

Introducing gradient constraints

  • 1st data point:

43

Hermite Radial Basis Functions Implicits [Macedo CGF10]

𝐨# 𝑔

#

𝜚#,# 𝛂𝜚#,#

H(

#,#

𝛂𝜚#,# 𝜚#,& 𝛂𝜚#,&

H(

#,&

𝛂𝜚#,& 𝜚#,' 𝛂𝜚#,'

H(

#,'

𝛂𝜚#,' 𝑦# 𝑧# 𝑨# 1 1 0 0 0 0 1 0 0 0 0 1 0

・・・

=

P

6 𝑥# 𝐰# 𝐰& 𝑥&

・・・

𝐰' 𝑥' 𝑏 𝑐 𝑑 𝑒

Φ6,6 Φ6,4 Φ6,7

slide-44
SLIDE 44

44

𝐨# 𝑔

#

=

𝑥# 𝐰# 𝐰& 𝑥&

・・・

𝐰' 𝑥' 𝑏 𝑐 𝑑 𝑒

P

6

Φ6,6 Φ6,4 Φ6,7

・・・ ・・・

P

4

Φ4,6 Φ4,4 Φ4,7 P

7

Φ7,6 Φ7,4 Φ7,7

・・・

𝑄

6 ⊺

𝑄4

𝑄7

⊺ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 𝐨& 𝑔

&

𝐨' 𝑔

'

・・・ ・・・ ・ ・ ・

slide-45
SLIDE 45

Comparison

45

Gradient constraints Simple offsetting with value constraints only

slide-46
SLIDE 46

Recent work: global normal estimation

  • With known locations 𝐲" and unknown normals 𝐨" , a function 𝑔 satisfying

value constraints 𝑔 𝐲0 = 0 gradient constraints 𝛂𝑔 𝐲0 = 𝐨0

can be uniquely specified by using RBF

è Unknown normals 𝐨0 determine the function: 𝑔 𝐨2 è Unknown normals 𝐨0 determine the function’s smoothness:

𝐹 𝐨2 ≔ 𝐹 𝑔 𝐨2

  • Formulated as a quadratically-constrained quadratic programming:

minimize 𝐨$𝐼 𝐨

  • s. t. 𝐨"

$𝐨" = 1

∀𝑗

46

Variational Implicit Point Set Surfaces [Huang,Carr,Ju,SIGGRAPH19]

𝐨 = ⋮ 𝐨$

)

Matrix 𝐼 depends only on 𝐲3

= 𝐨P𝐼 𝐨

slide-47
SLIDE 47

Recent work: global normal estimation

47

Variational Implicit Point Set Surfaces [Huang,Carr,Ju,SIGGRAPH19]

Input points

slide-48
SLIDE 48

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]

48

slide-49
SLIDE 49

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

49