Przecięcie prostej ze sferą
Przejdź do nawigacji
Przejdź do wyszukiwania
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.