Işın-Düzlem Kesişim Hesaplayıcı

Kesişim noktasını bulmak için ışın kökenini, yönünü ve düzlem normalini & sabitini girin.

Nasıl hesaplanır?

Işın P(t) = O + t·D biçimindedir; O = (Ox, Oy, Oz) başlangıç noktası, D = (Dx, Dy, Dz) yön vektörüdür. Düzlem n·X = d ile verilir; n = (nx, ny, nz) normal vektörü, d ofsettir. Yerine koyunca t = (d − n·O) ÷ (n·D) bulunur ve çarpma noktası O + t·D olarak dört ondalıkla gösterilir. t ≥ 0 ise başlangıç noktasının önünde bir isabet, negatif t ise düzlemin başlangıcın arkasında olduğu anlamına gelir. Yön ve normal birim uzunlukta olmak zorunda değildir; ancak o zaman t uzaklık değil D'nin katı cinsindendir ve d, n'nin ölçeğindedir. n·D hemen hemen sıfırsa (10⁻¹²'nin altında) ışın düzleme paraleldir ve araç mesaj değil sonuçsuz bir durum döndürür. On alanın hepsi doldurulmalıdır.

Örnek hesaplama

Bir ışın O = (1, 2, 5) noktasından D = (0,5, 0, −1) yönünde çıkıyor. Düzlem z = 1 olduğundan n = (0, 0, 1) ve d = 1'dir. Önce n·D = 0×0,5 + 0×0 + 1×(−1) = −1 ve n·O = 5 bulunur. Sonra t = (1 − 5) ÷ (−1) = 4 olur. Araç t'yi 4,0000 olarak gösterir. Nokta O + 4·D = (1 + 2, 2 + 0, 5 − 4) = (3,0000, 2,0000, 1,0000) olur. t pozitif olduğundan düzlem başlangıcın önündedir ve sonuç bir isabettir.

Bu örneği dene →

Sık yapılan hatalar

  • d yerine düzlem üzerindeki bir noktayı yazmak. d, düzlem üzerindeki bir X noktası için n·X nokta çarpımıdır; z = 1 düzleminde n = (0, 0, 1) iken d = 1, ama n = (0, 0, 2) iken aynı düzlem için d = 2 gerekir.
  • Yön vektörü birim değilken t'yi uzaklık sanmak. D = (2, 0, −2) ise t o vektörün katı cinsindendir; yukarıdaki isabet 2 uzunluk birimi değil t = 2 anındadır.
  • Negatif t'yi göz ardı etmek. Doğru düzlemle kesişir ama başlangıcın arkasında; o yöne bakan bir kamera ya da lazer ona hiç ulaşmaz.
  • Paralel ışın için bir uyarı mesajı beklemek. D normale dik olduğunda (n·D = 0) araç hiç sonuç vermez; bu durum, isabet olmamasıyla ışının düzlemin içinde yatması arasında ayrım yapmaz.
  • Koordinat düzenlerini karıştırmak, örneğin y yukarı normalini z yukarı bir sahnede kullanmak. Normal ve ışın aynı eksenleri kullanmalıdır.

Bu hesaplama hakkında

3B grafik ve geometride bir ışın, bir köken noktası O'nun bir yön D boyunca bir skaler t ile uzatılmasıyla O + t·D şeklinde parametrik olarak ifade edilir; bir düzlem ise n·X = d örtük denklemiyle tanımlanır; burada n düzlemin normal vektörü, d ise sabit bir ofsettir. Işını düzlem denklemine yerleştirip çözmek t = (d − n·O) / (n·D) sonucunu verir; bu t değerini O + t·D'ye geri koymak tam kesişim noktasını verir.

Bu, ışın izleme (ray tracing) render motorlarının, CAD çarpışma ve kırpma testlerinin ve fizik motoru ışın atışlarının temelindeki hesaplamadır. n·D sıfır olduğunda ışın düzleme paraleldir ve asla kesişmez (ya da düzlemin içinde kalır); negatif bir t ise kesişimin ışının kökeninin önünde değil arkasında olduğu anlamına gelir. Bu hesaplayıcı negatif t durumunu açıkça belirtir; paralel bir ışın (n·D = 0) için ise hiçbir sonuç göstermez.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar