Simétrico de un punto respecto de un plano en el espacio

En este artículo se realiza un problema clásico de Geometría en el espacio como es el de obtener el simétrico de un punto respecto de un plano. Para resolverlo, como en artículos anteriores sobre geometría en \(\mathbb{R}^{3}\), se hace uso del módulo Geometry de sympy. Para obtener la representación gráfica del problema he optado de nuevo por usar la librería Sympy Plotting Backends’s usando el <<backend>> de Plotty. El fichero LyX/pythontex permite que se pongan los datos de forma manual, a partir de los tres puntos que determinan el plano y el punto del que obtener el simétrico o bien que el solo genere los valores de forma aleatoria.

En el artículo Punto simétrico de un punto respecto de una recta en el plano se explicaba la forma de instalar la librería Sympy Plotting Backends’s.

Un posible enunciado del problema (obtenido de forma aleatoria) que vamos a resolver es:

Halla el punto simétrico de \(P\left(-1,\ -4,\ 0\right)\) con respecto al plano que pasa por los puntos \(A\left(0,\ 1,\ 3\right)\), \(B\left(-6,\ -3,\ 3\right)\) y \(C\left(6,\ -8,\ 16\right)\).

Para los puntos que determinan el plano y el punto \(P\) podemos optar porque los valores se introduzcan <<a mano>> o que sean aleatorios:

#Podemos trabajar con dos opciones:
# 1 --> Datos manuales a partir de tres puntos y el punto del que obtener el simétrico.
# 2 --> Datos aleatorios a partir de dos puntos (con coordenadas enteras)
#       del espacio: P y el PM de P y su simétrico
#Si no ponemos que opción es "m" siempre se hace con datos aleatorios.
opcion='a'

El código usado para ello es:

if opcion=='m':
    #En este caso tenemos que garantizarnos que al introducir los cuatro puntos no son coplanarios.
    #puntos que definen el plano
    A=Point3D(-1,-5,3)
    B=Point3D(-1,-11,-3)
    C=Point3D(5,5,3)
    #punto para hallar el simétrico
    P=Point3D(10,-4,0)
    #Plano p
    p=Plane(A,B,C)
    #normal al plano y lo simplifico
    npaux=Point3D(p.normal_vector)
    np=npaux/igcd(npaux.x,npaux.y,npaux.z)
    p=Plane(A,normal_vector=np)
else:
    #Datos aleatorios a partir de dos puntos del espacio
    # El primero será el punto P y el segundo el punto medio de P y su simétrico
    # Valores mínimos y máximos para las coordenadas aleatorias enteras de los puntos.
    vm=-5
    vM=6
    ...

De él solo debemos cambiar los 4 puntos iniciales (\(A\), \(B\), \(C\) y \(P\)) si se opta por ponerlos a mano o los valores mínimo y máximo entre los que obtener los puntos de inicio del problema. En ese caso se parte del punto \(P\) y del punto \(Q\), punto de intersección del plano y la recta perpendicular al plano que pasa por \(P\).

He intentado que el gráfico creado para representar el problema se ajuste medio bien a los datos de entrada, pero es algo que se puede mejorar ya que en algunos casos puede que la representación gráfica no sea la más idónea. Remito al fichero fuente para ver cómo está hecho. En él se comenta la forma de poder exportarlo a html y de esa forma poder manipularlo de forma dinámica con un navegador web. El resultado de una de la solución del enunciado en formato html se puede visualizar en el enlace que hay al final del artículo.

A partir de los valores de entrada anteriores (obtenidos de forma aleatoria), la solución del problema que se obtiene es:

Solución

En primer lugar obtengamos los elementos que me permiten hallar la ecuación general del plano, lo podemos hacer a partir de obtener dos vectores directores y un punto

Nota:

los vectores directores es mejor simplificarlos dividiéndolos por un factor común, lo mismo se debe hacer con el vector normal que se obtiene después

\(A\left(0,\ 1,\ 3\right)\)

\(\vec{u}=\overrightarrow{AB}=\left(-6,\ -3,\ 3\right)-\left(0,\ 1,\ 3\right)=\) \(=\left(-6,\ -4,\ 0\right)\equiv\left(-3,\ -2,\ 0\right)\)

\(\vec{v}=\overrightarrow{AC}=\left(6,\ -8,\ 16\right)-\left(0,\ 1,\ 3\right)=\) \(=\left(6,\ -9,\ 13\right)\equiv\left(6,\ -9,\ 13\right)\)

y con esa información obtener la ecuación general a partir de:

  1. \(\left|\begin{matrix}x & y-1 & z-3\\ -3 & -2 & 0\\ 6 & -9 & 13 \end{matrix}\right|\)\(=-26x+39y+39z-156=0\)

  2. O bien obtener un vector normal haciendo el producto vectorial de los dos vectores directores del plano y luego obtener la \(D\) imponiendo que la ecuación obtenida pase por uno de los puntos.

    \begin{align*} \overrightarrow{u}\times\overrightarrow{v}=\left(\left|\begin{array}{cc} -2 & 0\\ -9 & 13 \end{array}\right|,-\left|\begin{array}{cc} -3 & 0\\ 6 & 13 \end{array}\right|,\left|\begin{array}{cc} -3 & -2\\ 6 & -9 \end{array}\right|\right)= \\ \begin{pmatrix}-26 & 39 & 39\end{pmatrix}\Rightarrow \end{align*}
    \begin{equation*} \vec{n}_{\pi}\equiv\left(2,\ -3,\ -3\right) \end{equation*}
    \begin{align*} 2\cdot x+-3\cdot y+-3\cdot z+D=0\Rightarrow \\ \left(2\right)\cdot\left(0\right)+\left(-3\right)\cdot\left(1\right)+\left(-3\right)\cdot\left(3\right)+D=0 \end{align*}
    \begin{equation*} \left(0\right)+\left(-3\right)+\left(-9\right)+D=0\Rightarrow-12+D=0\Rightarrow D=12 \end{equation*}
    Nota:

    También podemos obtener de forma directa la ecuación a partir de que \(D=\vec{n}_{\pi}\cdot\overrightarrow{OA}=\left(2,\ -3,\ -3\right)\cdot\left(0,\ 1,\ 3\right)\\=12\)

En cualquier caso, se obtendría que la ecuación del plano ya simplificada es:

\begin{equation*} \pi\equiv2x-3y-3z+12=0 \end{equation*}

Obtengamos la ecuación paramétrica de la recta que pasa por \(P\) y es perpendicular al plano (podemos usar como vector director el normal al plano que es \(\left(2,\ -3,\ -3\right)\)):

\begin{equation*} r\equiv\begin{cases} x= & 2t-1\\ y= & -3t-4\\ z= & -3t \end{cases} \end{equation*}

Si sustituimos el resultado anterior en la ecuación del plano \(\pi\) (simplificado) se obtiene el valor de \(t\) que nos permite hallar el punto de intersección

\begin{equation*} \left(2\right)\cdot\left(2t-1\right)+\left(-3\right)\cdot\left(-3t-4\right)+\left(-3\right)\cdot\left(-3t\right)+\left(12\right)=0 \end{equation*}
\begin{equation*} \Rightarrow22t+22=0\Rightarrow t=-1 \end{equation*}

Por tanto son secantes y el punto de intersección es \(Q\left(-3,\ -1,\ 3\right)\) (se obtiene sustituyendo el valor anterior del parámetro en la ecuación de la recta).

Ese punto es el punto medio de \(P\) y su simétrico, aplicando la fórmula del punto medio obtenemos que el punto pedido es

\begin{align*} P'=P+2\cdot\overrightarrow{PQ}=\\=\left(-1,\ -4,\ 0\right)+2\cdot\left(\left(-3,\ -1,\ 3\right)-\left(-1,\ -4,\ 0\right)\right)=\\=\left(-1,\ -4,\ 0\right)+2\cdot\left(-2,\ 3,\ 3\right)=\left(-5,\ 2,\ 6\right) \end{align*}

image

Además, hemos generado un html con el gráfico que se puede ver desde:

Enlaces al fichero fuente y al pdf final de una posible compilación.