Gradiente
La dirección del cilindro es la dirección donde el valor de la mano izquierda no cambia. Por lo $(a,b,c)$ es la dirección si
$$\forall x,y,z\in\mathbb R:f(x,y,z)=f(x+a,y+b,z+c)$$
donde $f(x,y,z)$ denota el lado izquierdo de la ecuación. El cambio de $f$ en una dirección dada también puede ser descrito utilizando el gradiente $\nabla f$. Lo que desea es una dirección que es ortogonal a que el gradiente en un punto cualquiera del espacio. Entonces, ¿qué es el gradiente?
$$\nabla f=\begin{pmatrix}
\frac{\partial\,f}{\partial x} \\
\frac{\partial\,f}{\partial y} \\
\frac{\partial\,f}{\partial z}
\end{pmatrix} =
\begin{pmatrix}
c_1 + 2c_4x + c_7y + c_8z \\
c_2 + c_7x + 2c_5y + c_9z \\
c_3 + c_8x + c_9y + 2c_6z
\end{pmatrix} =
\begin{pmatrix}
c_1 & 2c_4 & c_7 & c_8 \\
c_2 & c_7 & 2c_5 & c_9 \\
c_3 & c_8 & c_9 & 2c_6
\end{pmatrix}\cdot\begin{pmatrix} 1 \\ x \\ y \\ z \end{pmatrix}
$$
Para encontrar un vector ortogonal a este vector de campo, usted quiere encontrar $(a,b,c)$ en forma tal que su producto escalar con $\nabla f$ es cero para todas las opciones posibles de $(x,y,z)$. Usted puede pensar que el producto escalar como el producto entre un vector de fila $(a,b,c)$ y la matriz de tiempos-columna-vector producto de la notación anterior. Si el resultado escalar es siempre cero, no importa el vector de la derecha, lo que significa que la izquierda dos factores: el producto debe ser cero. Así que usted tiene la ecuación
$$
(a,b,c)\cdot
\begin{pmatrix}
c_1 & 2c_4 & c_7 & c_8 \\
c_2 & c_7 & 2c_5 & c_9 \\
c_3 & c_8 & c_9 & 2c_6
\end{pmatrix}
=(0,0,0,0)
$$
Usted se sentiría más cómodo si usted transposición de este sistema:
$$
\begin{pmatrix}
c_1 & c_2 & c_3 \\
2c_4 & c_7 & c_8 \\
c_7 & 2c_5 & c_9 \\
c_8 & c_9 & 2c_6
\end{pmatrix}
\cdot\begin{pmatrix}a\\b\\c\end{pmatrix}=\begin{pmatrix}0\\0\\0\\0\end{pmatrix}
$$
En general este es un sobredeterminada el sistema lineal de ecuaciones. Pero eso es debido a la forma general de una quadric surface no está restringida a los cilindros. Si el objeto de describir por sus coeficientes es, de hecho, un cilindro, a continuación, el anterior sistema de ecuaciones se tiene un uno-dimensional del espacio de solución. Lo que significa que la matriz sólo tiene rango $2$. En esencia, lo que sería suficiente para considerar sólo dos de las cuatro ecuaciones, siempre y cuando usted tiene cuidado en la selección de ellos.
Los vectores propios
Aquí hay una alternativa: empieza por escribir su quadric como
$$(x,y,z,1)\cdot\begin{pmatrix}
2 c_{4} & c_{7} & c_{8} & c_{1} \\
c_{7} & 2 c_{5} & c_{9} & c_{2} \\
c_{8} & c_{9} & 2 c_{6} & c_{3} \\
c_{1} & c_{2} & c_{3} & 2 c_{0}
\end{pmatrix}\cdot\begin{pmatrix}x\\y\\z\\1\end{pmatrix}=0$$
Ahora calcular los vectores propios de la parte superior izquierda $3\times 3$ submatriz. Estos forman una base ortogonal, y en que base su quadric será descrito por una matriz diagonal, lo que significa que va a ser alineado al eje. Así que usted puede fácilmente recoger el derecho eje de coordenadas a partir del conjunto de vectores propios. Supongo que debe ser la correspondiente a un autovalor de cero, pero por favor verificar esto antes de confiar en ella. ¿Cómo encontrar un vector propio de valor propio cero? Intenta encontrar un no trivial (es decir, no-cero) solución del siguiente sistema de ecuaciones:
$$\begin{pmatrix}
2 c_{4} & c_{7} & c_{8} \\
c_{7} & 2 c_{5} & c_{9} \\
c_{8} & c_{9} & 2 c_{6}
\end{pmatrix}\cdot\begin{pmatrix}a\\b\\c\end{pmatrix}=0$$
Esto es muy similar a lo que escribí anteriormente, excepto que algunas líneas son reordenados o ampliados de manera diferente, y una línea se omite por completo.
Ver también este post en Stack Overflow para obtener las principales direcciones de los ejes, el tamaño y la rotación de un plano de quadric.
Cruz del producto
No importa cuál de los enfoques de arriba, usted va a terminar con una situación donde usted tiene que calcular un vector $(a,b,c)$ que es ortogonal a algunos otros vectores, mientras que los otros vectores se encuentran en un plano. En lugar de resolver un sistema de ecuaciones de la forma difícil, usted puede hacer uso de la cruz del producto aquí, y calcular por ejemplo,
$$\begin{pmatrix}a\\b\\c\end{pmatrix}=
\begin{pmatrix}2c_4\\c_7\\c_8\end{pmatrix}\times
\begin{pmatrix}c_7\\2c_5\\c_9\end{pmatrix}$$
Asegúrese de elegir dos vectores para el lado derecho que no son ni cero ni múltiplos uno de otro.