Next: Jak sprawdzić, czy punkt
Up: Geometria analityczna na płaszczyźnie
Previous: Jak sprawdzić, czy dwa
Dany jest trójkąt o wierzchołkach
P = (xP, yP),
Q = (xQ, yQ),
R = (xR, yR).
Jak sprawdzić, czy punkt (a, b) leży wewnątrz tego trójkąta? Trójkąt jest częścią wspólną trzech
półpłaszczyzn: tych stron prostych, zawierających jego boki (czyli dwa wierzchołki), do których należy
trzeci wierzchołek. Odpowiedz można uznać za algorytm...
Według wzoru na prostą przechodzącą przez dwa punty (podanego wyżej) piszemy równania prostych,
zawierających boki trójkata:
APx + BPy + CP = 0 - prosta QR,
AQx + BQy + CQ = 0 - prosta PR,
ARx + BRy + CR = 0 - prosta PQ.
Dla każdego wierzchołka P, Q, R obliczamy znak wyrażenia:
(APx + BPy + CP)(APa + BPb + CP),
(AQx + BQy + CQ)(AQa + BQb + CQ),
(ARx + BRy + CR)(ARa + BRb + CR).
- Jeśli wszystkie te trzy wyrażenia są dodatnie, to (a, b) leży wewnątrz trójkąta PQR.
- Jeśli jedno z tych trzech wyrażeń jest równe 0, to albo trókąt jest odcinkiem, albo
(a, b) leży na odpowiednim boku trójkąta.
- Jeśli żadne z tych wyrażen nie jest zerem, ale choć jedno jest ujemne, to (a, b) leży
na zewnątrz PQR.
Next: Jak sprawdzić, czy punkt
Up: Geometria analityczna na płaszczyźnie
Previous: Jak sprawdzić, czy dwa
Pawel Gladki
2006-01-30