#La idea es calcular la distancia de un punto a una recta usando la forma de distancia punto a punto #Se ingresan las coordenadas del punto P(X0,Y0) #Se ingresan la pendiente y el intersecto con el eje Y de la recta. #buscamos una aproximación de 10^-4 dist_punto_recta= function(X0,Y0,m,b) { X = 5 #valor inicial de X Y = m*X + b #hallo Y con la ec. de la recta d = sqrt((X0-X)^2 + (Y0-Y)^2) #primera distancia dant = d + 1 #distancia anterior tabla=c(X0,Y0,X,Y,0) #la tabla inicial I = 1 #incremento inicial en X while (abs(d-dant) > 0.0001) { #mientras el error sea mayor dant = d #conservo la distancia en la anterior X = X + I #cambio el valor de X Y = m*X + b #hallo Y con la ec. de la recta d = sqrt((X0-X)^2 + (Y0-Y)^2) #hallamos la nueva distancia tabla=rbind(tabla,c(X0,Y0,X,Y,d)) #agregamos a la tabla la fila if (d>dant) I = -I/2 #si la distancia nueva es mayor regresamos con la mitad del incremento }#while tabla }