I have a algebraic parametric curve $$ \mathbf{p}(t) = (x(t), y(t)) $$ where $x$ and $y$ are both polynomials of degree $\leq p$. Now, I want to find the implicit form $f(x, y) = 0$.

A document I'm reading claims without argumentation that there is always an equivalent implicit formulation of the form $f(x, y) = 0 $, where $f$ is a polynomial of degree $\deg(f) \leq p$.

This is not obvious to me. I found some documents stating similar results. For example, in [1]:

Algebraic geometry provides us with the following key facts about algebraic curves: e.g. [2]: Every plane parametric curve can be expressed as an implicit curve. Some, but not all, implicit curves can be expressed as parametric curves.

Unfortunately, I can't get my hands on a copy of [2].

This question considers the case of a quadratic parametric curve.

I was wondering if there is a simple proof for the statement every algebraic parametric curve on the plane can be expressed as an implicit curve. Moreover, I am curious if $x$ and $y$ being polynomials of degree $\leq p$ implies that $\deg(f) \leq p$ as well.

Since I don't know the nature of the answer, pointing me to a resource might be more appropriate.

[1]: Conversion methods between parametric and implicit curves and surfaces, Christoph M. Hoffmann, from http://graphics.stanford.edu/courses/cs348a-17-winter/Handouts/a228715.pdf [2]: R.J. Walker, Algebraic Curves, Springer Verlag, New York, 1978.

  • 1
    $\begingroup$ I don't think I am qualified to give an algebraic geometric answer, but maybe you can get help from gradient of level set polynomial being orthogonal to tangent of the curve. (Or maybe I am having a brain fart?) $\endgroup$ – mathreadler Nov 26 '17 at 12:41
  • $\begingroup$ Great idea! I am trying to work this out right now: it seems promising. $\endgroup$ – Ruben Nov 26 '17 at 12:46
  • 2
    $\begingroup$ Cox, Little and O'Shea Ideals, varieties and algorithms 3$\S$3. $\endgroup$ – Jan-Magnus Økland Nov 26 '17 at 13:03

To begin with, you are dealing with the "great old theory" of elimination.

In this case, the answer is : yes, it is always possible to eliminate parameter $t$ between polynomial expressions and obtain an implicit polynomial expression.

Let us show it on an example, with a parametric curve defined by these equations :


If you use a Computer Algebra System such as Mathematica, elimination process is implemented under the following form: Eliminate[{x==t^2+t+1,y==t^3-1},t] giving the following implicit equation :


as its result.

But there is more to say. You need for this to be familiar with resultants (see remark below) (https://en.wikipedia.org/wiki/Resultant). The theorem you are looking for is the fact that the implicit equation can be obtained as the resultant of the $\color{red}{2}$nd degree polynomial $t^2+t+(1-x)$ (I was tempted to write $=0$...) and $\color{red}{3}$rd degree polynomial $t^3-(1+y)$ which the $5 \times 5$ parametric determinant (5 = $\color{red}{2+3}$):

$$d=\left|\begin{array}{ccccc}1& 1& (1-x)& 0 &0 \\ 0& 1& 1& (1-x)& 0\\ 0& 0& 1& 1& (1-x)\\ 1& 0& 0& -(1+y)& 0\\ 0& 1& 0& 0& -(1+y)\end{array}\right|=0$$

(one writes $\color{red}{3}$ times the $\color{red}{2}$nd degree polynomial, then $\color{red}{2}$ times the $\color{red}{3}$rd degree one, with a right shift for every "carriage return").

The expansion of determinant $d$ gives back (up to a certain unimportant constant factor) implicit equation (2).

This example can evidently been extended to a general case.

Remark 1: The excellent reference (Cox, Little, O'Shea "Ideals, Varieties and Algorithms") given by @Jan-Magnus Økland can be found online. See pages 155-162 devoted to Sylvester's resultant.

Remark 2: the main idea behind the concept of resultant is that it expresses a necessary and sufficient condition between parameter(s) present in coefficients of 2 equations for these equations to have at least a common root. Let us take an example : consider a quadratic polynomial $at^2+bt+c$ (with $a\ne0$) and its derivative $2at+b$. They have a common root $t_0$ which is a double root iff the following resultant is zero:

$$\delta=\left|\begin{array}{ccc}a& b& c \\ 2a& b& 0\\ 0& 2a& b\end{array}\right|=-a(b^2-4ac)$$

This value is $0$ iff $b^2-4ac=0$, which is the classical criteria for a quadratic equation to have a double root. We have thus found back the concept of discriminant by using the resultant!

  • $\begingroup$ I didn't understand your example the first time, but your second remark was very enlightening. Even though I don't understand why this result holds (I am still planning to read Cox, Little, and O'Shea), it is very beautiful! :) $\endgroup$ – Ruben Dec 2 '17 at 20:48
  • $\begingroup$ Tom Sederberg has done work applying resultants to Bezier curves, primarily for curve-curve intersections. $\endgroup$ – CADJunkie Feb 8 '18 at 18:10
  • $\begingroup$ @CADJunkie Thank you very much for this indication : I just uploaded his book (tom.cs.byu.edu/~557/text/cagd.pdf) where indeed the resultant is used in this context. $\endgroup$ – Jean Marie Feb 8 '18 at 18:19

Hint Another idea based on my comment which may help. The tangent vectors along the parametric curve (using same notation as Jean Marie) will be given by

$$\left[\begin{array}{c}\frac{\partial x}{\partial t}\\\frac{\partial y}{\partial t}\end{array}\right]$$

These should be orthogonal to the gradient of the polynomial level-set you are seeking. This should give you a set of quite specific equations as the only thing remaining should be constant (quite literally the particular level you want to set your curve on).

  • $\begingroup$ I don't see the relationship with the problem. $\endgroup$ – Jean Marie Dec 2 '17 at 8:39
  • 1
    $\begingroup$ Any f(x, y) that satisfies p'(t) · ∇f = 0 also satisfies f(x(t), y(t)) = c, so f(x, y) = c is an implicit formulation of the curve defined by p. (This reasoning is not completely correct since x, y not on the curve might also satisfy f(x, y) = c, for example when f = 0). This seems like a reasonable idea, but I was not able to work this out in practice (which does not mean the method in itself does not work). $\endgroup$ – Ruben Dec 2 '17 at 10:09
  • $\begingroup$ @Ruben: Yes, I have not tried it myself yet, so there may be cases when it does not work. $\endgroup$ – mathreadler Dec 2 '17 at 17:04
  • $\begingroup$ @mathreadler I'm not arguing that there are cases where it doesn't work. I'm saying I don't see how to solve this system of equations. It is nonlinear and I don't think there is an easy algorithm one can use. $\endgroup$ – Ruben Dec 2 '17 at 20:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.