SLIDE 1
2D Computer Graphics Resultants and implicitization Two types of - - PowerPoint PPT Presentation
2D Computer Graphics Resultants and implicitization Two types of - - PowerPoint PPT Presentation
Summer 2020 Diego Nehab IMPA 1 2D Computer Graphics Resultants and implicitization Two types of renderers and their applications Traditional vs. vector textures Amortized vs. random access In both cases, parallelism is key
SLIDE 2
SLIDE 3
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 4
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 5
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 6
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 7
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 8
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 9
Why we need resultants
Two types of renderers and their applications
- Traditional vs. vector textures
- Amortized vs. random access
- In both cases, parallelism is key
Amortized renderers need actual point of intersection Random access only need to count them Can count using implicit tests For that, we will use resultants
2
SLIDE 10
Implicit vs. explicit
We say that a bivariate polynomial Γ(u, v) is the implicit form of a parametric polynomial curve γ(t) =
- x(t), y(t)
- if
Γ(p) = 0 ⇐ ⇒ ∃t | p = γ(t) Given expressions for x and y, how do we obtain an expression for ? The condition p xp yp x t y t t can be rewritten as fp t x t xp gp t y t yp Polynomials fp and gp have a common root at t. We need a bivariate polynomial p that vanishes if and only if two
- ne-variable polynomials fp and yp have a common root.
3
SLIDE 11
Implicit vs. explicit
We say that a bivariate polynomial Γ(u, v) is the implicit form of a parametric polynomial curve γ(t) =
- x(t), y(t)
- if
Γ(p) = 0 ⇐ ⇒ ∃t | p = γ(t) Given expressions for x and y, how do we obtain an expression for Γ? The condition p xp yp x t y t t can be rewritten as fp t x t xp gp t y t yp Polynomials fp and gp have a common root at t. We need a bivariate polynomial p that vanishes if and only if two
- ne-variable polynomials fp and yp have a common root.
3
SLIDE 12
Implicit vs. explicit
We say that a bivariate polynomial Γ(u, v) is the implicit form of a parametric polynomial curve γ(t) =
- x(t), y(t)
- if
Γ(p) = 0 ⇐ ⇒ ∃t | p = γ(t) Given expressions for x and y, how do we obtain an expression for Γ? The condition p = (xp, yp) =
- x(t), y(t)
- = γ(t) can be rewritten as
fp(t) = x(t) − xp = 0 gp(t) = y(t) − yp = 0 Polynomials fp and gp have a common root at t. We need a bivariate polynomial p that vanishes if and only if two
- ne-variable polynomials fp and yp have a common root.
3
SLIDE 13
Implicit vs. explicit
We say that a bivariate polynomial Γ(u, v) is the implicit form of a parametric polynomial curve γ(t) =
- x(t), y(t)
- if
Γ(p) = 0 ⇐ ⇒ ∃t | p = γ(t) Given expressions for x and y, how do we obtain an expression for Γ? The condition p = (xp, yp) =
- x(t), y(t)
- = γ(t) can be rewritten as
fp(t) = x(t) − xp = 0 gp(t) = y(t) − yp = 0 Polynomials fp and gp have a common root at t. We need a bivariate polynomial p that vanishes if and only if two
- ne-variable polynomials fp and yp have a common root.
3
SLIDE 14
Implicit vs. explicit
We say that a bivariate polynomial Γ(u, v) is the implicit form of a parametric polynomial curve γ(t) =
- x(t), y(t)
- if
Γ(p) = 0 ⇐ ⇒ ∃t | p = γ(t) Given expressions for x and y, how do we obtain an expression for Γ? The condition p = (xp, yp) =
- x(t), y(t)
- = γ(t) can be rewritten as
fp(t) = x(t) − xp = 0 gp(t) = y(t) − yp = 0 Polynomials fp and gp have a common root at t. We need a bivariate polynomial Γ(p) that vanishes if and only if two
- ne-variable polynomials fp and yp have a common root.
3
SLIDE 15
The resultant
If we knew the roots of a1, a2, . . . , ar of fp and b1, b2, . . . , bs of gp, which depend on p, of course, we could write R(fp, gp) =
r
- i=1
s
- j=i
(ai − bj) We call R fp gp the resultant of fp gp Is there an expression for the resultant that does not require knowledge of the roots of fp and gp? It makes sense that there should be! Think about the Vieta formulas for sums of products of roots!
4
SLIDE 16
The resultant
If we knew the roots of a1, a2, . . . , ar of fp and b1, b2, . . . , bs of gp, which depend on p, of course, we could write R(fp, gp) =
r
- i=1
s
- j=i
(ai − bj) We call R(fp, gp) the resultant of fp, gp Is there an expression for the resultant that does not require knowledge of the roots of fp and gp? It makes sense that there should be! Think about the Vieta formulas for sums of products of roots!
4
SLIDE 17
The resultant
If we knew the roots of a1, a2, . . . , ar of fp and b1, b2, . . . , bs of gp, which depend on p, of course, we could write R(fp, gp) =
r
- i=1
s
- j=i
(ai − bj) We call R(fp, gp) the resultant of fp, gp Is there an expression for the resultant that does not require knowledge of the roots of fp and gp? It makes sense that there should be! Think about the Vieta formulas for sums of products of roots!
4
SLIDE 18
The resultant
If we knew the roots of a1, a2, . . . , ar of fp and b1, b2, . . . , bs of gp, which depend on p, of course, we could write R(fp, gp) =
r
- i=1
s
- j=i
(ai − bj) We call R(fp, gp) the resultant of fp, gp Is there an expression for the resultant that does not require knowledge of the roots of fp and gp? It makes sense that there should be! Think about the Vieta formulas for sums of products of roots!
4
SLIDE 19
The Sylvester form for the resultant
Let f and g have a common root and let deg(f) = m and deg(g) = n There is h with h 1 such that f t h t r t and g t h t s t We can eliminate h from the equations by noticing that f t s t h t r t s t g t r t These polynomials are identical, so all coeffjcients must be the same f t s t g t r t
5
SLIDE 20
The Sylvester form for the resultant
Let f and g have a common root and let deg(f) = m and deg(g) = n There is h with deg(h) = 1 such that f(t) = h(t)r(t) and g(t) = h(t)s(t) We can eliminate h from the equations by noticing that f t s t h t r t s t g t r t These polynomials are identical, so all coeffjcients must be the same f t s t g t r t
5
SLIDE 21
The Sylvester form for the resultant
Let f and g have a common root and let deg(f) = m and deg(g) = n There is h with deg(h) = 1 such that f(t) = h(t)r(t) and g(t) = h(t)s(t) We can eliminate h from the equations by noticing that f(t)s(t) = h(t)r(t)s(t) = g(t)r(t) These polynomials are identical, so all coeffjcients must be the same f t s t g t r t
5
SLIDE 22
The Sylvester form for the resultant
Let f and g have a common root and let deg(f) = m and deg(g) = n There is h with deg(h) = 1 such that f(t) = h(t)r(t) and g(t) = h(t)s(t) We can eliminate h from the equations by noticing that f(t)s(t) = h(t)r(t)s(t) = g(t)r(t) These polynomials are identical, so all coeffjcients must be the same f(t)s(t) = g(t)r(t)
5
SLIDE 23
The Sylvester form for the resultant
These polynomials are identical, so all coeffjcients must be the same f(t)s(t) = g(t)r(t) We do not know the value of t, so we don’t know the coeffjcients of r0 r1 rm
1 of r and s0 s1
sn
1 of s, but we know the
coeffjcients fi, gj of f and g The coeffjcient equations are f0s0 g0r0 f1s0 f0s1 g1r0 g0r1 f2s0 f1s1 f0s2 g2r0 g1r1 g0r2 . . . fmsn
1
gnrm
1 6
SLIDE 24
The Sylvester form for the resultant
These polynomials are identical, so all coeffjcients must be the same f(t)s(t) = g(t)r(t) We do not know the value of t, so we don’t know the coeffjcients of (r0, r1, . . . , rm−1) of r and (s0, s1, . . . , sn−1) of s, but we know the coeffjcients fi, gj of f and g The coeffjcient equations are f0s0 g0r0 f1s0 f0s1 g1r0 g0r1 f2s0 f1s1 f0s2 g2r0 g1r1 g0r2 . . . fmsn
1
gnrm
1 6
SLIDE 25
The Sylvester form for the resultant
These polynomials are identical, so all coeffjcients must be the same f(t)s(t) = g(t)r(t) We do not know the value of t, so we don’t know the coeffjcients of (r0, r1, . . . , rm−1) of r and (s0, s1, . . . , sn−1) of s, but we know the coeffjcients fi, gj of f and g The coeffjcient equations are f0s0 = g0r0 f1s0 + f0s1 = g1r0 + g0r1 f2s0 + f1s1 + f0s2 = g2r0 + g1r1 + g0r2 . . . fmsn−1 = gnrm−1
6
SLIDE 26
The Sylvester form for the resultant
In matrix form f0 g0 . . . f0 g1 ... fm . . . ... . . . ... g0 fm f0 gn g1 ... . . . ... . . . fm gn s0 . . . sn−1 −r0 . . . −rm−1 = . . . The polynomials have a common root ifg the linear system has a non-trivial solution The resultant is the determinant of this m n m n matrix
7
SLIDE 27
The Sylvester form for the resultant
In matrix form f0 g0 . . . f0 g1 ... fm . . . ... . . . ... g0 fm f0 gn g1 ... . . . ... . . . fm gn s0 . . . sn−1 −r0 . . . −rm−1 = . . . The polynomials have a common root ifg the linear system has a non-trivial solution The resultant is the determinant of this m n m n matrix
7
SLIDE 28
The Sylvester form for the resultant
In matrix form f0 g0 . . . f0 g1 ... fm . . . ... . . . ... g0 fm f0 gn g1 ... . . . ... . . . fm gn s0 . . . sn−1 −r0 . . . −rm−1 = . . . The polynomials have a common root ifg the linear system has a non-trivial solution The resultant is the determinant of this (m + n) × (m + n) matrix
7
SLIDE 29
The Cayley-Bezout form for the resultant
Consider the bivariate polynomial p(s, t) = f(s)g(t) − f(t)g(s) It clearly has a root at t s So we can factor it out and think about r s t , where r s t s t p s t If f g have a common root at t, then p s t vanishes identically Therefore, so does r s t
8
SLIDE 30
The Cayley-Bezout form for the resultant
Consider the bivariate polynomial p(s, t) = f(s)g(t) − f(t)g(s) It clearly has a root at t = s So we can factor it out and think about r s t , where r s t s t p s t If f g have a common root at t, then p s t vanishes identically Therefore, so does r s t
8
SLIDE 31
The Cayley-Bezout form for the resultant
Consider the bivariate polynomial p(s, t) = f(s)g(t) − f(t)g(s) It clearly has a root at t = s So we can factor it out and think about r(s, t), where r(s, t)(s − t) = p(s, t) If f g have a common root at t, then p s t vanishes identically Therefore, so does r s t
8
SLIDE 32
The Cayley-Bezout form for the resultant
Consider the bivariate polynomial p(s, t) = f(s)g(t) − f(t)g(s) It clearly has a root at t = s So we can factor it out and think about r(s, t), where r(s, t)(s − t) = p(s, t) If f, g have a common root at t, then p(s, t) vanishes identically Therefore, so does r s t
8
SLIDE 33
The Cayley-Bezout form for the resultant
Consider the bivariate polynomial p(s, t) = f(s)g(t) − f(t)g(s) It clearly has a root at t = s So we can factor it out and think about r(s, t), where r(s, t)(s − t) = p(s, t) If f, g have a common root at t, then p(s, t) vanishes identically Therefore, so does r(s, t)
8
SLIDE 34
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k f g , then r s t 1 sk a11 a1k . . . ... . . . ak1 akk 1 . . . tk The resultant is the determinant of this k k matrix Its rank-defjciency is the number of common roots in f g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 35
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k = max
- deg(f), deg(g)
- , then
r(s, t) =
- 1
· · · sk a11 · · · a1k . . . ... . . . ak1 · · · akk 1 . . . tk The resultant is the determinant of this k k matrix Its rank-defjciency is the number of common roots in f g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 36
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k = max
- deg(f), deg(g)
- , then
r(s, t) =
- 1
· · · sk a11 · · · a1k . . . ... . . . ak1 · · · akk 1 . . . tk The resultant is the determinant of this k × k matrix Its rank-defjciency is the number of common roots in f g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 37
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k = max
- deg(f), deg(g)
- , then
r(s, t) =
- 1
· · · sk a11 · · · a1k . . . ... . . . ak1 · · · akk 1 . . . tk The resultant is the determinant of this k × k matrix Its rank-defjciency is the number of common roots in f, g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 38
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k = max
- deg(f), deg(g)
- , then
r(s, t) =
- 1
· · · sk a11 · · · a1k . . . ... . . . ak1 · · · akk 1 . . . tk The resultant is the determinant of this k × k matrix Its rank-defjciency is the number of common roots in f, g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 39
The Cayley-Bezout form for the resultant
p(s, t) is anti-symmetrical in s, t, but r(s, t) is symmetrical Let k = max
- deg(f), deg(g)
- , then
r(s, t) =
- 1
· · · sk a11 · · · a1k . . . ... . . . ak1 · · · akk 1 . . . tk The resultant is the determinant of this k × k matrix Its rank-defjciency is the number of common roots in f, g The smaller matrices lead to smaller expressions for the resultant A good discussion of resultants, as applied to computer graphics, can be found in [de Montaudoin and Tiller, 1984, Goldman et al., 1984]. There are even formulas for polynomials in the Bernstein basis
9
SLIDE 40
Implicitization results
For a quadratic parametric curve
- We already knew how to solve this problem…
For a rational quadratic parametric curve
- The equation changes to
p xp yp x t w t y t w t t
- It can be rewritten as
fp t x t xpw t gp t y t ypw t
- So it reduces to the integral case
For a cubic…
10
SLIDE 41
Implicitization results
For a quadratic parametric curve
- We already knew how to solve this problem…
For a rational quadratic parametric curve
- The equation changes to
p = (xp, yp) =
- x(t)/w(t), y(t)/w(t)
- = γ(t)
- It can be rewritten as
fp t x t xpw t gp t y t ypw t
- So it reduces to the integral case
For a cubic…
10
SLIDE 42
Implicitization results
For a quadratic parametric curve
- We already knew how to solve this problem…
For a rational quadratic parametric curve
- The equation changes to
p = (xp, yp) =
- x(t)/w(t), y(t)/w(t)
- = γ(t)
- It can be rewritten as
fp(t) = x(t) − xpw(t) = 0 gp(t) = y(t) − ypw(t) = 0
- So it reduces to the integral case
For a cubic…
10
SLIDE 43
Implicitization results
For a quadratic parametric curve
- We already knew how to solve this problem…
For a rational quadratic parametric curve
- The equation changes to
p = (xp, yp) =
- x(t)/w(t), y(t)/w(t)
- = γ(t)
- It can be rewritten as
fp(t) = x(t) − xpw(t) = 0 gp(t) = y(t) − ypw(t) = 0
- So it reduces to the integral case
For a cubic…
10
SLIDE 44
A “better” way to implicitize
Idea is to adapt the coordinate system to the curve γ(t) For the quadratic, consider the 3 linear functionals k x y w x y w and m x y w associated, respectively, to the line connecting the endpoints and the two tangents at the endpoints p0 p1 p2 m k
11
SLIDE 45
A “better” way to implicitize
Idea is to adapt the coordinate system to the curve γ(t) For the quadratic, consider the 3 linear functionals k(x, y, w), ℓ(x, y, w) and m(x, y, w) associated, respectively, to the line connecting the endpoints and the two tangents at the endpoints p0 p1 p2 ℓ m k
11
SLIDE 46
A “better” way to implicitize
Which points satisfy the quadratic equation k2 − ℓm = 0? p0 p1 p2 ℓ m k Intersections of k2 m 0 with k 0 happen when 0 or m Intersection of k2 m 0 with line 0 happens when k
- Furthermore,
0 is tangent to the curve at intersection
12
SLIDE 47
A “better” way to implicitize
Which points satisfy the quadratic equation k2 − ℓm = 0? p0 p1 p2 ℓ m k Intersections of k2 − ℓm = 0 with k = 0 happen when ℓ = 0 or m = 0 Intersection of k2 m 0 with line 0 happens when k
- Furthermore,
0 is tangent to the curve at intersection
12
SLIDE 48
A “better” way to implicitize
Which points satisfy the quadratic equation k2 − ℓm = 0? p0 p1 p2 ℓ m k Intersections of k2 − ℓm = 0 with k = 0 happen when ℓ = 0 or m = 0 Intersection of k2 − ℓm = 0 with line ℓ = 0 happens when k = 0
- Furthermore,
0 is tangent to the curve at intersection
12
SLIDE 49
A “better” way to implicitize
Which points satisfy the quadratic equation k2 − ℓm = 0? p0 p1 p2 ℓ m k Intersections of k2 − ℓm = 0 with k = 0 happen when ℓ = 0 or m = 0 Intersection of k2 − ℓm = 0 with line ℓ = 0 happens when k = 0
- Furthermore, ℓ = 0 is tangent to the curve at intersection
12
SLIDE 50
A “better” way to implicitize
p0 p1 p2 ℓ m k Are there any additional degrees of freedom? To fjnd the values of the linear functionals k m at control-points p1, p2, and p3, consider their restriction to the curve k t k p0 1 t 2 k p1 2t 1 t k p2 t2 t 1 t t p0 1 t 2 p1 2t 1 t p2 t2 t2 m t m p0 1 t 2 m p1 2t 1 t m p2 t2 1 t 2
13
SLIDE 51
A “better” way to implicitize
p0 p1 p2 ℓ m k Are there any additional degrees of freedom? To fjnd the values of the linear functionals k, ℓ, m at control-points p1, p2, and p3, consider their restriction to the curve γ k
- γ(t)
- = k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2
t 1 t ℓ
- γ(t)
- = ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2
t2 m
- γ(t)
- = m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2
1 t 2
13
SLIDE 52
A “better” way to implicitize
p0 p1 p2 ℓ m k Are there any additional degrees of freedom? To fjnd the values of the linear functionals k, ℓ, m at control-points p1, p2, and p3, consider their restriction to the curve γ k
- γ(t)
- = k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2
= t (1 − t) ℓ
- γ(t)
- = ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2
= t2 m
- γ(t)
- = m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2
= (1 − t)2
13
SLIDE 53
A “better” way to implicitize
Values of functionals at l.h.s are coeffjcients in Bernstein basis k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2 = t (1 − t) ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2 = t2 m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2 = (1 − t)2 Convert polynomials on r.h.s to the Bernstein basis ka kb kc
a b c
ma mb mc x0 x1 x2 y0 y1 y2 w0 w1 w2
1 2
1 1 Solve the linear system This representation is very useful in graphics hardware!
14
SLIDE 54
A “better” way to implicitize
Values of functionals at l.h.s are coeffjcients in Bernstein basis k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2 = t (1 − t) ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2 = t2 m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2 = (1 − t)2 Convert polynomials on r.h.s to the Bernstein basis ka kb kc ℓa ℓb ℓc ma mb mc x0 x1 x2 y0 y1 y2 w0 w1 w2 =
1 2
1 1 Solve the linear system This representation is very useful in graphics hardware!
14
SLIDE 55
A “better” way to implicitize
Values of functionals at l.h.s are coeffjcients in Bernstein basis k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2 = t (1 − t) ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2 = t2 m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2 = (1 − t)2 Convert polynomials on r.h.s to the Bernstein basis ka kb kc ℓa ℓb ℓc ma mb mc x0 x1 x2 y0 y1 y2 w0 w1 w2 =
1 2
1 1 Solve the linear system This representation is very useful in graphics hardware!
14
SLIDE 56
A “better” way to implicitize
Values of functionals at l.h.s are coeffjcients in Bernstein basis k(p0) (1 − t)2 + k(p1) 2t(1 − t) + k(p2) t2 = t (1 − t) ℓ(p0) (1 − t)2 + ℓ(p1) 2t(1 − t) + ℓ(p2) t2 = t2 m(p0) (1 − t)2 + m(p1) 2t(1 − t) + m(p2) t2 = (1 − t)2 Convert polynomials on r.h.s to the Bernstein basis ka kb kc ℓa ℓb ℓc ma mb mc x0 x1 x2 y0 y1 y2 w0 w1 w2 =
1 2
1 1 Solve the linear system This representation is very useful in graphics hardware!
14
SLIDE 57
A “better” way to implicitize
For the cubic, the same ideas apply. Unfortunately, now the linear functionals k m n cannot be placed anywhere on the curve. They have to be positioned at the infmection points and/or double-point. To read more about this, check [Loop and Blinn, 2005] Can we replace the root-fjnding with implicit tests? Not yet.
15
SLIDE 58
A “better” way to implicitize
For the cubic, the same ideas apply. Unfortunately, now the linear functionals k, ℓ, m, n cannot be placed anywhere on the curve. They have to be positioned at the infmection points and/or double-point. To read more about this, check [Loop and Blinn, 2005] Can we replace the root-fjnding with implicit tests? Not yet.
15
SLIDE 59
A “better” way to implicitize
For the cubic, the same ideas apply. Unfortunately, now the linear functionals k, ℓ, m, n cannot be placed anywhere on the curve. They have to be positioned at the infmection points and/or double-point. To read more about this, check [Loop and Blinn, 2005] Can we replace the root-fjnding with implicit tests? Not yet.
15
SLIDE 60
A “better” way to implicitize
For the cubic, the same ideas apply. Unfortunately, now the linear functionals k, ℓ, m, n cannot be placed anywhere on the curve. They have to be positioned at the infmection points and/or double-point. To read more about this, check [Loop and Blinn, 2005] Can we replace the root-fjnding with implicit tests? Not yet.
15
SLIDE 61
A “better” way to implicitize
For the cubic, the same ideas apply. Unfortunately, now the linear functionals k, ℓ, m, n cannot be placed anywhere on the curve. They have to be positioned at the infmection points and/or double-point. To read more about this, check [Loop and Blinn, 2005] Can we replace the root-fjnding with implicit tests? Not yet.
15
SLIDE 62
References
- Y. de Montaudoin and W. Tiller. The Cayley method in computer aided
geometric design. Computer Aided Design, 1(4):309–326, 1984.
- R. N. Goldman, T. W. Sederberg, and D. C. Anderson. Vector elimination:
A technique for the implicitazion, inversion, and intersection of planar parametric rational polynomial curves. Computer Aided Design, 1(4):327–356, 1984.
- C. Loop and J. F. Blinn. Resolution independent curve rendering using