Raytracing: mengapa bidang pada gambar di bawah ini tampak memanjang?

8

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Beberapa konteks. Di atas adalah kode dan gambar yang dihasilkan untuk itu dalam Raytracing Peter Shirley dalam buku satu minggu. Seperti yang dapat Anda lihat dari kode, ia menambahkan beberapa bidang. Namun dalam gambar akhir ada 2 ellipsoid berdampingan. Saya tidak bisa mengerti mengapa begitu, tidak peduli berapa kali saya melihat kode. Adakah yang bisa menjelaskan kepada saya? Inilah tautan ke kode sumber. https://github.com/petershirley/raytracinginoneweekend

Manh Nguyen
sumber
2
Ini terlihat normal dan disebabkan oleh kamera perspektif yang dekat dengan bola dan memiliki nilai FOV yang besar.
PaulHK
Btw, ini tidak eksklusif untuk penelusuran sinar.
Sebastian Mach

Jawaban:

16

Bentuk-bentuk yang tampak membentang di pinggiran merupakan konsekuensi dari proyeksi perspektif. Semakin luas bidang pandang (FOV), semakin kuat efek peregangan.

Untuk menunjukkan efeknya, saya menulis contoh cepat tentang ShaderToy: https://www.shadertoy.com/view/MltBW2

Seperti yang dapat Anda lihat pada gambar di bawah ini (sesuai dengan FOV 40, 80 dan 120; jika saya tidak melakukan kesalahan), ini menjadi sangat terlihat dengan FOV lebar, seperti 90 ° ke atas.

FOV 40 ° FOV 80 ° FOV 120 °

Julien Guertault
sumber
Contoh yang bagus. Akan tetapi, mungkin membantu memiliki semacam tekstur (misalnya kisi) di bidang tanah; jika tidak, sulit membedakan antara mengubah sudut tampilan dan hanya menggerakkan kamera. (Lihat juga: dolly zoom .)
Ilmari Karonen
1
Perlu juga dicatat bahwa efek ini biasanya terjadi dengan FOV relatif tinggi terhadap jarak objek dari kamera. Itu terlihat tidak alami karena Anda biasanya tidak melihat benda dari jarak yang dekat dengan mata Anda. Setidaknya, bukan tanpa cepat memalingkan mata Anda.
Nicol Bolas