On Wed, 5 Sep 2001, Adam Twardoch wrote:

> Mam punkt P o współrzędnych xp i yp, oraz zamkniętą krzywę postscriptową k
> (zespół movetów, linetów i curvetów) -- na przykład w kształcie serduszka,
> ale niekoniecznie ;)
>
> Jak znaleźć punkt C (xc, yc), który leży na krzywej k, a jednocześnie
> znajduje się najbliżej punktu P spośród wszystkich punktów leżących na
> krzywej k?
>

Aby znaleźć analitycznie rozwiązanie, należałoby rozważyć osobno kazdy
z segmentów składających się na tę krzywą. Te ,,movety'' i ,,linety''
odpowiadają odcinkom, a więc dla nich sprawa jest b. prosta. Gorzej
wygląda z curvami bo współrzędne postscriptowe curvy są wyrażone
wielomianami trzeciego stopnia względem pewnego paametru (o ile
pamiętam). Trzeba wec obliczyć odległość, a właściwei wystarczy
kwadrat odległości  w zależności od tego
parametru (wyjdzie wielomian 6 stopnia) potem policzyć pochodną (5
stopnia) i znaleźc miejsca zerowania się tejże. Numeryczne rozwiązanie
równania algebraicznego 5-tego stopnia nie przedstawia problemu, zatem
całą procedurę możnaby łatwo zautomatyzować. Być może więc istnieją do
czegoś takiego gotowe narzędzia, w kazdym razie nie wiedze problemu w
stworzeniu takowego, które jako dane wejściowe brałoby końce odcinkw,
oraz parametry poszczegółnych kawałków curv (curev?)

Paweł

> Z góry dziękuję,
> Adam
>

Odpowiedź listem elektroniczym