He estado tratando de obtener el punto de intersección de 2 líneas 3D (en general, para poder codificar un algoritmo) usando las siguientes ecuaciones:
dónde son coordenadas de puntos y coordenadas vectoriales direccionales.
Creo que la idea es conseguir o para que pueda obtener el punto de la línea ( si uso , de lo contrario) usando su ecuación paramétrica.
He hecho algunas pruebas y si uso ecuaciones y Obtengo diferentes resultados que si uso y , así que creo que estoy haciendo algo mal...
De :
de :
de & :
Y de & :
no sé por qué, pero & obtener diferentes resultados para ...
No estoy controlando divisiones por cero porque C# devuelve NaN ( ), -Infinidad ( ), +Infinito ( ) cuando sea necesario, así que asumo que si no hay intersección habrá alguna división por cero o algo así, ¿no?
¿Alguna idea de lo que está mal?
¡¡Muchas gracias!!
El problema es simplemente que si tomas 2 líneas en un espacio 3D, por lo general no se cruzan (¡piensa en ello!). Así que es perfectamente normal obtener resultados diferentes para : simplemente significa que sus líneas no son coplanares (solo obtendrá un error de división por cero si son paralelas).
Xavier Arias Botargués