1 Dr. Scott Schaefer Generalized Barycentric Coordinates.

95
1 Dr. Scott Schaefer Generalized Barycentric Coordinates
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    1

Transcript of 1 Dr. Scott Schaefer Generalized Barycentric Coordinates.

1

Dr. Scott Schaefer

Generalized Barycentric Coordinates

2/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates

iw

i i

i ii

w

pwv

v

j j

i

w

w

v

1p

3p2p

3/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates

iw

i i

i ii

w

pwv

v

j j

i

w

w

v

1p

3p2p

v

w

w

w

ppp

3

2

1

321

Homogenous coordinates

4/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates

iw

i i

i ii

w

pwv

v

j j

i

w

w

v

1p

3p2p

vppp

w

w

w1

321

3

2

1

5/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates

iw

i i

i ii

w

pwv

v

j j

i

w

w

v

1p

3p2p

1A

2A3A

6/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates

iw

i i

i ii

w

pwv

v

j j

i

w

w

v

1p

3p2p

1A

2A3Aii Aw

7/95

Barycentric Coordinates

Given find weights such that

are barycentric coordinates 1p

3p

2p

4p

5p

v

iw

i i

i ii

w

pwv

v

j j

i

w

w

8/95

Boundary Value Interpolation

Given , compute such that

Given values at , construct a function

Interpolates values at vertices Linear on boundary Smooth on interior

1f

2f 3f

4f

5f

i i

i ii

w

fwvf )(ˆ

i i

i ii

w

pwv

iw

if ip

ip

9/95

Boundary Value Interpolation

Given , compute such that

Given values at , construct a function

Interpolates values at vertices Linear on boundary Smooth on interior

i i

i ii

w

fwvf )(ˆ

1f

2f 3f

4f

5f

i i

i ii

w

pwv

ipiw

if ip

10/95

Multi-Sided Patches

11/95

Multi-Sided Patches

12/95

Multi-Sided Patches

13/95

Multi-Sided Patches

14/95

Multi-Sided Patches

15/95

Multi-Sided Patches

16/95

Multi-Sided Patches

17/95

Multi-Sided Patches

18/95

Multi-Sided Patches

19/95

Wachspress Coordinates

v

ip

i

ii pwv

20/95

Wachspress Coordinates

v

i

ii pwv

ip

21/95

Wachspress Coordinates

),,( 1 iii ppvarea

v

i

ii pwv

ip

22/95

Wachspress Coordinates

),,( 1 iii ppvarea

niiiiii pppareaw ......),,( 122111

v

i

ii pwv

ip

23/95

Wachspress Coordinates

v

ii

iii

w

pwv

),,( 1 iii ppvarea

niiiiii pppareaw ......),,( 122111

ip

24/95

Wachspress Coordinates

v

ii

iii

w

pwv

),,( 1 iii ppvarea

ii

iiii

pppareaw

1

11 ),,(

ip

Polar Duals of Convex Polygons

Given a convex polyhedron P containing the origin, the polar dual is

25/95

PxyxyPd 1|][

Properties of Polar Duals

is dual to a face with plane equation Each face with normal and vertex is

dual to the vertex

26/95

ip 1xpi

in ip

ii

i

pn

n

in ip

ip

1

ii

i

pn

n

Properties of Polar Duals

is dual to a face with plane equation Each face with normal and vertex is

dual to the vertex

27/95

ip 1xpi

ip

ip

ip

1

in

ii

i

pn

n

in

ii

i

pn

n

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

28/95

in ip

v

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

29/95

vpi

vpi 1

in

)( vpn

n

ii

i

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

30/95

vpi

vpi 1

0)()( 1

1

i i

i

ii

i

ii

i

vp

vp

vpn

n

vpn

n in

)( vpn

n

ii

i

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

31/95

vpi

vpi 1

0)()( 1

1

i i

i

ii

i

ii

i

vp

vp

vpn

n

vpn

n in

)( vpn

n

ii

i

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

32/95

vpi

vpi 1

vpvpn

nvpn

nw i

ii

i

ii

ii

)()( 1

1 in

)( vpn

n

ii

i

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

33/95

vpi )( 1ii pp

)()(

)(

1

1

vppp

pp

iii

ii

vpvpn

nvpn

nw i

ii

i

ii

ii

)()( 1

1

Coordinates From Polar Duals

Given a point v, translate v to origin Construct polar dual

34/95

vpi )( 1ii pp

)()(

)(

1

1

vppp

pp

iii

ii

)()(

)(

)()(

)(

1

1

1

1

vppp

pp

vppp

ppw

iii

ii

iii

iii

Given a point v, translate v to origin Construct polar dual

Coordinates From Polar Duals

35/95

ip )( 1ii pp

v

1ip 1ip)()(

)(

)()(

)(

1

1

1

1

vppp

pp

vppp

ppw

iii

ii

iii

iii

Given a point v, translate v to origin Construct polar dual

Coordinates From Polar Duals

36/95

ip )( 1ii pp

),,(

)(

),,(

)(

1

1

1

1

ii

ii

ii

iii ppvarea

pp

ppvarea

ppw

v

1ip 1ip

Given a point v, translate v to origin Construct polar dual

Coordinates From Polar Duals

37/95

ip )( 1ii pp

),,(

)(

),,(

)(

1

1

1

1

ii

ii

ii

iii ppvarea

pp

ppvarea

ppw

v

1ip 1ip

Given a point v, translate v to origin Construct polar dual

Coordinates From Polar Duals

38/95

ip )( 1ii pp

),,(),,(

),,(

11

11

iiii

iiii ppvareappvarea

pppareaw

v

1ip 1ip

Identical to Wachspress Coordinates!

Extensions into Higher Dimensions

Compute polar dual Volume of pyramid from dual face to origin

is barycentric coordinate

39/95

40/95

Wachspress Coordinates – Summary

Coordinate functions are rational and of low degree

Coordinates are only well-defined for convex polygons

wi are positive inside of convex polygons

3D and higher dimensional extensions (for convex shapes) do exist

41/95

Mean Value Coordinates

i i

i ii

w

pwv

1p

2p

3p 4p

5p

v

42/95

Mean Value Coordinates

1p

2p

3p 4p

5p

v

0)( i ii vpw

43/95

Mean Value Coordinates

1p

2p

3p 4p

5p

v vS

0)( i ii vpw

44/95

Mean Value Coordinates

1p

2p

3p 4p

5p

im

v vS

0)( i ii vpw

45/95

Mean Value Coordinates

1p

2p

3p 4p

5p

im

v vS

0i

im

0)( i ii vpw

46/95

Mean Value Coordinates

1p

2p

3p 4p

5p

im

v vS

0i

im

)()( 11 vpvpm iiiii

0)( i ii vpw

47/95

Mean Value Coordinates

1p

2p

3p 4p

5p

im

v vS

0))(( i

iii vp

0i

im

)()( 11 vpvpm iiiii

0)( i ii vpw

48/95

Mean Value Coordinates

im

v1n

2n

0)( i ii vpw

49/95

Mean Value Coordinates

Apply Stokes’ Theorem

im

v1n

2n021 nnmi

0)( i ii vpw

50/95

Comparison

convex polygons(Wachspress Coordinates)

closed polygons(Mean Value Coordinates)

51/95

Comparison

convex polygons(Wachspress Coordinates)

closed polygons(Mean Value Coordinates)

52/95

Comparison

convex polygons(Wachspress Coordinates)

closed polygons(Mean Value Coordinates)

53/95

Comparison

convex polygons(Wachspress Coordinates)

closed polygons(Mean Value Coordinates)

54/95

3D Mean Value Coordinates

v

55/95

Exactly same as 2D but must compute mean vector for a given spherical triangle

3D Mean Value Coordinates

v

m

m

56/95

3D Mean Value Coordinates

Exactly same as 2D but must compute mean vector for a given spherical triangle

Build wedge with face normals

v

m

kn

kn

m

57/95

Exactly same as 2D but must compute mean vector for a given spherical triangle

Build wedge with face normals Apply Stokes’ Theorem,

3D Mean Value Coordinates

v

m

kn

k

kn

03

12

1

mnk

kk

m

58/95

Deformations using Barycentric Coordinates

i i

i ii

w

pwv

ipv

59/95

Deformations using Barycentric Coordinates

i i

i ii

w

pwv

ipv

60/95

Deformations using Barycentric Coordinates

i i

i ii

w

pwv

ˆˆ

ip̂

i i

i ii

w

pwv

ipv

61/95

Deformations using Barycentric Coordinates

i i

i ii

w

pwv

vip

i i

i ii

w

pwv

ˆˆ

ip̂

62/95

Deformation Examples

Control Mesh Surface Computing Weights Deformation

216 triangles 30,000 triangles 1.9 seconds 0.03 seconds

63/95

Deformation Examples

Control Mesh Surface Computing Weights Deformation

216 triangles 30,000 triangles 1.9 seconds 0.03 seconds

Real-time!

64/95

Deformation Examples

Control Mesh Surface Computing Weights Deformation

98 triangles 96,966 triangles 3.3 seconds 0.09 seconds

65/95

Mean Value Coordinates – Summary

Coordinate functions are NOT rational Coordinates are only well-defined for any

closed, non-self-intersecting polygon/surface wi are positive inside of convex polygons, but

not in general

Constructing a Laplacian Operator

66/95

0)()(2 vFvF

Constructing a Laplacian Operator

67/95

0)()(2 vFvF

Laplacian

Constructing a Laplacian Operator

68/95

2

21 )(max vF

F

Euler-Lagrange Theorem

Constructing a Laplacian Operator

69/95

0p

1p

2p

3p

4p

5p

2

21 )(max vF

F

Constructing a Laplacian Operator

70/95

0f

1f

2f

3f

4f

5f

2

21 )(max vF

F

Constructing a Laplacian Operator

71/95

0f

1f

2f

3f

4f

5f

v

2

21 )(max vF

F

Constructing a Laplacian Operator

72/95

v

),( 00 fp

),( 11 fp

),( 22 fp

2

21 )(max vF

F

Constructing a Laplacian Operator

73/95

),( 00 fp

),( 11 fp

),( 22 fp

3

121),,(

1 ),,()(210

iiiippparea fvppareavF

v

2

21 )(max vF

F

Constructing a Laplacian Operator

74/95

v

),( 00 fp

),( 11 fp

),( 22 fp

3

121),,(

1 ),,()(210

iiiippparea fvppareavF

2

21 )(max vF

F

Constructing a Laplacian Operator

75/95

v

),( 00 fp

),( 11 fp

),( 22 fp

3

121),,(

1 ),,()(210

iiiippparea fvppareavF

?),,( 21 vpparea

2

21 )(max vF

F

Constructing a Laplacian Operator

76/95

v

),( 00 fp

),( 11 fp

),( 22 fp

3

121),,(

1 ),,()(210

iiiippparea fvppareavF

)(),,( 2121 ppvpparea

2

21 )(max vF

F

Constructing a Laplacian Operator

77/95

v

),( 00 fp

),( 11 fp

),( 22 fp

3

121),,(

1 )()(210

iiiippparea fppvF

2

21 )(max vF

F

Constructing a Laplacian Operator

78/95

v

),( 00 fp

),( 11 fp

),( 22 fp

2

210102021),,(12

)()()()( 2210

fppfppfppvFppparea

2

21 )(max vF

F

Constructing a Laplacian Operator

79/95

v

),( 00 fp

),( 11 fp

),( 22 fp

120210201021100221

22

2

102

1

2

022

0

2

21

),,(12

)()(2)()(2)()(2)( 2

210 ffppppffppppffpppp

fppfppfppvF

ppparea

2

21 )(max vF

F

Constructing a Laplacian Operator

80/95

v

),( 00 fp

),( 11 fp

),( 22 fp

120210201021100221

22

2

102

1

2

022

0

2

21),,(

12

)()(2)()(2)()(2)(

210

ffppppffppppffpppp

fppfppfppvF ppparea

2

21 )(max vF

F

Constructing a Laplacian Operator

81/95

v

),( 00 fp

),( 11 fp

),( 22 fp

21021102210

2

21),,(12

0

)()(2)()(22)(210

fppppfppppfppvFf ppparea

2

21 )(max vF

F

Constructing a Laplacian Operator

82/95

v

),( 00 fp

),( 11 fp

),( 22 fp

21012120210

2

21),,(12

21

0

)()()()()(210

fppppfppppfppvFf ppparea

2

21 )(max vF

F

Constructing a Laplacian Operator

83/95

v

),( 00 fp

),( 11 fp

),( 22 fp

211012

110121

22021

220210

210

2

212

21

0 )sin(

)cos(

)sin(

)cos(

),,()( f

pppp

ppppf

pppp

ppppf

ppparea

ppvF

f

0

1

2

2

21 )(max vF

F

Constructing a Laplacian Operator

84/95

v

),( 00 fp

),( 11 fp

),( 22 fp

2112012

2

21

0

)cot()cot()cot()cot()( fffvFf

0

1

2

2

21 )(max vF

F

Constructing a Laplacian Operator

85/95

2,1i1,i

2,i

),( ii fp

1,1i

01,12,1,12,0 )cot()cot()cot()cot()( ffpFi

iii

iii

),( 00 fp

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

86/95

0)( vF

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

87/95

0)( vF

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

88/95

0)( vF

1

00

00

0

0

0

0000

8.06.0

4.02.0

75.0

45.0

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

89/95

0)( vF

1

00

00

0

0

0

0000

8.06.0

4.02.0

75.0

45.0

V

F

C

CL T 0

0

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

90/95

0)( vF

1

00

00

0

0

0

0000

8.06.0

4.02.0

75.0

45.0

V

F

C

CL T 0

0

ith row contains laplacian for ith vertex

Harmonic Coordinates

Solution to Laplace’s equation with boundary constraints

91/95

0)( vF

v

Harmonic Coordinates

92/95

93/95

Harmonic Coordinates – Summary

Positive, smooth coordinates for all polygons Fall off with respect to geodesic distance, not

Euclidean distance Only approximate solutions exist and require

matrix solve whose size is proportional to accuracy

94/95

Harmonic Coordinates – Summary

Positive, smooth coordinates for all polygons Fall off with respect to geodesic distance, not

Euclidean distance Only approximate solutions exist and require

matrix solve whose size is proportional to accuracy

95/95

Barycentric Coordinates – Summary

Infinite number of barycentric coordinates Constructions exists for smooth shapes too Challenge is finding coordinates that are:

well-defined for arbitrary shapespositive on the interior of the shapeeasy to computesmooth