2D Computer Graphics Resultants and implicitization Two types of - - PowerPoint PPT Presentation

2d computer graphics resultants and implicitization
SMART_READER_LITE
LIVE PREVIEW

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

2D Computer Graphics

Diego Nehab Summer 2020

IMPA 1

slide-2
SLIDE 2

Resultants and implicitization

slide-3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

programmable graphics hardware. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2005), 24(3):1000–1009, 2005.

16