Plazm0id wrote:
> Jeg søger bevis for denne formel[gerne med illustrationer :) ]:
> Dist(P,l) = (a * x1 + b - y1)/sqrt(a^2 + 1)
>
> Hvor:
> P er punktet (x1;y1)
> l er linien y = ax + b
> Dist(P,l) er afstanden mellem punktet P, og linien l.
y(x) = ax + b
For et vilkårligt punkt på linien givet ved x, så er
kvadratet på afstanden fra P til punktet med koordinat
(x,y(x))
d²(x) = ( y1- y(x) )² + (x1-x)²
= ( y1- ax -b )² + (x1-x)²
Punktet på linien tættest på punktet P må være den
korteste afstand, fordi går du væk fra dette punkt vil du
samtidigt bevæge dig væk fra P. Det må altså også være
et minimum ikke kun for afstanden men også for d²(x),
så vi behøver ikke at tage hensyn til kvadratroden.
Du kan finde minimummet ved at kræve d/dx d²(x) = 0
(med lidt notationel sammensmeltning)
Den afledte af d²(x) kan du finde ved reglen for
sammensat funktion, eller ved at gange ud, resultatet
er følgende ligning for minimummet:
2(y1-ax-b)*(-a) + 2(x1-x)*(-1) = 0
Du kan nu løse ligningen og finde x0, finde punktet (x0,y(x0))
der er nærmest og udregne afstanden, stopper du løsningen
ind i sqrt(d²(x0)) skulle det gerne være Dist(P,l).
En anden måde at løse problemet på der ikke gør brug
af differentation er at observere at linien der går
fra P til det nærmeste punkt på linien L, i sagens
natur må være vinkelret på linien L.
Hvis du istedet for (x,y(x)) så bruger liniens
parameter fremstilling, (x(t),y(t)) så vil det nok være
let at løse.
--
Mvh. Carsten Svaneborg
http://www.softwarepatenter.dk