Abstand eines Punktes von einer Geraden
> restart;
Gleichung einer Geraden g in einem kartesischen x-y-Koordinatensystem:
> g:= x -> m*x + c:
y = g(x);
Gleichung einer zu g orthogonalen Geraden h:
> h:= x -> -1/m*x + b:
y = h(x);
h soll durch den Punkt P(xp|yp) verlaufen:
> b:= solve(h(x[p]) = y[p], b);
Koordinaten des Schnittpunktes S(xs|ys) der Geraden g und h:
> x[s]:= solve(g(x) = h(x), x);
y[s]:= g(x[s]);
Abstand zwischen P und S:
> d:= sqrt((y[p]-y[s])^2 + (x[p]-x[s])^2);
Vereinfachen des Ausdrucks für d:
> d:= sort(simplify(%));
Lösung desselben Problems mit Prozeduren des Packages geometry:
> restart;
with(geometry):
_EnvHorizontalName := x:
_EnvVerticalName := y:
line(l, y = m*x + c):
point(P, x[p], y[p]):
d:= distance(P, l);
_EnvHorizontalName := x:
_EnvVerticalName := y:
line(l, y = m*x + c):
point(P, x[p], y[p]):
d:= distance(P, l);