Implicit Matrix Representations of Rational Bézier Curves ... · Computational aspects The matrix...
Transcript of Implicit Matrix Representations of Rational Bézier Curves ... · Computational aspects The matrix...
Implicit Matrix Representations of Rational BezierCurves and Surfaces
Laurent Buse
INRIA Sophia Antipolis, [email protected]
GD/SPM Conference, Denver, USANovember 11, 2013
Overall motivation
Intersection problems between parameterized curves and surfaces
I Reliability and accuracy are basic important prerequisites.
I Must deal with numerical errors due to finite precision computations.
Focus on Ray/Nurbs intersection:
I ray tracing
I meshing (via Delaunay refinement)
Overall motivation
Intersection problems between parameterized curves and surfaces
I Reliability and accuracy are basic important prerequisites.
I Must deal with numerical errors due to finite precision computations.
Focus on Ray/Nurbs intersection:
I ray tracing
I meshing (via Delaunay refinement)
Purpose of this talk
Implicitization as “ F (x , y , z) = 0 ” is very classical but fails in general
I Polynomial elimination, such as Grobner basis, is not adapted.
I Resultant matrices and Sederberg’s moving planes and quadricsmethod are very sensitive to the presence of base points.
⇒ Turn to a more general matrix-based implicit representation :
“ rankM(x , y , z) drops ”
I Overcome the difficulty of base points
I Enhance and exploit links with Linear Algebra
I Numerical computations by means of Numerical Linear Algebramethods (SVD, eigen-computations).
Purpose of this talk
Implicitization as “ F (x , y , z) = 0 ” is very classical but fails in general
I Polynomial elimination, such as Grobner basis, is not adapted.
I Resultant matrices and Sederberg’s moving planes and quadricsmethod are very sensitive to the presence of base points.
⇒ Turn to a more general matrix-based implicit representation :
“ rankM(x , y , z) drops ”
I Overcome the difficulty of base points
I Enhance and exploit links with Linear Algebra
I Numerical computations by means of Numerical Linear Algebramethods (SVD, eigen-computations).
Moving planes of a Bezier patch
Suppose given a tensor-product Bezier patch of bi-degree (d1, d2):
φ(u, v) =
∑d1i=0
∑d2j=0 wi,jbi,jB
d1i (u)Bd2
j (v)∑d1i=0
∑d2j=0 wi,jB
d1i (u)Bd2
j (v)
=
(f1(u, v)
f0(u, v),f2(u, v)
f0(u, v),f3(u, v)
f0(u, v)
)
I bi,j ’s and wi,j ’s are the control points and weights.
I the fi ’s are polynomials of bi-degree (d1, d2).
Definition (after Sederberg)
A moving plane of bi-degree (ν1, ν2) is a polynomial
a0(u, v) + a1(u, v)X + a2(u, v)Y + a3(u, v)Z
such that deg(ai ) ≤ (ν1, ν2) (comp.-wise) and∑3
i=0 ai (u, v)fi (u, v) ≡ 0.
I Planes parameterized by (u, v) passing through the point φ(u, v).
Moving planes of a Bezier patch
Suppose given a tensor-product Bezier patch of bi-degree (d1, d2):
φ(u, v) =
∑d1i=0
∑d2j=0 wi,jbi,jB
d1i (u)Bd2
j (v)∑d1i=0
∑d2j=0 wi,jB
d1i (u)Bd2
j (v)=
(f1(u, v)
f0(u, v),f2(u, v)
f0(u, v),f3(u, v)
f0(u, v)
)
I bi,j ’s and wi,j ’s are the control points and weights.
I the fi ’s are polynomials of bi-degree (d1, d2).
Definition (after Sederberg)
A moving plane of bi-degree (ν1, ν2) is a polynomial
a0(u, v) + a1(u, v)X + a2(u, v)Y + a3(u, v)Z
such that deg(ai ) ≤ (ν1, ν2) (comp.-wise) and∑3
i=0 ai (u, v)fi (u, v) ≡ 0.
I Planes parameterized by (u, v) passing through the point φ(u, v).
Moving planes of a Bezier patch
Suppose given a tensor-product Bezier patch of bi-degree (d1, d2):
φ(u, v) =
∑d1i=0
∑d2j=0 wi,jbi,jB
d1i (u)Bd2
j (v)∑d1i=0
∑d2j=0 wi,jB
d1i (u)Bd2
j (v)=
(f1(u, v)
f0(u, v),f2(u, v)
f0(u, v),f3(u, v)
f0(u, v)
)
I bi,j ’s and wi,j ’s are the control points and weights.
I the fi ’s are polynomials of bi-degree (d1, d2).
Definition (after Sederberg)
A moving plane of bi-degree (ν1, ν2) is a polynomial
a0(u, v) + a1(u, v)X + a2(u, v)Y + a3(u, v)Z
such that deg(ai ) ≤ (ν1, ν2) (comp.-wise) and∑3
i=0 ai (u, v)fi (u, v) ≡ 0.
I Planes parameterized by (u, v) passing through the point φ(u, v).
Building of matrix of moving planes
Definition
From φ, define the matrix Mφ as follows:
I Its columns ↔ basis of moving planes of bi-degree (d1 − 1, 2d2 − 1),
I Each column is filled with the coeff. of a moving plane w.r.t. u, v .
I The entries of Mφ are linear forms in R[X ,Y ,Z ] : Mφ(X ,Y ,Z ).
I Extension of Sederberg’s approach by taking all moving planes
I Mφ is non-square in general, but have more columns than rows
Example: from a ruled surface, (d1, d2) = (1, 2), we get
Mφ(X ,Y ,Z ) =
−1 + X 1− X + Z 0 Y−1 + X + Z −2X Y 0−1 + X 2− 2X + Z 0 Y − 1
Z −2X Y − 1 0
.
Building of matrix of moving planes
Definition
From φ, define the matrix Mφ as follows:
I Its columns ↔ basis of moving planes of bi-degree (d1 − 1, 2d2 − 1),
I Each column is filled with the coeff. of a moving plane w.r.t. u, v .
I The entries of Mφ are linear forms in R[X ,Y ,Z ] : Mφ(X ,Y ,Z ).
I Extension of Sederberg’s approach by taking all moving planes
I Mφ is non-square in general, but have more columns than rows
Example: from a ruled surface, (d1, d2) = (1, 2), we get
Mφ(X ,Y ,Z ) =
−1 + X 1− X + Z 0 Y−1 + X + Z −2X Y 0−1 + X 2− 2X + Z 0 Y − 1
Z −2X Y − 1 0
.
Building of matrix of moving planes
Definition
From φ, define the matrix Mφ as follows:
I Its columns ↔ basis of moving planes of bi-degree (d1 − 1, 2d2 − 1),
I Each column is filled with the coeff. of a moving plane w.r.t. u, v .
I The entries of Mφ are linear forms in R[X ,Y ,Z ] : Mφ(X ,Y ,Z ).
I Extension of Sederberg’s approach by taking all moving planes
I Mφ is non-square in general, but have more columns than rows
Example: from a ruled surface, (d1, d2) = (1, 2), we get
Mφ(X ,Y ,Z ) =
−1 + X 1− X + Z 0 Y−1 + X + Z −2X Y 0−1 + X 2− 2X + Z 0 Y − 1
Z −2X Y − 1 0
.
The key fact
The drop of rank property
Given P ∈ R3, the matrix Mφ(P) is not full rank (= number of rows) ifand only if P belongs to the (algebraic closure of the) Bezier patch .
⇒ The matrix Mφ yields an implicit representation of φ.
Remark: The same holds for triangular Bezier patches : for a degree dpatch take degree 2(d − 1) moving planes.
Example of the sphere:
Mφ =
−Z −Y 1− X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
The key fact
The drop of rank property
Given P ∈ R3, the matrix Mφ(P) is not full rank (= number of rows) ifand only if P belongs to the (algebraic closure of the) Bezier patch .
⇒ The matrix Mφ yields an implicit representation of φ.
Remark: The same holds for triangular Bezier patches : for a degree dpatch take degree 2(d − 1) moving planes.
Example of the sphere:
Mφ =
−Z −Y 1− X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
The key fact
The drop of rank property
Given P ∈ R3, the matrix Mφ(P) is not full rank (= number of rows) ifand only if P belongs to the (algebraic closure of the) Bezier patch .
⇒ The matrix Mφ yields an implicit representation of φ.
Remark: The same holds for triangular Bezier patches : for a degree dpatch take degree 2(d − 1) moving planes.
Example of the sphere:
Mφ =
−Z −Y 1− X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
Computational aspects
The matrix Mφ is very easy to compute
I From bi,j ’s and wi,j ’s build directly a matrix (Sylvester-like)
I It is of size about 8d1d2 (resp. 8d2).
I Mφ is then obtained after a single nullspace computation
It is adapted to numerical computations through the Singular ValueDecomposition (SVD)
I Mφ can be computed numerically by means of the SVD
I It turns a geometric problem into a rank revealing problem.
I No polynomial computations, only classical linear algebra tools
I It can be easily added to an existing library on NURBS.
Computational aspects
The matrix Mφ is very easy to compute
I From bi,j ’s and wi,j ’s build directly a matrix (Sylvester-like)
I It is of size about 8d1d2 (resp. 8d2).
I Mφ is then obtained after a single nullspace computation
It is adapted to numerical computations through the Singular ValueDecomposition (SVD)
I Mφ can be computed numerically by means of the SVD
I It turns a geometric problem into a rank revealing problem.
I No polynomial computations, only classical linear algebra tools
I It can be easily added to an existing library on NURBS.
Example: the sphere
A (triangular Bezier) parameterization of the sphere:
φ(u, v) =
(1− u2 − v2
1 + u2 + v2,
2u
1 + u2 + v2,
2v
1 + u2 + v2
)I Exact computation of matrix representation
Mφ =
−Z −Y 1 − X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
I Approximate computation of matrix representation by SVD −0.000 + 0.000X − 0.354Y + 0.354Z 0.0811 − 0.0811X + 0.324Y + 0.324Z−0.354 − 0.354X + 0.000Y + 0.354Z −0.243 − 0.406X + 0.324Y + 0.243Z0.354 + 0.354X − 0.354Y + 0.000Z −0.243 − 0.406X + 0.243Y + 0.324Z
−0.354 + 0.354X + 0.000Y − 0.000Z −0.005 + 0.005X − 0.000Y + 0.000Z−0.354 + 0.354X + 0.0107Y + 0.354Z −0.005 + 0.005X − 0.707Y + 0.005Z−0.354 + 0.354X + 0.354Y − 0.0107Z −0.005 + 0.005X + 0.005Y + 0.707Z
I In a computer, it is stored as 4 numerical matrices:
Mφ(X ,Y ,Z ) = M0 + M1X + M2Y + M3Z .
Example: the sphere
A (triangular Bezier) parameterization of the sphere:
φ(u, v) =
(1− u2 − v2
1 + u2 + v2,
2u
1 + u2 + v2,
2v
1 + u2 + v2
)I Exact computation of matrix representation
Mφ =
−Z −Y 1 − X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
I Approximate computation of matrix representation by SVD −0.000 + 0.000X − 0.354Y + 0.354Z 0.0811 − 0.0811X + 0.324Y + 0.324Z−0.354 − 0.354X + 0.000Y + 0.354Z −0.243 − 0.406X + 0.324Y + 0.243Z0.354 + 0.354X − 0.354Y + 0.000Z −0.243 − 0.406X + 0.243Y + 0.324Z
−0.354 + 0.354X + 0.000Y − 0.000Z −0.005 + 0.005X − 0.000Y + 0.000Z−0.354 + 0.354X + 0.0107Y + 0.354Z −0.005 + 0.005X − 0.707Y + 0.005Z−0.354 + 0.354X + 0.354Y − 0.0107Z −0.005 + 0.005X + 0.005Y + 0.707Z
I In a computer, it is stored as 4 numerical matrices:
Mφ(X ,Y ,Z ) = M0 + M1X + M2Y + M3Z .
Example: the sphere
A (triangular Bezier) parameterization of the sphere:
φ(u, v) =
(1− u2 − v2
1 + u2 + v2,
2u
1 + u2 + v2,
2v
1 + u2 + v2
)I Exact computation of matrix representation
Mφ =
−Z −Y 1 − X 0
0 1 + X −Y −Z
1 + X 0 −Z Y
I Approximate computation of matrix representation by SVD −0.000 + 0.000X − 0.354Y + 0.354Z 0.0811 − 0.0811X + 0.324Y + 0.324Z−0.354 − 0.354X + 0.000Y + 0.354Z −0.243 − 0.406X + 0.324Y + 0.243Z0.354 + 0.354X − 0.354Y + 0.000Z −0.243 − 0.406X + 0.243Y + 0.324Z
−0.354 + 0.354X + 0.000Y − 0.000Z −0.005 + 0.005X − 0.000Y + 0.000Z−0.354 + 0.354X + 0.0107Y + 0.354Z −0.005 + 0.005X − 0.707Y + 0.005Z−0.354 + 0.354X + 0.354Y − 0.0107Z −0.005 + 0.005X + 0.005Y + 0.707Z
I In a computer, it is stored as 4 numerical matrices:
Mφ(X ,Y ,Z ) = M0 + M1X + M2Y + M3Z .
It also holds for curves!
Suppose given a rational Bezier curve of degree d :
φ(t) =
∑di=0 wibiB
di (t)∑d
i=0 wiBdi (t)
=
(f1(t)
f0(t),f2(t)
f0(t),f3(t)
f0(t)
)I Consider moving planes of degree d − 1
I One can build Mφ with the exact same definition
I Mφ still have the same properties.
Nice property:
⇒ Curves and surfaces can be treated exactly in the same way!
Example of a matrix representation of a rational Bezier curve:
Mφ =
1 0 X + 3Y 0 Z 0−3 1 −X − 3Y X + 3Y −2Z Z
X + 1 −3 3X − 3Y −X − 3Y 2Y − 2Z −2Z0 X + 1 0 3X − 3Y 0 2Y − 2Z
It also holds for curves!
Suppose given a rational Bezier curve of degree d :
φ(t) =
∑di=0 wibiB
di (t)∑d
i=0 wiBdi (t)
=
(f1(t)
f0(t),f2(t)
f0(t),f3(t)
f0(t)
)I Consider moving planes of degree d − 1
I One can build Mφ with the exact same definition
I Mφ still have the same properties.
Nice property:
⇒ Curves and surfaces can be treated exactly in the same way!
Example of a matrix representation of a rational Bezier curve:
Mφ =
1 0 X + 3Y 0 Z 0−3 1 −X − 3Y X + 3Y −2Z Z
X + 1 −3 3X − 3Y −X − 3Y 2Y − 2Z −2Z0 X + 1 0 3X − 3Y 0 2Y − 2Z
It also holds for curves!
Suppose given a rational Bezier curve of degree d :
φ(t) =
∑di=0 wibiB
di (t)∑d
i=0 wiBdi (t)
=
(f1(t)
f0(t),f2(t)
f0(t),f3(t)
f0(t)
)I Consider moving planes of degree d − 1
I One can build Mφ with the exact same definition
I Mφ still have the same properties.
Nice property:
⇒ Curves and surfaces can be treated exactly in the same way!
Example of a matrix representation of a rational Bezier curve:
Mφ =
1 0 X + 3Y 0 Z 0−3 1 −X − 3Y X + 3Y −2Z Z
X + 1 −3 3X − 3Y −X − 3Y 2Y − 2Z −2Z0 X + 1 0 3X − 3Y 0 2Y − 2Z
It also holds for curves!
Suppose given a rational Bezier curve of degree d :
φ(t) =
∑di=0 wibiB
di (t)∑d
i=0 wiBdi (t)
=
(f1(t)
f0(t),f2(t)
f0(t),f3(t)
f0(t)
)I Consider moving planes of degree d − 1
I One can build Mφ with the exact same definition
I Mφ still have the same properties.
Nice property:
⇒ Curves and surfaces can be treated exactly in the same way!
Example of a matrix representation of a rational Bezier curve:
Mφ =
1 0 X + 3Y 0 Z 0−3 1 −X − 3Y X + 3Y −2Z Z
X + 1 −3 3X − 3Y −X − 3Y 2Y − 2Z −2Z0 X + 1 0 3X − 3Y 0 2Y − 2Z
Does a point belong to a Bezier patch ?
I Suppose given:
• a rational Bezier curve or surface,• a point P = (x , y , z) ∈ R3.
I Evaluate the matrix Mφ at P :
Mφ(P) := M0 + M1x + M2y + M3z
I Compute the SVD of Mφ(P) = U.S .V : if theε-rank drops then P ”belongs” to this rationalBezier curve or surface.
I Get the pre-image (inversion) for the same price:it can be extracted from the last row of U byratio computations.
Does a point belong to a Bezier patch ?
I Suppose given:
• a rational Bezier curve or surface,• a point P = (x , y , z) ∈ R3.
I Evaluate the matrix Mφ at P :
Mφ(P) := M0 + M1x + M2y + M3z
I Compute the SVD of Mφ(P) = U.S .V : if theε-rank drops then P ”belongs” to this rationalBezier curve or surface.
I Get the pre-image (inversion) for the same price:it can be extracted from the last row of U byratio computations.
Does a point belong to a Bezier patch ?
I Suppose given:
• a rational Bezier curve or surface,• a point P = (x , y , z) ∈ R3.
I Evaluate the matrix Mφ at P :
Mφ(P) := M0 + M1x + M2y + M3z
I Compute the SVD of Mφ(P) = U.S .V : if theε-rank drops then P ”belongs” to this rationalBezier curve or surface.
I Get the pre-image (inversion) for the same price:it can be extracted from the last row of U byratio computations.
Does a point belong to a Bezier patch ?
I Suppose given:
• a rational Bezier curve or surface,• a point P = (x , y , z) ∈ R3.
I Evaluate the matrix Mφ at P :
Mφ(P) := M0 + M1x + M2y + M3z
I Compute the SVD of Mφ(P) = U.S .V : if theε-rank drops then P ”belongs” to this rationalBezier curve or surface.
I Get the pre-image (inversion) for the same price:it can be extracted from the last row of U byratio computations.
Drop of rank and singularities of φ
Suppose given a point P ∈ R3 and a rational Bezier curve or surface φ:
What is the rank of Mφ(P) ?
I Mφ(P) is not full rank ⇔ P belongs to Im(φ).
I The rank of Mφ(P) drops by exactly one ⇔ P is a regular pointand one can get its pre-image easily (inversion).
I The rank Mφ(P) drops by more than one ⇔ P is a singularityof φ. More precisely:
Theorem
I If φ−1(P) is finite, then the drop of rank is equal to the number ofpre-images (counting multiplicities),
I if φ−1(P) is a curve, then the drop of rank is related to the degreeand genus of this curve.
Drop of rank and singularities of φ
Suppose given a point P ∈ R3 and a rational Bezier curve or surface φ:
What is the rank of Mφ(P) ?
I Mφ(P) is not full rank ⇔ P belongs to Im(φ).
I The rank of Mφ(P) drops by exactly one ⇔ P is a regular pointand one can get its pre-image easily (inversion).
I The rank Mφ(P) drops by more than one ⇔ P is a singularityof φ. More precisely:
Theorem
I If φ−1(P) is finite, then the drop of rank is equal to the number ofpre-images (counting multiplicities),
I if φ−1(P) is a curve, then the drop of rank is related to the degreeand genus of this curve.
Drop of rank and singularities of φ
Suppose given a point P ∈ R3 and a rational Bezier curve or surface φ:
What is the rank of Mφ(P) ?
I Mφ(P) is not full rank ⇔ P belongs to Im(φ).
I The rank of Mφ(P) drops by exactly one ⇔ P is a regular pointand one can get its pre-image easily (inversion).
I The rank Mφ(P) drops by more than one ⇔ P is a singularityof φ. More precisely:
Theorem
I If φ−1(P) is finite, then the drop of rank is equal to the number ofpre-images (counting multiplicities),
I if φ−1(P) is a curve, then the drop of rank is related to the degreeand genus of this curve.
Drop of rank and singularities of φ
Suppose given a point P ∈ R3 and a rational Bezier curve or surface φ:
What is the rank of Mφ(P) ?
I Mφ(P) is not full rank ⇔ P belongs to Im(φ).
I The rank of Mφ(P) drops by exactly one ⇔ P is a regular pointand one can get its pre-image easily (inversion).
I The rank Mφ(P) drops by more than one ⇔ P is a singularityof φ. More precisely:
Theorem
I If φ−1(P) is finite, then the drop of rank is equal to the number ofpre-images (counting multiplicities),
I if φ−1(P) is a curve, then the drop of rank is related to the degreeand genus of this curve.
Drop of rank and singularities of φ
Suppose given a point P ∈ R3 and a rational Bezier curve or surface φ:
What is the rank of Mφ(P) ?
I Mφ(P) is not full rank ⇔ P belongs to Im(φ).
I The rank of Mφ(P) drops by exactly one ⇔ P is a regular pointand one can get its pre-image easily (inversion).
I The rank Mφ(P) drops by more than one ⇔ P is a singularityof φ. More precisely:
Theorem
I If φ−1(P) is finite, then the drop of rank is equal to the number ofpre-images (counting multiplicities),
I if φ−1(P) is a curve, then the drop of rank is related to the degreeand genus of this curve.
Curve/Curve and Curve/Surface intersection
Suppose given:
I a rational Bezier curve ψ(t) (e.g. a ray),
I a rational Bezier curve or surface and its matrixrepresentation Mφ.
”Compute” the intersection points
I Evaluate Mφ at the “point” ψ(t): Mφ(ψ(t)) is apolynomial matrix whose rank drops at the valuesof t corresponding to the intersection.
I If ψ(t) is a ray, then
Mφ(ψ(t)) = A− tB.
I If ψ(t) is a curve, then linearization (compagnonmatrices) yields a similar pencil A− tB
⇒ Generalized eigenvalue problem
Curve/Curve and Curve/Surface intersection
Suppose given:
I a rational Bezier curve ψ(t) (e.g. a ray),
I a rational Bezier curve or surface and its matrixrepresentation Mφ.
”Compute” the intersection points
I Evaluate Mφ at the “point” ψ(t): Mφ(ψ(t)) is apolynomial matrix whose rank drops at the valuesof t corresponding to the intersection.
I If ψ(t) is a ray, then
Mφ(ψ(t)) = A− tB.
I If ψ(t) is a curve, then linearization (compagnonmatrices) yields a similar pencil A− tB
⇒ Generalized eigenvalue problem
Curve/Curve and Curve/Surface intersection
Suppose given:
I a rational Bezier curve ψ(t) (e.g. a ray),
I a rational Bezier curve or surface and its matrixrepresentation Mφ.
”Compute” the intersection points
I Evaluate Mφ at the “point” ψ(t): Mφ(ψ(t)) is apolynomial matrix whose rank drops at the valuesof t corresponding to the intersection.
I If ψ(t) is a ray, then
Mφ(ψ(t)) = A− tB.
I If ψ(t) is a curve, then linearization (compagnonmatrices) yields a similar pencil A− tB
⇒ Generalized eigenvalue problem
Curve/Curve and Curve/Surface intersection
Suppose given:
I a rational Bezier curve ψ(t) (e.g. a ray),
I a rational Bezier curve or surface and its matrixrepresentation Mφ.
”Compute” the intersection points
I Evaluate Mφ at the “point” ψ(t): Mφ(ψ(t)) is apolynomial matrix whose rank drops at the valuesof t corresponding to the intersection.
I If ψ(t) is a ray, then
Mφ(ψ(t)) = A− tB.
I If ψ(t) is a curve, then linearization (compagnonmatrices) yields a similar pencil A− tB
⇒ Generalized eigenvalue problem
Ray tracing of Rational Bezier Surface
I Classical approach: implicitization of the ray and solving in theparameters of the surface,
I With matrix representation, implicitization of the surface and solvingin the parameter of the ray. Inversion is very important here:
• normal computations (reflexion of the light)• Bezier patch of a NURBS, trimmed patch.
Ray tracing of Rational Bezier Surface
I Classical approach: implicitization of the ray and solving in theparameters of the surface,
I With matrix representation, implicitization of the surface and solvingin the parameter of the ray. Inversion is very important here:
• normal computations (reflexion of the light)• Bezier patch of a NURBS, trimmed patch.
Ray tracing of Rational Bezier Surface
I Classical approach: implicitization of the ray and solving in theparameters of the surface,
I With matrix representation, implicitization of the surface and solvingin the parameter of the ray. Inversion is very important here:
• normal computations (reflexion of the light)• Bezier patch of a NURBS, trimmed patch.
Matrix representations yield distance-like functions
Let Mφ be a matrix representation of a Bezier curve or surface
Definition
∀P ∈ R3 : δMφ(P) :=∏i
σi (Mφ(P))
where σi (Mφ(P)) are the singular values of Mφ(P).
I δMφ(P) vanishes exactly on the Bezier curve or surface
I The growth of δMφ(P) is comparable to the usual Euclidean distance.
This squared distance is algebraic:
δMφ(P)2 =∏i
σi (Mν(P))2 = det(Mφ(P)Mφ(P)T ).
⇒ det(MφMtφ) is an implicit equation of this Bezier curve or surface over
the real numbers.
Matrix representations yield distance-like functions
Let Mφ be a matrix representation of a Bezier curve or surface
Definition
∀P ∈ R3 : δMφ(P) :=∏i
σi (Mφ(P))
where σi (Mφ(P)) are the singular values of Mφ(P).
I δMφ(P) vanishes exactly on the Bezier curve or surface
I The growth of δMφ(P) is comparable to the usual Euclidean distance.
This squared distance is algebraic:
δMφ(P)2 =∏i
σi (Mν(P))2 = det(Mφ(P)Mφ(P)T ).
⇒ det(MφMtφ) is an implicit equation of this Bezier curve or surface over
the real numbers.
Matrix representations yield distance-like functions
Let Mφ be a matrix representation of a Bezier curve or surface
Definition
∀P ∈ R3 : δMφ(P) :=∏i
σi (Mφ(P))
where σi (Mφ(P)) are the singular values of Mφ(P).
I δMφ(P) vanishes exactly on the Bezier curve or surface
I The growth of δMφ(P) is comparable to the usual Euclidean distance.
This squared distance is algebraic:
δMφ(P)2 =∏i
σi (Mν(P))2 = det(Mφ(P)Mφ(P)T ).
⇒ det(MφMtφ) is an implicit equation of this Bezier curve or surface over
the real numbers.