NI Home > Community > NI Discussion Forums

Discusiones sobre Productos NI

Responder
Member
CeDeC
Mensajes publicados: 26
0 kudos

calcular distancia de un punto a una recta o curva

Si tengo un punto cualquiera y quiero calcular la distancia de dicho punto a una recta o una curva.

¿Hay alguna opcion que no sea pasar por formulas matematicas con formule node?
Trusted Enthusiast
BeCeGa
Mensajes publicados: 2.079

Re: calcular distancia de un punto a una recta o curva

Hola CeDeC tu pregunta esta mas enfocada a evitar usar formulas o evitar usar el formula node? Si en si lo que no quieres usar es el formula node podrías usar el Math Script Node:smileyhappy: , aparte de esto hay algunas otras formas de representar en LabVIEW ecuaciones por ejemplo podrías usar de la paleta de Mathematics>>ScriptFormula 1D and 2D Evaluation, estas te pueden ayudar a evaluar expresiones contra un arreglo de valores que tu des.

También podrías jugar con los VIs de algebra matricial, y ver todo desde el punto de vista de Vectores.

Por último podrías descomponer tu ecuaciones en funciones sencillas de sumas restas cuadrados con las funciones básicas de matemáticas y apoyarte con las de integral y diferencias.

En este link puedes encontrar un par de formulas que te pueden ser de utilidad;

http://mathworld.wolfram.com/Distance.html

Saludos

Senior Systems Engineer // CLA // CLED
Member
CeDeC
Mensajes publicados: 26
0 kudos

Re: calcular distancia de un punto a una recta o curva

La idea es evitar hacer una programacion complicada. He usado el foormule node y me sale un programa tan complejo que es dificil encontrar donde estan los erroes. Porque con esta distancia mas el punto anterior, tengo que calcular la tendencia entre las dos rectas. No se si me explico, el programa es para una maniobra de aproximación. tengo una recta o curva a la que tengo q llegar (parto de recta pq es mas facil, luego la curva la puedo subdividir en rectas, lo ideal seria q lo hiciese el LW 7 automaticamente) .

 

Imaginate un sistema de referencia X/Y, un grafico, donde hay una recta o curva y un punto (P). Pues bien, el punto (P) va avanzando por el grafico a una direccion cualquiera (direccion dada empiricamente segun el caso), éste forma una recta junto al punto anterior (P-1). Con esta recta más la recta o curva objetivo puedo obtener el angulo entre ambas. Con este angulo mas la distancia a la recta o curva del punto P, calculo estadisticamente cual serà el siguiente punto (P+1) y por tanto que correccion tendré que hacer para que el punto P+1 sea el que yo quiero.

 

Hasta ahí puede parecer fàcil, pero la dificultat recae en que este programa se tiene que ejecutar entre 1 y 2Hz y es una subrutina más dentro de mi programa. O sea q si es muy complejo de ejecutar, me dara retrasos en las operaciones de calculo y por tanto errores.

 

 

Gracias de antemano

 

CeDeC

Trusted Enthusiast
BeCeGa
Mensajes publicados: 2.079
0 kudos

Re: calcular distancia de un punto a una recta o curva

Hola Cedec no programa tu formula completa pero te genere un SubVI que calcula la distancia a una recta si tienes la formula de la recta.  Estos los puedes programar directo en código de LabVIEW, e ir generando subVIs para que te sea más modular y mas fácil detectar el error.

El VI que te anexo tarda .0012 ms en ejecutarse (llamándolo como subVI) en una Dualcore de 2Gigas, ahora para correr a 2 hz tienes  tienes .5ms para realizar operaciones por lo que esto no debe de presentar problemas.

Espero que te sirva. 

 

Aquí hay otra pagina con formulas

http://www.vitutor.com/geo/rec/d_13.html

Saludos

Senior Systems Engineer // CLA // CLED
Member
CeDeC
Mensajes publicados: 26
0 kudos

Re: calcular distancia de un punto a una recta o curva

muchas gracias por responder, ahora me lo mirare a ver si me simplifica lo que he hecho yo.

 

Otra pregunta relacionada con este tema queria hacerte, dado una nuve de puntos hay alguna opcion de labviw o alguien que ya se haya roto la cabeza para hacerlo, que te calcule la formula que más se aproxima a esa nuve de puntos? osea, una recta de regresion, o una curva con X grados o una espiral.

 

Este tema me lleva bastante de cabeza y me gustaria hacerlo lo mejor posible para no simplificar demasiado (y por tanto que parezca cutre) la aproximación y que esta no sea buena.

 

Gracias de nuevo.

 

CeDeC 

Trusted Enthusiast
BeCeGa
Mensajes publicados: 2.079
0 kudos

Re: calcular distancia de un punto a una recta o curva

Hola Cedec, LabVIEW hay funciones tanto para interpolación como para conseguir la fórmula de la recta. Los VIs que necesitas son los de Mathematics>>Fitting ahí por ejemplo hay spline fitting. Y para hacerlo al revés si tienes la formula puedes obtener la de Mathematics>> Interpolation para conocer los puntos.

Saludos

Senior Systems Engineer // CLA // CLED