Hallar a en un punto para dos rectas que se cortan en el espacio

Un ejercicio clásico es el de hallar un parámetro en un punto de una recta sabiendo que esa recta se corta con otra que se da como dato. Para resolver esta cuestión se reutilizará parte del código del artículo sobre rectas que se cortan en el espacio. De nuevo se usa el módulo Geometry de sympy y el backend de Plotly de la la librería Sympy Plotting Backends’s para hacer una representación gráfica del problema. Con el paquete de LaTeX pythontex, el archivo LyX propuesto nos va a permitir resolver este tipo de problemas con solo cambiar los datos que se introduzcan en el código python o bien generar diferentes ejercicios a partir de datos aleatorios.

Además de hallar el valor de \(a\) en los ejercicios se determina el punto de corte y se realiza un gráfico que permite tener una idea visual del problema.

Nota

para poder compilar el fichero debemos tener instalada la librería de python kaleido

pip install -U kaleido

Un enunciado del problema que vamos a resolver y que se ha obtenido de forma aleatoria es:

Ejercicio

La recta \(r\equiv\) \({\displaystyle \frac{x+2}{2}=\frac{y+3}{5}=\frac{z+1}{3}}\) y la recta \(s\), que pasa por los puntos \(P\left(8,\ 18,\ 12\right)\) y \(Q\left(0,\ a,\ 4\right)\) se cortan en un punto. Calcula el valor de \(a\) y el punto de corte.

Podemos optar por poner los datos de entrada de forma manual o que se generen de forma aleatoria:

#Se puede resolver con valores que se ponen a mano o con valores aleatorios.
# m -> se puede hacer con los datos que hay por defecto o cambiarlos en la líneas que siguen.
# a -> se obtienen 2 puntos que determinan la recta r y el vector director de s de forma aleatoria.

#Por defecto se trabaja con datos aleatorios.
opcion='a'
  • Si se opta por manual, podemos modificar los valores

    #Valores manuales a partir de dos puntos
    # garantizándonos que los dos vectores directores no son proporcionales y que las rectas se cortan
    #Recta r
    #Puntos que la definen
    pt1r=Point3D(2,3,4)
    pt2r=Point3D(-4,-1,-4)
    #Recta s
    #A partir de dos puntos, el segundo es el que debe tener la incógnita
    # hay que tener cuidado de que tenga solución
    pt1s=Point3D(2,3,-2)
    pt2sa=Point3D(a,-1,2)
    ...
    
  • En el caso de optar por que se generen los datos de forma aleatoria, solo debemos cambiar (si se desea)

    #Valores de los parámetros para el punto de corte, será la solución del sistema final
    vpr=3
    #Cuidado, vps no puede ser 0
    vps=-2
    #Podemos optar por que sean fracciones
    #vpr=Rational(3,4)
    #vps=Rational(-1,2)
    #O aleatorios
    #vpr=random.randint(1,5)
    #vps=random.randint(2,6)
    # En este caso, las coordenadas de los puntos se obtienen entre los números enteros:
    #Valor mínimo
    vm= -3
    #Valor máximo
    vM= 3
    ...
    

    En este caso, además, la incógnita \(a\) puede aparecer de forma aleatoria en cualquiera de las tres coordenadas del punto:

    #Sustituimos 'a' en una coordenada aleatoria
    coor=random.randint(0,2)
    cpt2s=list(pt2s.coordinates)
    cpt2s[coor]=a
    pt2sa=Point3D(tuple(cpt2s))
    #Director de s con la coordenada aleatoria sustituida pot 'a'
    dsa=pt2sa-pt1s
    

De la misma forma que se comentó en el artículo de Rectas que se cortan en el espacio y punto de corte la última línea que hay al obtener el gráfico está comentada. Si se modifica de forma adecuada se consigue un fichero html (además del svg de siempre) que nos permite poder manipular con un navegador la representación gráfica obtenida con Plotly. El resultado de una de las posibles soluciones se puede ver en un 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

Para que se corten en un punto tiene que ocurrir:

  1. El vector director de \(r\) y el vector director de \(s\) no pueden ser proporcionales (no lo vamos a usar)
  2. El determinante formado por los vectores directores de ambas rectas y el vector que se obtiene de un punto de \(r\) y otro de \(s\) tiene que valer 0, de esa forma los tres vectores son linealmente dependientes y las rectas se cortan en un punto.

Impongamos esta segunda condición, para ello primero obtengamos los datos que necesitamos:

Recta

\(r\)

\(\vec{u}_{r}=\left(2,\ 5,\ 3\right)\)

\(P_{r}=\left(-2,\ -3,\ -1\right)\)

Recta

\(s\)

\(\vec{u}_{s}=\left(0,\ a,\ 4\right)-\left(8,\ 18,\ 12\right)=\\=\left(-8,\ a-18,\ -8\right)\)

\(P_{s}=\left(8,\ 18,\ 12\right)\)

Consideremos el vector \(\overrightarrow{P_{r}P_{s}}=\left(8,\ 18,\ 12\right)-\left(-2,\ -3,\ -1\right)=\left(10,\ 21,\ 13\right)\)

\(\left|\begin{matrix}-8 & a-18 & -8\\ 2 & 5 & 3\\ 10 & 21 & 13 \end{matrix}\right|\)\(=4a-24=0\)\(\Rightarrow a=6\)

En consecuencia, el vector director de la recta \(s\) es el vector

\(\vec{u}_{s}=\left(-8,\ -12,\ -8\right)\)\(\equiv\left(2,\ 3,\ 2\right)\) .

Para hallar el punto de corte podemos usar varios métodos, lo haremos a partir de la ecuaciones paramétricas que son:

\(r:\begin{cases} x= & 2t-2\\ y= & 5t-3\\ z= & 3t-1 \end{cases}\)    \(s:\begin{cases} x= & 2u+8\\ y= & 3u+18\\ z= & 2u+12 \end{cases}\)

Si igualamos ambas ecuaciones paramétricas obtenemos el sistema (en \(t\) y \(u\))

\begin{equation*} \begin{array}{c} 2t-2=2u+8\\ 5t-3=3u+18\\ 3t-1=2u+12 \end{array}\Rightarrow\begin{array}{c} 2t-2u-10=0\\ 5t-3u-21=0\\ 3t-2u-13=0 \end{array} \end{equation*}

Si lo resolvemos (ya sabemos que es compatible), por ejemplo por Gauss, tenemos que:

\(\left(\begin{matrix}2 & -2 & 10\\ 5 & -3 & 21\\ 3 & -2 & 13 \end{matrix}\right)\hookrightarrow\) \(\left(\begin{matrix}1 & -1 & 5\\ 5 & -3 & 21\\ 3 & -2 & 13 \end{matrix}\right)\hookrightarrow\) \(\left(\begin{matrix}1 & -1 & 5\\ 0 & 2 & -4\\ 3 & -2 & 13 \end{matrix}\right)\hookrightarrow\) \(\left(\begin{matrix}1 & -1 & 5\\ 0 & 2 & -4\\ 0 & 1 & -2 \end{matrix}\right)\hookrightarrow\)

\(\left(\begin{matrix}1 & -1 & 5\\ 0 & 1 & -2\\ 0 & 1 & -2 \end{matrix}\right)\hookrightarrow\) \(\left(\begin{matrix}1 & -1 & 5\\ 0 & 1 & -2\\ 0 & 0 & 0 \end{matrix}\right)\)

y por tanto tenemos como soluciones: \(t=3\) y \(u=-2\)

En consecuencia, sustituyendo algunos de los dos parámetros anteriores en sus ecuaciones correspondientes, obtenemos que el punto de corte es

\begin{equation*} P=\left(4,\ 12,\ 8\right) \end{equation*}

image

Html generado con el gráfico que se puede ver desde:

Fichero fuente y el pdf final de una posible compilación.