Sonsuz Silindir (Infinite Cylinder)
Dikkat
Eğer graphic notlarımı ilk defa okuyorsanız. İlk önce Giriş belgesini okumanızı tavsiye ederim.
Not
- Hesaplamayı kolaylaştırmak için silindirin merkezinin orijin noktasında olduğunu ve Y ekseni üzerinde yükseldiğini varsayıyoruz.
- Farklı bir eğimde sonuç elde etmek için P noktası üzerinde dönüşüm işlemleri yapılabilir.
Hesaplanması
Noktanın (P), silindirin yüzeyine olan uzaklığını hesaplamamız gerekiyor.
Bunun için ise önce noktanın Y eksenine olan uzaklığına ihtiyacımız var ve bunu hipotenüs sayesinde şu şekilde hesaplayabiliriz:
GLSL'de bu değeri length(P.xz) ile elde edebiliriz.
Son olarak bu sonuçtan silindirin yarı çapını (r) çıkarırsak yüzeye olan uzaklığı hesaplamış oluruz.
Sonuç olarak şuna ulaşıyoruz:
length(P.xz) - r

Solda XY düzlemi, sağda XZ düzleminden bir kesit görünüyor.