2D Computer Graphics Diego Nehab Summer 2020 IMPA 1 Inflection - - PowerPoint PPT Presentation

2d computer graphics
SMART_READER_LITE
LIVE PREVIEW

2D Computer Graphics Diego Nehab Summer 2020 IMPA 1 Inflection - - PowerPoint PPT Presentation

2D Computer Graphics Diego Nehab Summer 2020 IMPA 1 Inflection points and double points The coordinates P G of P in G are T P F F P F G P G F T P G P G T P F (In RP 2 the adjugate T is as good as the inverse) A line in L has coordinates L F a


slide-1
SLIDE 1

2D Computer Graphics

Diego Nehab Summer 2020

IMPA 1

slide-2
SLIDE 2

Inflection points and double points

slide-3
SLIDE 3

Covariant and contravariant tensors

A point P has coordinates [P]F =

  • x

y w T for some frame F in RP2 Let G be the result of transforming F by T The coordinates P G of P in G are T P F F P F G P G F T P G P G T P F (In RP2 the adjugate T is as good as the inverse) A line in L has coordinates L F a b c in F Its coordinates in G are T L F L F P F L FT P G L G L FT

2

slide-4
SLIDE 4

Covariant and contravariant tensors

A point P has coordinates [P]F =

  • x

y w T for some frame F in RP2 Let G be the result of transforming F by T The coordinates [P]G of P in G are T∗ [P]F F [P]F = G [P]G = F T [P]G ⇒ [P]G = T∗ [P]F (In RP2 the adjugate T is as good as the inverse) A line in L has coordinates L F a b c in F Its coordinates in G are T L F L F P F L FT P G L G L FT

2

slide-5
SLIDE 5

Covariant and contravariant tensors

A point P has coordinates [P]F =

  • x

y w T for some frame F in RP2 Let G be the result of transforming F by T The coordinates [P]G of P in G are T∗ [P]F F [P]F = G [P]G = F T [P]G ⇒ [P]G = T∗ [P]F (In RP2 the adjugate T∗ is as good as the inverse) A line in L has coordinates L F a b c in F Its coordinates in G are T L F L F P F L FT P G L G L FT

2

slide-6
SLIDE 6

Covariant and contravariant tensors

A point P has coordinates [P]F =

  • x

y w T for some frame F in RP2 Let G be the result of transforming F by T The coordinates [P]G of P in G are T∗ [P]F F [P]F = G [P]G = F T [P]G ⇒ [P]G = T∗ [P]F (In RP2 the adjugate T∗ is as good as the inverse) A line in L has coordinates [L]F =

  • a

b c

  • in F

Its coordinates in G are T L F L F P F L FT P G L G L FT

2

slide-7
SLIDE 7

Covariant and contravariant tensors

A point P has coordinates [P]F =

  • x

y w T for some frame F in RP2 Let G be the result of transforming F by T The coordinates [P]G of P in G are T∗ [P]F F [P]F = G [P]G = F T [P]G ⇒ [P]G = T∗ [P]F (In RP2 the adjugate T∗ is as good as the inverse) A line in L has coordinates [L]F =

  • a

b c

  • in F

Its coordinates in G are T [L]F [L]F[P]F = 0 = [L]FT[P]G ⇒ [L]G = [L]FT

2

slide-8
SLIDE 8

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-9
SLIDE 9

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-10
SLIDE 10

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-11
SLIDE 11

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-12
SLIDE 12

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-13
SLIDE 13

Covariant and contravariant tensors

Lines as row-vectors and points as column vectors are confusing What we really have is point-like things and line-like things Line-like things “co”-transform with the coordinate system. Point-like things “contra”-transform with the coordinate system. Point-like things are contravariant tensors Line-like (plane-like) things are covariant tensors

3

slide-14
SLIDE 14

Einstein’s notation

Coordinates of contravariant tensors use superscripts P =

  • P1

P2 P3 Coordinates of covariant tensors use subscripts L L1 L2 L3 The contraction between a covariant and a contravariant 1-tensor is the scalar product P L

n i 1

PiLi Whenever there is an expression with the same index name appearing as a subscript and a subscript, the summation sign is omitted PiLi P1L1 P2L2 P3L3 L1P1 L2P2 L3P3 LiPi

4

slide-15
SLIDE 15

Einstein’s notation

Coordinates of contravariant tensors use superscripts P =

  • P1

P2 P3 Coordinates of covariant tensors use subscripts L =

  • L1

L2 L3

  • The contraction between a covariant and a contravariant 1-tensor is

the scalar product P L

n i 1

PiLi Whenever there is an expression with the same index name appearing as a subscript and a subscript, the summation sign is omitted PiLi P1L1 P2L2 P3L3 L1P1 L2P2 L3P3 LiPi

4

slide-16
SLIDE 16

Einstein’s notation

Coordinates of contravariant tensors use superscripts P =

  • P1

P2 P3 Coordinates of covariant tensors use subscripts L =

  • L1

L2 L3

  • The contraction between a covariant and a contravariant 1-tensor is

the scalar product P · L =

n

  • i=1

PiLi Whenever there is an expression with the same index name appearing as a subscript and a subscript, the summation sign is omitted PiLi P1L1 P2L2 P3L3 L1P1 L2P2 L3P3 LiPi

4

slide-17
SLIDE 17

Einstein’s notation

Coordinates of contravariant tensors use superscripts P =

  • P1

P2 P3 Coordinates of covariant tensors use subscripts L =

  • L1

L2 L3

  • The contraction between a covariant and a contravariant 1-tensor is

the scalar product P · L =

n

  • i=1

PiLi Whenever there is an expression with the same index name appearing as a subscript and a subscript, the summation sign is omitted PiLi = P1L1 + P2L2 + P3L3 = L1P1 + L2P2 + L3P3 = LiPi

4

slide-18
SLIDE 18

Transformations

A transformation matrix takes a line and returns a line, or takes a point and returns a point It has two indices, one covariant and one contravariant. It is a mixed 2-tensor Mj

iPi

Qj Mj

iLj

Ri The covariant index transforms with T and the contravariant index transforms with T Nk Mj

iTi k T j 5

slide-19
SLIDE 19

Transformations

A transformation matrix takes a line and returns a line, or takes a point and returns a point It has two indices, one covariant and one contravariant. It is a mixed 2-tensor Mj

iPi

Qj Mj

iLj

Ri The covariant index transforms with T and the contravariant index transforms with T Nk Mj

iTi k T j 5

slide-20
SLIDE 20

Transformations

A transformation matrix takes a line and returns a line, or takes a point and returns a point It has two indices, one covariant and one contravariant. It is a mixed 2-tensor Mj

iPi = Qj

Mj

iLj = Ri

The covariant index transforms with T and the contravariant index transforms with T Nk Mj

iTi k T j 5

slide-21
SLIDE 21

Transformations

A transformation matrix takes a line and returns a line, or takes a point and returns a point It has two indices, one covariant and one contravariant. It is a mixed 2-tensor Mj

iPi = Qj

Mj

iLj = Ri

The covariant index transforms with T and the contravariant index transforms with T∗ Nℓ

k = Mj iTi k(T∗)ℓ j 5

slide-22
SLIDE 22

Conics

Note that in vanilla linear algebra, we only have mixed 2-tensors! A conic is a purely covariant 2-tensor QijPjPi That’s why conics are weird! Both covariant indices transform with T Uk QijTi

kTj 6

slide-23
SLIDE 23

Conics

Note that in vanilla linear algebra, we only have mixed 2-tensors! A conic is a purely covariant 2-tensor QijPjPi = 0 That’s why conics are weird! Both covariant indices transform with T Uk QijTi

kTj 6

slide-24
SLIDE 24

Conics

Note that in vanilla linear algebra, we only have mixed 2-tensors! A conic is a purely covariant 2-tensor QijPjPi = 0 That’s why conics are weird! Both covariant indices transform with T Ukℓ = QijTi

kTj ℓ 6

slide-25
SLIDE 25

The polar line

The polar line L to of a quadric with regard to a point P L connects the tangency points R S of the two tangents to Q through P If P belongs to the conic, L it is the tangent to Q at P Its coordinates are simply Lj QijPi Proof QijRiRj and QijSiSj QijPi Rj QijRj Pi QijPi Sj QijSj Pi

7

slide-26
SLIDE 26

The polar line

The polar line L to of a quadric with regard to a point P L connects the tangency points R, S of the two tangents to Q through P If P belongs to the conic, L it is the tangent to Q at P Its coordinates are simply Lj QijPi Proof QijRiRj and QijSiSj QijPi Rj QijRj Pi QijPi Sj QijSj Pi

7

slide-27
SLIDE 27

The polar line

The polar line L to of a quadric with regard to a point P L connects the tangency points R, S of the two tangents to Q through P If P belongs to the conic, L it is the tangent to Q at P Its coordinates are simply Lj QijPi Proof QijRiRj and QijSiSj QijPi Rj QijRj Pi QijPi Sj QijSj Pi

7

slide-28
SLIDE 28

The polar line

The polar line L to of a quadric with regard to a point P L connects the tangency points R, S of the two tangents to Q through P If P belongs to the conic, L it is the tangent to Q at P Its coordinates are simply Lj = QijPi Proof QijRiRj and QijSiSj QijPi Rj QijRj Pi QijPi Sj QijSj Pi

7

slide-29
SLIDE 29

The polar line

The polar line L to of a quadric with regard to a point P L connects the tangency points R, S of the two tangents to Q through P If P belongs to the conic, L it is the tangent to Q at P Its coordinates are simply Lj = QijPi Proof QijRiRj = 0 and QijSiSj = 0 (QijPi)Rj = 0 ⇔ (QijRj)Pi = 0 (QijPi)Sj = 0 ⇔ (QijSj)Pi = 0

7

slide-30
SLIDE 30

Duality

The equation PiLi = 0 can be interpreted as the set of points P that belong to a line L, or the set of lines L that go through a point P The dual conic is the purely contravariant adjugate 2-tensor Q Adjugation fmips the types of all indices Q

ijLiLj

It is the set of lines tangent to the primal conic QijPiPj Qij Q

ij QijPiPj

Q

ijQijPjQijPi

Q

ijLiLj

Can you interpret the point Pj Q

ijLi? 8

slide-31
SLIDE 31

Duality

The equation PiLi = 0 can be interpreted as the set of points P that belong to a line L, or the set of lines L that go through a point P The dual conic is the purely contravariant adjugate 2-tensor Q∗ Adjugation fmips the types of all indices Q

ijLiLj

It is the set of lines tangent to the primal conic QijPiPj Qij Q

ij QijPiPj

Q

ijQijPjQijPi

Q

ijLiLj

Can you interpret the point Pj Q

ijLi? 8

slide-32
SLIDE 32

Duality

The equation PiLi = 0 can be interpreted as the set of points P that belong to a line L, or the set of lines L that go through a point P The dual conic is the purely contravariant adjugate 2-tensor Q∗ Adjugation fmips the types of all indices (Q∗)ijLiLj = 0 It is the set of lines tangent to the primal conic QijPiPj Qij Q

ij QijPiPj

Q

ijQijPjQijPi

Q

ijLiLj

Can you interpret the point Pj Q

ijLi? 8

slide-33
SLIDE 33

Duality

The equation PiLi = 0 can be interpreted as the set of points P that belong to a line L, or the set of lines L that go through a point P The dual conic is the purely contravariant adjugate 2-tensor Q∗ Adjugation fmips the types of all indices (Q∗)ijLiLj = 0 It is the set of lines tangent to the primal conic QijPiPj =

  • Qij(Q∗)ij

QijPiPj = (Q∗)ijQijPjQijPi = (Q∗)ijLiLj = 0 Can you interpret the point Pj Q

ijLi? 8

slide-34
SLIDE 34

Duality

The equation PiLi = 0 can be interpreted as the set of points P that belong to a line L, or the set of lines L that go through a point P The dual conic is the purely contravariant adjugate 2-tensor Q∗ Adjugation fmips the types of all indices (Q∗)ijLiLj = 0 It is the set of lines tangent to the primal conic QijPiPj =

  • Qij(Q∗)ij

QijPiPj = (Q∗)ijQijPjQijPi = (Q∗)ijLiLj = 0 Can you interpret the point Pj = (Q∗)ijLi?

8

slide-35
SLIDE 35

Generalized cross product

Is a function crn : (Rn)n−1 → Rn L = crn(

n−1

  • P, Q, . . . , R),

with LiPi = LiQi = · · · LiRi = 0 Receives n 1 contravariant 1-tensors in Rn, returns one covariant 1-tensor in Rn (or vice-versa). Represents the “plane” that goes through all points, or the point of intersection of all planes

9

slide-36
SLIDE 36

Generalized cross product

Is a function crn : (Rn)n−1 → Rn L = crn(

n−1

  • P, Q, . . . , R),

with LiPi = LiQi = · · · LiRi = 0 Receives n − 1 contravariant 1-tensors in Rn, returns one covariant 1-tensor in (Rn)∗ (or vice-versa). Represents the “plane” that goes through all points, or the point of intersection of all planes

9

slide-37
SLIDE 37

Generalized cross product

Is a function crn : (Rn)n−1 → Rn L = crn(

n−1

  • P, Q, . . . , R),

with LiPi = LiQi = · · · LiRi = 0 Receives n − 1 contravariant 1-tensors in Rn, returns one covariant 1-tensor in (Rn)∗ (or vice-versa). Represents the “plane” that goes through all points, or the point of intersection of all planes

9

slide-38
SLIDE 38

Generalized cross product

Trick is to use look at the determinants

  • P P Q · · · R
  • =
  • Q P Q · · · R
  • = · · · =
  • R P Q · · · R
  • = 0

In each case, the minors relative to the fjrst column do not depend on the fjrst column. In each case, the minors are the same. Call each one Li. The expansion shows, as required, that LiPi LiQi LiRi

10

slide-39
SLIDE 39

Generalized cross product

Trick is to use look at the determinants

  • P P Q · · · R
  • =
  • Q P Q · · · R
  • = · · · =
  • R P Q · · · R
  • = 0

In each case, the minors relative to the fjrst column do not depend on the fjrst column. In each case, the minors are the same. Call each one Li. The expansion shows, as required, that LiPi LiQi LiRi

10

slide-40
SLIDE 40

Generalized cross product

Trick is to use look at the determinants

  • P P Q · · · R
  • =
  • Q P Q · · · R
  • = · · · =
  • R P Q · · · R
  • = 0

In each case, the minors relative to the fjrst column do not depend on the fjrst column. In each case, the minors are the same. Call each one Li. The expansion shows, as required, that LiPi LiQi LiRi

10

slide-41
SLIDE 41

Generalized cross product

Trick is to use look at the determinants

  • P P Q · · · R
  • =
  • Q P Q · · · R
  • = · · · =
  • R P Q · · · R
  • = 0

In each case, the minors relative to the fjrst column do not depend on the fjrst column. In each case, the minors are the same. Call each one Li. The expansion shows, as required, that LiPi LiQi LiRi

10

slide-42
SLIDE 42

Generalized cross product

Trick is to use look at the determinants

  • P P Q · · · R
  • =
  • Q P Q · · · R
  • = · · · =
  • R P Q · · · R
  • = 0

In each case, the minors relative to the fjrst column do not depend on the fjrst column. In each case, the minors are the same. Call each one Li. The expansion shows, as required, that LiPi = LiQi = · · · LiRi = 0.

10

slide-43
SLIDE 43

The Levi-Civita symbol (epsilon)

Is the fully alternating tensor ε...i...i... = 0 επ(1)π(2)...π(n) = σ(π) Can be used to compactly represent the determinant A

i1i2 inA1i1A2i2

Anin

i1i2 inA 1 i1A 2 i2

A

n in

1 n

i1i2 in j1j2 jnAi1j1Ai2j2

Ainjn Can be used to compactly represent the cross product cr2 P

j

Pi

ij

cr3 P Q

k

PiQj

ijk

cr4 P Q R PiQjRk

ijk

If you contract with any of the arguments, you get a determinant of a matrix with repeated column

11

slide-44
SLIDE 44

The Levi-Civita symbol (epsilon)

Is the fully alternating tensor ε...i...i... = 0 επ(1)π(2)...π(n) = σ(π) Can be used to compactly represent the determinant det(A) = εi1i2...inA1i1A2i2 . . . Anin = σ(π) εi1i2...inAπ(1)i1Aπ(2)i2 . . . Aπ(n)in = 1 n! εi1i2...inεj1j2...jnAi1j1Ai2j2 . . . Ainjn Can be used to compactly represent the cross product cr2 P

j

Pi

ij

cr3 P Q

k

PiQj

ijk

cr4 P Q R PiQjRk

ijk

If you contract with any of the arguments, you get a determinant of a matrix with repeated column

11

slide-45
SLIDE 45

The Levi-Civita symbol (epsilon)

Is the fully alternating tensor ε...i...i... = 0 επ(1)π(2)...π(n) = σ(π) Can be used to compactly represent the determinant det(A) = εi1i2...inA1i1A2i2 . . . Anin = σ(π) εi1i2...inAπ(1)i1Aπ(2)i2 . . . Aπ(n)in = 1 n! εi1i2...inεj1j2...jnAi1j1Ai2j2 . . . Ainjn Can be used to compactly represent the cross product (cr2(P)

  • j = Piεij

(cr3(P, Q)

  • k = PiQjεijk

(cr4(P, Q, R)

  • ℓ = PiQjRkεijkℓ

If you contract with any of the arguments, you get a determinant of a matrix with repeated column

11

slide-46
SLIDE 46

The Levi-Civita symbol (epsilon)

Is the fully alternating tensor ε...i...i... = 0 επ(1)π(2)...π(n) = σ(π) Can be used to compactly represent the determinant det(A) = εi1i2...inA1i1A2i2 . . . Anin = σ(π) εi1i2...inAπ(1)i1Aπ(2)i2 . . . Aπ(n)in = 1 n! εi1i2...inεj1j2...jnAi1j1Ai2j2 . . . Ainjn Can be used to compactly represent the cross product (cr2(P)

  • j = Piεij

(cr3(P, Q)

  • k = PiQjεijk

(cr4(P, Q, R)

  • ℓ = PiQjRkεijkℓ

If you contract with any of the arguments, you get a determinant of a matrix with repeated column

11

slide-47
SLIDE 47

Epsilon-delta rule

Useful relationship between Levi-Civita epsilon and Kronecker delta εk1k2...knεℓ1ℓ2...ℓn = det

ℓj ki]ij

  • If any indices repeat on either epsilon, you have zero on the left. On

the right, you have either a repeated column or a repeated row. Either way, the determinant is also zero. If no indices repeat on either epsilon, you have the product of the signs of the permutations on the left. On the right, the matrix is an identity matrix with rows and columns permuted in the same way. The determinant is also the product of the signs of the permutations.

12

slide-48
SLIDE 48

Epsilon-delta rule

Useful relationship between Levi-Civita epsilon and Kronecker delta εk1k2...knεℓ1ℓ2...ℓn = det

ℓj ki]ij

  • If any indices repeat on either epsilon, you have zero on the left. On

the right, you have either a repeated column or a repeated row. Either way, the determinant is also zero. If no indices repeat on either epsilon, you have the product of the signs of the permutations on the left. On the right, the matrix is an identity matrix with rows and columns permuted in the same way. The determinant is also the product of the signs of the permutations.

12

slide-49
SLIDE 49

Epsilon-delta rule

Useful relationship between Levi-Civita epsilon and Kronecker delta εk1k2...knεℓ1ℓ2...ℓn = det

ℓj ki]ij

  • If any indices repeat on either epsilon, you have zero on the left. On

the right, you have either a repeated column or a repeated row. Either way, the determinant is also zero. If no indices repeat on either epsilon, you have the product of the signs of the permutations on the left. On the right, the matrix is an identity matrix with rows and columns permuted in the same way. The determinant is also the product of the signs of the permutations.

12

slide-50
SLIDE 50

Epsilon-delta rule

A couple special cases εijεiℓ = δℓ

j

εijkεimn = δm

j δn k − δn j δm k

Useful to prove the relationship A B C A C B A B C Proof Am BjCk

jki min

AmBjCk

ijk imn

AmBjCk

n j m k m j n k

AmBjCk n

j m k

AmBjCk m

j n k

AmCk m

k

Bj n

j

AmBj m

j

Ck n

k

AmCm Bn AmBm Cn

13

slide-51
SLIDE 51

Epsilon-delta rule

A couple special cases εijεiℓ = δℓ

j

εijkεimn = δm

j δn k − δn j δm k

Useful to prove the relationship A × (B × C) = (A · C)B − (A · B)C Proof Am BjCk

jki min

AmBjCk

ijk imn

AmBjCk

n j m k m j n k

AmBjCk n

j m k

AmBjCk m

j n k

AmCk m

k

Bj n

j

AmBj m

j

Ck n

k

AmCm Bn AmBm Cn

13

slide-52
SLIDE 52

Epsilon-delta rule

A couple special cases εijεiℓ = δℓ

j

εijkεimn = δm

j δn k − δn j δm k

Useful to prove the relationship A × (B × C) = (A · C)B − (A · B)C Proof Am(BjCkεjki)εmin = AmBjCk(−εijkεimn) = AmBjCk(δn

j δm k − δm j δn k)

= AmBjCkδn

j δm k − AmBjCkδm j δn k

= (AmCkδm

k )(Bjδn j ) − (AmBjδm j )(Ckδn k)

= (AmCm)Bn − (AmBm)Cn

13

slide-53
SLIDE 53

Lagrange’s identity

Also from epsilon-delta rule (A × B) · (C × D) = (A · C)(B · D) − (A · D)(B · C) = det

  • A

B C D

  • Proof

AiBj

jikCmDn mnk

AiBjCmDn

kji kmn

AiBjCmDn

j n i m j m i n

AiBjCmDn j

n i m

AiBjCmDn j

m i n

AmCm BnDn AnDn BmCm General case is also true! (We will use this shortly)

14

slide-54
SLIDE 54

Lagrange’s identity

Also from epsilon-delta rule (A × B) · (C × D) = (A · C)(B · D) − (A · D)(B · C) = det

  • A

B C D

  • Proof

AiBjεjikCmDnεmnk = AiBjCmDn(εkjiεkmn) = AiBjCmDn(δj

nδi m − δj mδi n)

= AiBjCmDnδj

nδi m − AiBjCmDnδj mδi n

= (AmCm)(BnDn) − (AnDn)(BmCm) General case is also true! (We will use this shortly)

14

slide-55
SLIDE 55

Lagrange’s identity

Also from epsilon-delta rule (A × B) · (C × D) = (A · C)(B · D) − (A · D)(B · C) = det

  • A

B C D

  • Proof

AiBjεjikCmDnεmnk = AiBjCmDn(εkjiεkmn) = AiBjCmDn(δj

nδi m − δj mδi n)

= AiBjCmDnδj

nδi m − AiBjCmDnδj mδi n

= (AmCm)(BnDn) − (AnDn)(BmCm) General case is also true! (We will use this shortly)

14

slide-56
SLIDE 56

Inflection points

Let γ be a rational curve γ(t) =

  • x(t)

y(t) T x(t) = u(t) w(t) y(t) = v(t) w(t) When curvature changes sign, i.e., speed and acceleration are collinear t t Same as condition t t t with t u t v t w t

T 15

slide-57
SLIDE 57

Inflection points

Let γ be a rational curve γ(t) =

  • x(t)

y(t) T x(t) = u(t) w(t) y(t) = v(t) w(t) When curvature changes sign, i.e., speed and acceleration are collinear γ′(t) × γ′′(t) = 0 Same as condition t t t with t u t v t w t

T 15

slide-58
SLIDE 58

Inflection points

Let γ be a rational curve γ(t) =

  • x(t)

y(t) T x(t) = u(t) w(t) y(t) = v(t) w(t) When curvature changes sign, i.e., speed and acceleration are collinear γ′(t) × γ′′(t) = 0 Same as condition

  • α(t)

α′(t) α′′(t)

  • = 0,

with α(t) =

  • u(t)

v(t) w(t) T

15

slide-59
SLIDE 59

Quadratics cannot have inflections

Let B2(t) =

  • (1 − t)2

2t(1 − t) t2T Then, t t t p0 p1 p2 B2 t B2 t B2 t 4 p0 p1 p2 So “infmection” only when control points are linearly dependent The quadratic degenerates to a line, half a line, or a point Not really an infmection

16

slide-60
SLIDE 60

Quadratics cannot have inflections

Let B2(t) =

  • (1 − t)2

2t(1 − t) t2T Then,

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 B2(t) B′

2(t)

B′′

2(t)

  • 4 p0

p1 p2 So “infmection” only when control points are linearly dependent The quadratic degenerates to a line, half a line, or a point Not really an infmection

16

slide-61
SLIDE 61

Quadratics cannot have inflections

Let B2(t) =

  • (1 − t)2

2t(1 − t) t2T Then,

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 B2(t) B′

2(t)

B′′

2(t)

  • = 4
  • p0

p1 p2

  • So “infmection” only when control points are linearly dependent

The quadratic degenerates to a line, half a line, or a point Not really an infmection

16

slide-62
SLIDE 62

Quadratics cannot have inflections

Let B2(t) =

  • (1 − t)2

2t(1 − t) t2T Then,

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 B2(t) B′

2(t)

B′′

2(t)

  • = 4
  • p0

p1 p2

  • So “infmection” only when control points are linearly dependent

The quadratic degenerates to a line, half a line, or a point Not really an infmection

16

slide-63
SLIDE 63

Quadratics cannot have inflections

Let B2(t) =

  • (1 − t)2

2t(1 − t) t2T Then,

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 B2(t) B′

2(t)

B′′

2(t)

  • = 4
  • p0

p1 p2

  • So “infmection” only when control points are linearly dependent

The quadratic degenerates to a line, half a line, or a point Not really an infmection

16

slide-64
SLIDE 64

Cubics

Let B3(t) =

  • (1 − t)3

3(1 − t)2t 3(1 − t)t2 t3T For cubics, we have t t t p0 p1 p2 p3 B3 t B3 t B3 t Maybe we should give up because the expression is unwieldy… Or we use Lagrange’s identity to make it treatable t t t cr4 x0

3 y0 3 w0 3

cr4 B3 t B3 t B3 t This the infmection polynomial—a cubic! Infmections happen when t is a root

17

slide-65
SLIDE 65

Cubics

Let B3(t) =

  • (1 − t)3

3(1 − t)2t 3(1 − t)t2 t3T For cubics, we have

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 p3 B3(t) B′

3(t)

B′′

3(t)

  • Maybe we should give up because the expression is unwieldy…

Or we use Lagrange’s identity to make it treatable t t t cr4 x0

3 y0 3 w0 3

cr4 B3 t B3 t B3 t This the infmection polynomial—a cubic! Infmections happen when t is a root

17

slide-66
SLIDE 66

Cubics

Let B3(t) =

  • (1 − t)3

3(1 − t)2t 3(1 − t)t2 t3T For cubics, we have

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 p3 B3(t) B′

3(t)

B′′

3(t)

  • Maybe we should give up because the expression is unwieldy…

Or we use Lagrange’s identity to make it treatable t t t cr4 x0

3 y0 3 w0 3

cr4 B3 t B3 t B3 t This the infmection polynomial—a cubic! Infmections happen when t is a root

17

slide-67
SLIDE 67

Cubics

Let B3(t) =

  • (1 − t)3

3(1 − t)2t 3(1 − t)t2 t3T For cubics, we have

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 p3 B3(t) B′

3(t)

B′′

3(t)

  • Maybe we should give up because the expression is unwieldy…

Or we use Lagrange’s identity to make it treatable

  • α(t)

α′(t) α′′(t)

  • = cr4(x0−3, y0−3, w0−3) · cr4
  • B3(t), B′

3(t), B′′ 3(t)

  • This the infmection polynomial—a cubic!

Infmections happen when t is a root

17

slide-68
SLIDE 68

Cubics

Let B3(t) =

  • (1 − t)3

3(1 − t)2t 3(1 − t)t2 t3T For cubics, we have

  • α(t)

α′(t) α′′(t)

  • =
  • p0

p1 p2 p3 B3(t) B′

3(t)

B′′

3(t)

  • Maybe we should give up because the expression is unwieldy…

Or we use Lagrange’s identity to make it treatable

  • α(t)

α′(t) α′′(t)

  • = cr4(x0−3, y0−3, w0−3) · cr4
  • B3(t), B′

3(t), B′′ 3(t)

  • This the infmection polynomial—a cubic!

Infmections happen when t is a root

17

slide-69
SLIDE 69

In Mathematica…

Show the infmection polynomial A cubic that reduces to a quadratic in the integral case Show that infmection points are collinear

18

slide-70
SLIDE 70

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1 t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-71
SLIDE 71

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1 t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-72
SLIDE 72

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1 t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-73
SLIDE 73

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1, t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-74
SLIDE 74

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1, t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-75
SLIDE 75

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1, t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-76
SLIDE 76

Double-points in Mathematica

Given t1 t2 of double-point, then γ(t1), γ(t2), γ(t3) are collinear for all t3 Falls into the same type of determinant This time, however, we have that the cr4 of the control points in the power basis must be collinear with the powers of t1 and t2. Applying row-reduction, we obtain two symmetric bivariate polynomials on t1, t2 that must vanish simultaneously Use resultants to eliminate one of them and solve for the other Results in the double-point polynomial: a quadratic Compare the discriminants of the infmection polynomial and the double-point polynomial and use them to classify the cubics

19

slide-77
SLIDE 77

References

  • J. F. Blinn. Uppers and downers. IEEE Computer Graphics and

Applications, 12(2):85–92, 1992a.

  • J. F. Blinn. Uppers and downers: Part 2. IEEE Computer Graphics and

Applications, 12(3):80–85, 1992b.

  • J. F. Blinn. How many rational parametric cubic curves are there? Part 1:

Infmection points. IEEE Computer Graphics and Applications, 19(4): 84–87, 1999a.

  • J. F. Blinn. How many different parametric cubic curves are there? Part

2: The “same” game. IEEE Computer Graphics and Applications, 19(6): 88–92, 1999b.

  • J. F. Blinn. How many rational parametric cubic curves are there? Part 3:

The catalog. IEEE Computer Graphics and Applications, 20(2):85–88, 2000.

20