Szybkie sprawdzanie czy punkt leży na odcinku

gringoM

Istnieje bardzo prosty sposób na szybkie sprawdzanie, czy dany punkt leży na odcinku opisanym dwoma punktami P1 i P2 (patrz rysunek 1).

naLinii.JPG
Rys. 1 Interpretacja graficzna linii opisanej punktami P1 i P2 oraz przykładowe punkty, których przynależność do odcinka będzie sprawdzana

Punkt P3 leży na odcinku P1-P2 więc spełnia następujący warunek: L1-3 + L3-2 = L1-2, natomiast punkt P4 nie leży na odcinku P1-P2 w związku z czym spełniony jest warunek L1-4 + L2-4 > L1-2.

Na koniec chciałbym zwrócić uwagę, że w związku z ograniczoną dokładnością zapisu liczb w pamięci komputera należy zastosować pewną tolerancję L1-3 + L3-2 <= L1-2 + T, lub zaokrąglenie wyniku.

5 komentarzy

Wydaje mi się, że L, bo w matematyce tak się oznacza długość łuku (tutaj odcinka). W pierwszym momencie nie bardzo zrozumiałem zamiary autora. Proponuję na przyszłość napisać, czemu tak (chociaż tu i gimnazjalista powinien dojść o co chodzi i ską to się bierze). ;)

A oznaczenie L wprowadzam bo nie wszyscy są tacy dobrzy i nie wszyscy wiedzą jak używać wektorów a chciałem żeby jak najwięcej osób mogło to zrozumieć

nie trzeba sprawdzać czy punkt p3 ma współrzędne pomiędzy współrzędnymi punktów P1 i P2 ponieważ gdy punkt P3 nie leży pomiędzy nimi to równanie |P1P3| + |P3P2| = |P1P2| nie jest spełnione.

Nie możesz jakichś normalnych znaczeń stosować ? np. |P1P3| + |P3P2| = |P1P2| ?

Po co w ogóle wprowadzasz oznaczenie L ?

I ogólnie można by było jeszcze przedstawić metodę z iloczynem wektorowym, bo jest ogólniejsza, sprawdza nie tylko odcinek AB, ale całą prostą (trzeba jeszcze sprawdzić, czy punkt P3 ma współrzędne x i y pomiędzy współrzędnymi x i y punktów P1 i P2.

Mały błąd w oznaczeniu na obrazku powinno być L2-4 a nie P2-4.