Autor Tema: Punto de corte de rectas en el espacio

0 Usuarios y 1 Visitante están viendo este tema.

27 Febrero, 2024, 12:46 pm
Leído 109 veces

miguelrevine

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 1
  • País: es
  • Karma: +0/-0
Buenas tardes, necesito ayuda para calcular el punto de intersección de dos rectas en el espacio, teniendo dos puntos de cada recta. Además, necesito programarlo en C#, por lo que me gustaría poder evitar el método de igualar ecuaciones de la recta ya que no tengo las ecuaciones de las rectas, solo el vector director y un punto de cada una de ellas, recuerdo que es en el espacio. Tampoco soy ningun profesional de las matemáticas, por lo que igual se me escapa algo y la respuesta es sencilla pero llevo un largo rato intentándolo y no lo consigo. Gracias!

27 Febrero, 2024, 01:13 pm
Respuesta #1

Abdulai

  • Moderador Global
  • Mensajes: 2,862
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
...recuerdo que es en el espacio...
Dos rectas en el espacio en general no se cortan.

27 Febrero, 2024, 01:18 pm
Respuesta #2

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,046
  • País: es
  • Karma: +0/-0
Hola

Buenas tardes, necesito ayuda para calcular el punto de intersección de dos rectas en el espacio, teniendo dos puntos de cada recta. Además, necesito programarlo en C#, por lo que me gustaría poder evitar el método de igualar ecuaciones de la recta ya que no tengo las ecuaciones de las rectas, solo el vector director y un punto de cada una de ellas, recuerdo que es en el espacio. Tampoco soy ningun profesional de las matemáticas, por lo que igual se me escapa algo y la respuesta es sencilla pero llevo un largo rato intentándolo y no lo consigo. Gracias!

Si las rectas pasan respectivamente por los puntos \( P,Q \) y tienen como vectores directores \( u,v \), un punto común \( X \) cumple para ciertos reales \( (t,s) \):

\( X=P+tu=Q-sv  \) es decir \( Q-P=tu+sv \).

Si formas las matrices:

\( B=\begin{pmatrix}q_1-p_1\\q_2-p_2\\q_3-p_3\\\end{pmatrix},\quad A=\begin{pmatrix}u_1&v_1\\u_2&v_2\\u_3&v_3\\\end{pmatrix},\quad
Y=\begin{pmatrix}t\\s\\\end{pmatrix} \)

equivale al sistema:

\( B=AY \)

Es un sistema sobredimensionado (con mas ecuaciones que incógnitas). Lo puedes resolver por mínimos cuadrados multiplicando por \( A^t \).

\( A^tB=A^tAY \) y así \( Y=(A^tA)^{-1}A^tB \).

Una vez que tengas \( Y \) en particular tienes \( t \) y el punto de corte es:

\( X=P+tu \).

Alguna observación:

1) Si \( A^tA \) no tiene inversa, es decir, tiene determinante cero, es porque las rectas son paralelas y por tanto salvo que sean la misma recta no se cortan.

2) Hay rectas que se cruzan (ni son paralelas ni se cortan) y de hecho esa es la situación más general; aún así en este caso el algoritmo te da una solución que minimiza el error cuadrático del problema planteado. Puedes evaluar ese error calculando [te]\|B-AY\|[/tex]; si las rectas se cortan debería de dar cero y en otro caso no se cortan. Pero puedes permitir un valor pequeño, menor que una tolerancia fijada por si se arrastra algún error de redondeo.

3) El sistema que hay que resolver es \( 2\times 2 \) (o la inversa). Si tienes algún problema para programar las fórmulas dilo.

4) Adicionalmente hay métodos específicos para programar la resolución de  esos sistemas de manera más o menos óptima. Para matrices tan pequeñas en principio no vale la pena complicarse mucho con ellos (con algún matiz sobre errores de redondeo).

Saludos.

27 Febrero, 2024, 01:35 pm
Respuesta #3

sugata

  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 3,618
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino

Alguna observación:

1) Si \( A^tA \) no tiene inversa, es decir, tiene determinante cero, es porque las rectas son paralelas y por tanto salvo que sean la misma recta no se cortan.

¿Esto no se vería enseguida si \( u=kv \)?

Si los vectores directores son proporcionales las rectas serian paralelas o coincidente. ¿Me equivoco?

27 Febrero, 2024, 04:08 pm
Respuesta #4

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,046
  • País: es
  • Karma: +0/-0
Hola

¿Esto no se vería enseguida si \( u=kv \)?

Si los vectores directores son proporcionales las rectas serian paralelas o coincidente. ¿Me equivoco?

Si, es cierto lo que dices. Pero yo planteaba la comprobación en el contexto de las cuentas que propuse para hallar el punto de corte (supuesto que exista).

Si quisiéramos comprobar directamente la proporcionalidad habría que comprobar si dos de los tres determinantes \( 2\times 2 \) que forman la matriz \( 3\times 2 \), \( (u\quad v) \) son nulos.

Saludos.

27 Febrero, 2024, 09:42 pm
Respuesta #5

sugata

  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 3,618
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

¿Esto no se vería enseguida si \( u=kv \)?

Si los vectores directores son proporcionales las rectas serian paralelas o coincidente. ¿Me equivoco?

Si, es cierto lo que dices. Pero yo planteaba la comprobación en el contexto de las cuentas que propuse para hallar el punto de corte (supuesto que exista).

Si quisiéramos comprobar directamente la proporcionalidad habría que comprobar si dos de los tres determinantes \( 2\times 2 \) que forman la matriz \( 3\times 2 \), \( (u\quad v) \) son nulos.

Saludos.

Entendido, gracias.

27 Febrero, 2024, 11:28 pm
Respuesta #6

ani_pascual

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,653
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
  • שמע ישראל יהוה אלהינו יהוה אחד
    • Kepler_Ck
Hola:
Bienvenido  :)
Buenas tardes, necesito ayuda para calcular el punto de intersección de dos rectas en el espacio, teniendo dos puntos de cada recta. Además, necesito programarlo en C#, por lo que me gustaría poder evitar el método de igualar ecuaciones de la recta ya que no tengo las ecuaciones de las rectas, solo el vector director y un punto de cada una de ellas, recuerdo que es en el espacio. Tampoco soy ningun profesional de las matemáticas, por lo que igual se me escapa algo y la respuesta es sencilla pero llevo un largo rato intentándolo y no lo consigo. Gracias!
Te sugiero echar un vistazo a las reglas del foro  ;)
Saludos