Oklusi persimpangan Sphere (untuk hybrid raytracing)


9

Berpikir tentang hybrid raytracing, maka pertanyaan berikut:

Misalkan saya memiliki dua bidang padat dan . Kami tahu pusat dan jari-jari mereka, dan kami tahu bahwa mereka memiliki volume yang tumpang tindih di ruang angkasa.s1s2

Kami memiliki pengaturan grafis 3D yang khas: anggap mata adalah asal, dan kami memproyeksikan bola ke bidang tampilan di z=f untuk beberapa f positif f. Bola berada di luar bidang pandangan dan tidak memotongnya.

Misalkan c adalah lingkaran dalam ruang yang menunjuk pada permukaan kedua bola, yaitu 'bergabung' dari beberapa sudut volume yang tumpang tindih.

Saya ingin menghitung apakah ada c yang terlihat saat diproyeksikan ke bidang pandangan kami. Mungkin tidak, jika s1 atau s2 sepenuhnya menghalangi.

Ada ide untuk mendekati ini?


jika c adalah gabungan dari piksel yang diproyeksikan, ketika s1 atau s2 benar-benar menghalangi bola lain, itu tidak berarti c menjadi kosong. mohon klarifikasi.
v.oddou

Jawaban:


7

Mengingat bahwa saya tidak ketinggalan apa pun, Anda mungkin dapat memotong ini menjadi masalah di ruang 2D. Melihat ke pesawat yang ditentukan oleh titik-titik pusat bola dan asal kamera Anda, pemandangannya terlihat seperti ini:

pemandangan dengan persimpangan yang terlihat

Bola menjadi lingkaran dengan titik pusat dan , dan lingkaran persimpangan sekarang hanya 2 poin dengan hanya satu yang lebih dekat yang menarik. Kamera / eye sewenang-wenang mengatur ke titik .C1C2PE

Menghitung apakah satu titik pada bola terlihat atau tidak mudah: Cukup periksa apakah sudut pada titik antara dan masing-masing dan keduanya lebih besar (atau sama dengan) 90 derajat 1 .PEC1EC2

Jika terlihat, beberapa bagian (misalnya setidaknya titik itu) dari lingkaran persimpangan terlihat. Kalau tidak, seluruh lingkaran persimpangan harus dihadang oleh salah satu bola Anda, yaitu yang menciptakan sudut kurang dari 90 derajat.P

Ini adalah tampilannya jika tidak terlihat dari :PE

masukkan deskripsi gambar di sini

Anda dapat dengan jelas melihat bagaimana titik tersebut terhalang oleh lingkaran di sekitar dan bahwa sudut antara dan dalam kurang dari 90 derajat.C2EC2P


1 Memiliki sudut tepat 90 derajat berarti bahwa garis antara dan hanya menyentuh lingkaran / bola di masing-masing titik sebagai garis singgung.EPP

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.