Intuisi saya selalu bahwa ketika setiap bola diproyeksikan ke ruang 2D yang hasilnya akan selalu secara matematis menjadi elips (atau lingkaran dalam kasus degenerasi).
Di masa lalu ketika saya aktif melakukan pemrograman grafis saya sendiri dan membawa ini dengan orang lain, mereka bersikeras bahwa saya salah. Jika saya ingat dengan benar, mereka percaya hasilnya bisa jadi sesuatu yang "berbentuk telur".
Siapa yang benar?
Karena sudah ada satu jawaban yang diajukan, saya tidak ingin mengubah pertanyaan saya sepenuhnya tetapi saya menyadari saya meninggalkan detail penting karena kehilangan keakraban dengan bidang selama bertahun-tahun.
Saya bermaksud bertanya secara spesifik tentang proyeksi perspektif di mana proyeksi adalah aplikasi linier .
Proyeksi lain tentu saja menarik untuk banyak kegunaan jadi saya tidak ingin mereka dihapus pada saat ini. Tetapi alangkah baiknya jika jawaban dapat memiliki proyeksi perspektif sebagai bagian yang paling menonjol.
sumber
Jawaban:
Dengan asumsi proyeksi perspektif dan titik pandang di luar bola, maka 'batas' yang dibentuk oleh titik pandang dan lingkaran di bola yang membentuk cakrawala WRT titik pandang, akan menjadi kerucut.
Melakukan proyeksi perspektif (ke pesawat) kemudian setara dengan memotong kerucut ini dengan pesawat yang dengan demikian menghasilkan bagian kerucut. FYI keempatnya, non-degenerate, kasing ditunjukkan pada gambar ini dari Wikipedia
Elips / lingkaran dengan demikian kemungkinan, tetapi bukan satu-satunya - parabola atau hiperbola yang tidak terbatas (dan saya kira jika pesawat melewati mata, bahkan kasus yang merosot) adalah mungkin.
sumber
Ini lebih seperti komentar panjang untuk jawaban @ SimonF yang saya coba buat agak mandiri.
Semua potongan kerucut mungkin, hiperbola, parabola, dan oval. Ini mudah untuk diuji dengan menggambar gambar dalam mesin 3D dengan kamera sudut yang sangat lebar. Putar kamera untuk mengatakan dalam sudut 30 derajat sehingga objek tidak berada di tengah fokus Anda. Kemudian secara bertahap gerakkan kamera lebih dekat ke bola.
Gambar 1: Terbang sangat dekat dengan bola yang tampak sedikit menyamping. Perhatikan bagaimana kita tiba-tiba menusuk bentuk permukaan di dalamnya.
Jadi untuk rekap ketika bola sangat dekat sehingga keluar gambar dalam gambar lebar itu bisa menjadi parabola atau hiperbola. Tapi bentuknya hanya akan keluar dari bingkai untuk melakukannya.
sumber
Sistem proyeksi digunakan untuk mengubah bentuk 3D menjadi bentuk planar (2D).
Menurut jenis sistem proyeksi, berbagai hasil dan bentuk seperti persegi panjang, pai, elips, lingkaran, ... dapat dihasilkan dari sebuah bola.
Sistem proyeksi dapat diklasifikasikan berdasarkan karakteristik hasil yang mereka hasilkan.
Untuk melanjutkan, saya ingin menggunakan contoh yang sangat menyentuh dan umum yang kita semua lihat sebelumnya, bola Bumi dan peta global, semuanya ada di mana-mana.
Misalkan bola Anda adalah bumi!
Bayangkan bumi sebagai bola Anda dan peta dunia planar yang dibuat dari bentuk bola bumi. Di sebagian besar peta dunia, Anda melihat negara-negara di dekat kutub menjadi jauh lebih besar daripada kenyataannya, seperti Islandia yang merupakan 1/14 dari benua Afrika pada kenyataannya tetapi peta menunjukkan mereka berdua sama. Ini karena ketika kita menghilangkan satu dimensi kita kehilangan satu karakteristik bentuk kita.
Sistem proyeksi yang berbeda dan hasilnya
Ini adalah proyeksi planar yang tidak menghemat jarak, sudut, atau area. Lingkaran merah menunjukkan jumlah berlebihan yang merupakan produk dari proyeksi ini.
Area Setara, lihat Islandia dan Afrika di sini dan bandingkan dengan di atas.
Sistem proyeksi dapat diklasifikasikan berdasarkan apa yang dipertahankannya.
Proyeksi konformal mempertahankan bentuk tetapi area tidak akan dipertahankan (gambar pertama di atas) yang satu ini adalah sistem proyeksi paling terkenal yang digunakan dalam banyak aplikasi. Bola Anda adalah persegi panjang di sini!
Jadi Anda tidak bisa mengatakan bola akan diproyeksikan ke elips selalu. Seperti disebutkan di atas bola dapat diproyeksikan ke persegi panjang (bentuk pertama) atau bisa berbentuk elips tetapi dengan karakteristik yang berbeda (sudut, jarak, bentuk, area - yang sama - lihat gambar berikut), atau Anda juga dapat memproyeksikan bola menjadi kerucut dan kemudian buka kerucut sehingga Anda akan memiliki kue.
Masing-masing sistem proyeksi di atas dapat diterapkan dengan algoritma iteratif atau langsung yang dapat ditemukan di internet. Saya tidak berbicara tentang formula dan transformasi karena Anda tidak bertanya. Meskipun saya berharap Anda menemukan jawaban ini bermanfaat.
Dalam proyeksi perspektif saya katakan ya hanya elips yang akan dihasilkan dari bola
Memotong kerucut dengan bidang horizontal menciptakan lingkaran.
Memotong dengan bidang miring menciptakan bevel yang akan menjadi elips atau hiperbola tergantung pada sudut pemotongan, dan ketika sudut ini cenderung vertikal akan menciptakan parabola (gambar berikut).
Mungkin ini jelas tetapi lihatlah persamaan mereka.
Untuk kesederhanaan saya mengasumsikan semua geometri berpusat pada asal.
Persamaan:
Morfologi:
Elips memiliki dua fokus jelas. Lingkaran sebagai jenis elipsis khusus memiliki dua fokus juga tetapi mereka bertepatan. Namun hiperbola adalah cermin sumbu elipsis yang sama dan memiliki dua fokus juga. Parabola memiliki satu fokus tetapi sebenarnya ia memiliki dua karena parabola kedua berada di tak terhingga: ketika bidang pemotongan cenderung 90 derajat (sudut bantalan), fokus kedua pergi ke tak terbatas.
Kesimpulan
Seperti yang Anda lihat semua elips, namun Anda dapat menamainya secara berbeda untuk menggambarkan kasus khusus, tetapi jika Anda akan mengimplementasikannya dalam permainan, Anda harus mengasumsikan persamaan elips dan itu sudah cukup. Saya tidak tahu siapa di antara kalian yang benar, Anda atau teman Anda, karena keduanya mungkin benar.
sumber
Alasan SimonF pada dasarnya meyakinkan saya, tetapi saya memutuskan untuk melakukan pemeriksaan kewarasan. Saya memuat level UE4 yang kebetulan memiliki beberapa bola, seperti ini:
Saya mengatur FOV kamera hingga 160 derajat untuk memberikan banyak distorsi perspektif, dan memposisikannya sehingga bola berada di dekat sudut gambar:
Lalu saya mengambil ini ke Inkscape dan menggunakan alat elips untuk menggambar di atasnya:
Mengherankan! Ini sangat cocok!
sumber
Tidak ada parabola atau hiperbola terbentuk ketika mengiris bola sekali. Tidak ada elips baik kecuali untuk kasus khusus yang merupakan lingkaran. Hasilnya selalu berupa lingkaran. Jika Anda memproyeksikan bola ke bidang miring Anda mendapatkan elips
sumber