SLIDE 1
2D Computer Graphics Diego Nehab Summer 2020 IMPA 1 Inflection - - PowerPoint PPT Presentation
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 2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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: