Una línea se define por $ (x, y) = o + tv $ donde o es el punto de origen y v es el vector de dirección, y t es un número real.
Tengo algún punto p que puede no estar en dicha línea, y quiero encontrar la distancia a la línea. Estaba pensando que podría utilizar la normal de la línea, es decir $ n = (-v_y, v_x) $ , para encontrar qué múltiplo sale entonces como en la línea, es decir, encontrar para que $ p + n = o + tv $ entonces la distancia sería $ ||n|| $ .
Así que resuelvo para , y obtengo
$$ (p_x + n_x, p_y + n_y) = (o_x + tv_x, o_y + tv_y) $$
Dos incógnitas, dos ecuaciones debería funcionar. Resuelve para t entonces ,
$$ t = (p_x + n_x - o_x)\frac{1}{v_x} $$
$$ t = (p_y + n_y - o_y)\frac{1}{v_y} $$
La igualdad de los dos da
$$ (p_y + n_y - o_y)v_x = (p_x + n_x - o_x)v_y $$
$$ \implies (p_y - o_y)v_x - (p_x - o_x)v_y = (n_x)v_y - (n_y)v_x $$
$$ \implies = \frac{ (p_y - o_y) v_x - (p_x - o_x) v_y }{ n_x v_y - n_y v_x } $$
Desde $ n = (-v_y, v_x) $ ,
$$ = - \frac{(p_y - o_y, o_x - p_x)·v}{v·v} $$
Esto parece demasiado fácil para ser verdad y no parece funcionar, ¿por qué no?
Edición: Se ha cambiado la forma de definir el vector normal, se han corregido errores de cálculo