Przecięcie prostej ze sferą

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Trzy możliwe przypadki:
1) Brak przecięcia,
2) Przecięcie w jednym punkcie,
3) Przecięcie w dwóch punktach.

W geometrii analitycznej, prosta i sfera mogą mieć część wspólną w dokładnie jednym punkcie, dwóch punktach bądź wcale. Metody rozróżniania tych przypadków i ustalania punktów przecięcia są używane jako algorytm wykonywany wielokrotnie podczas operacji śledzenia promieni.

Obliczanie z uzyciem wektorów[edytuj | edytuj kod]

W zapisie wektorowym równania wyglądają w następujący sposób:

Równanie sfery:

gdzie:

– środek,
– promień,
– punkty na sferze.

Równanie prostej zaczynającej się w

gdzie:

– parametr odległości wzdłuż prostej od punktu początkowego,
– kierunek prostej (wektor jednostkowy),
– punkt początkowy,
– punkty na prostej.

Szukając punktów wspólnych, należy połączyć ze sobą równania i rozwiązać dla

Równania po podstawieniu
Rozszerzając
Po przestawieniu
Otrzymuje się równanie kwadratowe
gdzie:
Upraszczając
jest wektorem jednostkowym, a W związku z tym równanie można uprościć do
  • Jeśli wartość pod pierwiastkiem jest mniejsza niż zero, rozwiązanie nie istnieje i prosta nie przecina sfery (przypadek 1).
  • Jeśli jest to zero, istnieje jedno rozwiązanie i prosta przecina sferę w jednym punkcie (przypadek 2).
  • Jeśli jest większa niż zero, istnieją dwa rozwiązania i prosta przecina sferę w dwóch punktach (przypadek 3).

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • David H. Eberly (2006), 3D game engine design: a practical approach to real-time computer graphics, 2nd edition, Morgan Kaufmann. ​ISBN 0-12-229063-1​.