Is there a way to parametrise general quadrics? A general quadric is a surface of the form:
$$ Ax^2 + By^2 + Cz^2 + 2Dxy + 2Eyz + 2Fxz + 2Gx + 2Hy + 2Iz + J = 0$$
It can be written as a matrix expression
$$ [x, y, z, 1]\begin{bmatrix}
A && D && F && G \\
D && B && E && H \\
F && E && C && I \\
G && H && I && J
\end{bmatrix}
\begin{bmatrix}
x \\ y \\ z \\ 1
\end{bmatrix}
= \mathbf{p}^\intercal \mathbf{Q} \mathbf{p} = 0
$$
Is it possible to represent this quadric as a parametric surface $\mathbf{p}(u, v): \mathbb{R}^2 \to \mathbb{R}^3$?
$$ \forall u, v, \mathbf{p}(u, v)^\intercal \mathbf{Q}\mathbf{p}(u, v) = 0
$$
 A: Given a point $p$ on the quadratic surface $Q$, every line $L$ through $p$ is either tangent to $Q$, or it intersects $Q$ in another point $p_L$. In this way the lines not tangent to $Q$ parametrize $Q-\{p\}$. These lines are in turn parametrized by $\Bbb{R}^2$, so this is possible if you omit one point from the parametrization.
A: Yes. Since $M$ is symmetric, for an appropriate choice $P$ we can factor $M$ as
$$M = P^T D P$$
where $D$ is diagonal and has entries in $\{-1, 0, 1\}$, and in fact, we can choose $P$ so that its columns are orthogonal, which is convenient for some purposes. Then, in the new coordinates defined by transforming the original ones via $P$, the quadric has equation
$$a x^2 + b y^2 + c z^2 = d,$$ where $a, b, c \in \{-1, 0, 1\}$, and by changing signs if necessary, we may assume that the first nonzero coefficient among $d, a, b, c$ (if any) is $1$. This leaves, up to relabeling of the variable names, just a few possibilities for nonempty quadrics (these thus serve as normal forms for the various types of quadrics, including degenerate cases):
\begin{align}
x^2 + y^2 + z^2 = 1 & \qquad \textrm{sphere} \\
x^2 + y^2 - z^2 = 1 & \qquad \textrm{hyperboloid of one sheet} \\
x^2 - y^2 - z^2 = 1 & \qquad \textrm{hyperboloid of two sheets} \\
x^2 + y^2 + z^2 = 0 & \qquad \textrm{point} \\
x^2 + y^2 - z^2 = 0 & \qquad \textrm{cone} \\
x^2 + y^2       = 1 & \qquad \textrm{cylinder} \\
x^2 - y^2       = 1 & \qquad \textrm{hyperbolic cylinder} \\
x^2 + y^2       = 0 & \qquad \textrm{line} \\
x^2 - y^2       = 0 & \qquad \textrm{intersection union of two distinct planes} \\
x^2             = 1 & \qquad \textrm{disjoint union of two distinct planes} \\
x^2             = 0 & \qquad \textrm{plane}
\end{align}
All of these can be readily parameterized. Hence, we can produce an explicit parameterization in the original coordinates by changing variables in our parameterization using $P^{-1}$
