Planos y rectas en el espacio con gnuplot: segunda parte

En el artículo anterior se consideraron planos y rectas con ecuaciones implícitas y paramétricas sencillas donde, generalmente, en éstos se omitía la escritura explícita de alguna de las coordenadas en las ecuaciones implícitas. Esto producía planos horizontales o verticales que en los casos más complejos apenas rotaban con relación a los ejes coordenados x,y,z o rectas paralelas a estos ejes o que coincidían con los mismos. En este artículo se van a considerar planos y rectas que contemplan las tres coordenadas (x,y,z) en sus ecuaciones implícitas y que van a derivar en expresiones algo más complejas para sus representaciones parámetricas equivalentes. Además, se tratará de usar gnuplot con un código más elaborado para producir salidas más vistosas.

Consideremos, por ejemplo, las coordenadas de los puntos de la recta (r) de ecuación:

    (x,y,z) = (-1,1,1) + t.(1,2,1)

que están situados a una distancia 1 del plano 2x+2y+z = 5. La recta parametrizada es:

    x = -1 + t, y = 1 +2t, z = 1 + t

y la parametrización del plano (tratando de evitar valores fraccionarios) conlleva a lo siguiente:

x = 2 – u – v, y = u, z = 1 + 2v

La fórmula para la distancia de un punto (x,y,z) a un plano Ax + By + Cz + D = 0 es la siguiente:

distancia1

Para nuestro caso particular:

distancia2

y aplicando las propiedades del valor absoluto se obtienen las ecuaciones de dos planos paralelos al primero (p1) y que están situados, por encima (p2) y por debajo (p3), a una distancia 1:

distancia3

La parametrización de 2x + 2y + z = 8 es x = 4 – u – v, y = u, z = 2v.

La de 2x + 2y + z = 2 es x = 1 – u – v, y = u, z = 2v. La recta (r) y los tres planos (p1, p2, p3) graficados con este código en gnuplot:

#!/usr/bin/gnuplot

unset key

set terminal wxt persist

set parametric; set isosamples 2,2

set xlabel 'X'
set ylabel 'Y'
set zlabel 'Z'

set zrange[-11:11]

#colocación de etiquetas
set label 'r' at -5.0,-5.0 textcolor ls 1
set label 'p1' at -10.0,7.0,12.0 textcolor ls 2
set label 'p2' at -7.0,8.0,9.0 textcolor ls 3
set label 'p3' at -14.0,8.0,8.0 textcolor ls 4

#ecuaciones parametricas de la recta
r_x(u) = -1 + u
r_y(u) = 1 + 2*u
r_z(u) = 1 + u

#ecuaciones parametricas del plano1
p1_x(u,v) = 2 - u - v
p1_y(u,v) = u
p1_z(u,v) = 1 + 2*v

#ecuaciones parametricas del plano2
p2_x(u,v) = 4 - u - v
p2_y(u,v) = u
p2_z(u,v) = 2*v

#ecuaciones parametricas del plano3
p3_x(u,v) = 1 - u - v
p3_y(u,v) = u
p3_z(u,v) = 2*v

splot r_x(u),r_y(u),r_z(u) ls 1,\
	p1_x(u,v),p1_y(u,v),p1_z(u,v) ls 2,\
	p2_x(u,v),p2_y(u,v),p2_z(u,v) ls 3,\
	p3_x(u,v),p3_y(u,v),p3_z(u,v) ls 4

es la siguiente:

planos1

Por tanto, los puntos pedidos corresponden a la intersección de la recta (r) con los planos p2 y p3. Una manera de encontrarlos es resolviendo un sistema de tres ecuaciones con tres incógnitas, es decir, las ecuaciones de tres planos. Como p2 y p3 son paralelos estos no pueden emplearse simultáneamente con uno de los planos que delimitan la recta (existen tres equivalentes) porque darían lugar a un sistema incompatible. Son necesarios el de cada plano por separado y dos que delimitan la recta. Sin embargo, es más fácil usar la ecuación parámetrica de la recta y sustituirla en cada plano para hallar el valor del parámetro para el cual se cumple el corte en cada caso.

Para 2x + 2y + z = 8 tenemos que 2.(-1 + u) + 2.(1 + 2u) + 1 + u = 8. Esto corresponde a u = 1 y por tanto uno de los puntos de corte es (0,3,2).

Para 2x + 2y + z = 2 se tiene que 2.(-1 + u) + 2.(1 + 2u) + 1 + u = 2 donde u = 1/7; por lo que el otro punto de corte es (-6/7,9/7,8/7). La mejor manera que encontré (por ahora) para visualizar que los puntos de corte se ubicaban sobre la recta y los planos p2,p3 fue con una instrucción set arrow from -6.0/7,9.0/7.0,8.0/7.0 to 0,3,2 lw 3; tal como se ve en la siguiente imagen:

plano2

La rotación de la imagen permitía también verificar que la porción negra siempre coincidía con la recta (r). Situando en perspectiva el punto de corte de la recta r con el plano p2, el (0,3,2), y el de corte con el plano p1, el (-3/7,15/7,11/7), que simplemente es el punto medio del segmento negro de recta de la imagen anterior, se tiene algo como la siguiente imagen:

planos3

La línea “vertical” azul (que no es tal; sólo la presentamos en perspectiva) representaría una recta paralela al vector normal del plano (2,2,1); el cual sería su director y como pasa por (0,3,2) la ecuación paramétrica es x = 2u, y = 3 + 2u, z = 2 + u. El intersecto de esta recta con el plano p1 se puede calcular como sigue: 2(2u) + 2(3 + 2u) + 2 + u = 5; donde u = -1/3 y el punto de corte es, en este caso (-2/3, 7/3, 5/3). La distancia entre (0,3,2) y (-2/3, 7/3, 5/3) debe ser 1; lo cual puede ser corroborado rápidamente: d2 = (2/3)2 + (3 – 7/3)2 + (2 – 5/3)2 = 4/9 + 4/9 + 1/9 = 1.

Por otra parte, encontrado este punto, es fácil hallar la ecuación implícita del plano perpendicular que contiene al triángulo de vértices (0,3,2), (-3/7,15/7,11/7), (-2/3, 7/3, 5/3) porque se tienen dos vectores linealmente independientes y un punto perteneciente al plano. También es posible encontrar el ángulo que forma la recta r con los planos p1, p2 o p3.

Esta entrada fue publicada en gnuplot, Software Libre. Guarda el enlace permanente.

Una respuesta a Planos y rectas en el espacio con gnuplot: segunda parte

  1. Pingback: GeoGebra 3D portable para Linux |

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s