Apakah bola yang diproyeksikan ke ruang 2D selalu menghasilkan elips?

22

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.

hippietrail
sumber
3
Dengan asumsi proyeksi perspektif, AFAICS 'batas' yang dibentuk oleh horizon sudut pandang akan menjadi kerucut (terpotong) dan dengan demikian sebagian besar proyeksi akan menjadi bagian kerucut: en.wikipedia.org/wiki/Conic_section . Elips dengan demikian kemungkinan, tetapi bukan satu-satunya.
Simon F
1
Dalam hal ini saya akan mempromosikan komentar saya untuk sebuah jawaban ...
Simon F
1
Anda perlu menambahkan batasan. fisheye juga merupakan proyeksi perspektif, dan Anda tidak akan mendapatkan elips. kendala yang Anda butuhkan adalah linearitas.
v.oddou
1
Saya lebih suka mengatakan sesuatu seperti "di mana proyeksi adalah aplikasi linier". Mungkin ada beberapa istilah pintas untuk ini, seperti "epimorfisme linear" atau sesuatu, tapi saya sudah lama lupa itu.
v.oddou
1
Ini harus pergi ke suatu tempat di utas ini, jadi menambahkannya di sini :) Proyeksi bola analitik Inigo Quilez: shadertoy.com/view/XdBGzd
Mikkel Gjoel

Jawaban:

18

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 Wikipediamasukkan deskripsi gambar di sini

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.

Simon F
sumber
1
Saya tidak dapat membayangkan bagaimana hasilnya bisa menjadi parabola atau hiperbola meskipun logika absolut dari argumen Anda. Beberapa kata yang mengklarifikasi tata letak seperti apa yang akan mengarah pada ini akan bagus. Yang terbaik yang bisa saya dapatkan di otak saya adalah "sesuatu yang berhubungan dengan ketidakterbatasan entah bagaimana" ...
hippietrail
3
Mungkin sesuatu yang setara mungkin bisa membantu. Bayangkan Anda memegang obor (senter untuk orang-orang di Amerika Utara), yang membuat balok berbentuk kerucut, dan Anda berada di gudang kosong (tak terbatas) yang gelap. Bersinar obor di lantai Anda melihat elips. Sekarang secara bertahap miringkan poros obor kembali ke arah horizontal. Elips akan menjadi lebih panjang dan lebih lama sampai titik ketika 'tepi' paling atas dari balok itu sendiri adalah horisontal, yaitu sejajar dengan lantai. Sekarang proyeksi adalah parabola dan membentang selamanya. Memiringkannya lebih jauh akan membentuk hiperbola.
Simon F
1
@hippietrail: Mungkin perlu dicatat bahwa, dengan bidang tampilan di depan kamera, satu-satunya cara Anda bisa berakhir dengan parabola atau hiperbola adalah jika setidaknya bagian dari bola adalah antara titik fokus dan bidang tampilan.
Ilmari Karonen
@IlmariKaronen: Apa artinya "titik fokus" dalam konteks ini? Apa yang menjadi fokus mata? Titik hilang? (Saya belajar rotasi dan proyeksi perspektif 3D saat berusia 12 atau 13 tahun dan tidak pernah fasih dalam matematika dan terminologi.)
hippietrail
@hippietrail Titik fokus, dalam konteks ini, akan menjadi puncak kerucut. Secara efektif "lubang jarum" dari perspektif, model kamera lubang jarum. (PS Apakah namanya menyiratkan "seorang wanita aneh. Dia membuat saya gugup .."?)
Simon F
14

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.

masukkan deskripsi gambar di sini

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.

joojaa
sumber
1
Apa yang mungkin benar-benar baik adalah jika animasi Anda dapat mengubah naungan untuk berbagai hasil: Katakan putih untuk ellipse, hijau (untuk 'satu frame' parabola), dan merah untuk hiperbola. :-)
Simon F
2
@SimonF saya memikirkan hal ini, saya merencanakan sesuatu seperti nathan reed. Tapi saya agak terburu-buru, saya beruntung bisa menyelesaikannya. Awalnya saya agak skeptis apakah hiperbola bisa eksis sama sekali, tapi ya sekarang sepertinya sudah jelas.
joojaa
13

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.

Pertama

Area Setara, lihat Islandia dan Afrika di sini dan bandingkan dengan di atas.

Kedua

Sistem proyeksi dapat diklasifikasikan berdasarkan apa yang dipertahankannya.

  1. Area yang sama.
  2. Sudut yang sama yang mempertahankan bentuk tanpa distorsi (konformal).
  3. Jarak yang sama.
  4. ......

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.

Ketiga


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).

Elips

Mungkin ini jelas tetapi lihatlah persamaan mereka.

Untuk kesederhanaan saya mengasumsikan semua geometri berpusat pada asal.

Persamaan:

x2+y2=r2

x2/a2+y2/b2=1

x2/a2y2/b2=1

y2=4ax

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.

Iman
sumber
2
Terima kasih atas jawaban anda. Silakan lihat tambahan saya tentang proyeksi perspektif. Mohon maaf atas kekhilafan ini dalam kata-kata asli saya.
hippietrail
2
Ya saya mencoba untuk membahas itu dalam pertanyaan awal saya. Poin dan segmen garis adalah elips yang mengalami degenerasi juga.
hippietrail
3
@hippietrail: Bumi sebenarnya adalah contoh yang sangat baik juga untuk proyeksi perspektif. Jika Anda mengambil foto biasa di luar ruangan, mengarahkan kamera ke arah cakrawala, maka (dengan asumsi bahwa lensa Anda tidak memiliki distorsi, dan bahwa Bumi kira-kira merupakan bola yang sempurna) gambar Bumi dalam gambar akan menjadi (bagian dari) hiperbola yang sangat luas.
Ilmari Karonen
1
@IlmariKaronen: Wow itu membuatnya sangat jelas dan layak untuk dijawab sendiri! Akankah ada versi ini yang akan menghasilkan parabola?
hippietrail
1
@hippietrail Saya menambahkan beberapa penjelasan di akhir jawaban saya, semoga bisa menjawab aspek baru dari pertanyaan yang diedit. dan terima kasih atas komplemen Anda.
Iman
11

Alasan SimonF pada dasarnya meyakinkan saya, tetapi saya memutuskan untuk melakukan pemeriksaan kewarasan. Saya memuat level UE4 yang kebetulan memiliki beberapa bola, seperti ini:

masukkan deskripsi gambar di sini

Saya mengatur FOV kamera hingga 160 derajat untuk memberikan banyak distorsi perspektif, dan memposisikannya sehingga bola berada di dekat sudut gambar:

masukkan deskripsi gambar di sini

Lalu saya mengambil ini ke Inkscape dan menggunakan alat elips untuk menggambar di atasnya:

masukkan deskripsi gambar di sini

Mengherankan! Ini sangat cocok!

Nathan Reed
sumber
1
Ilustrasi yang sangat bagus! Apa pendapat Anda tentang penanganan parabola dan hiperbola?
hippietrail
2
@hippietrail Sayangnya, program seni vektor tidak memiliki alat parabola dan hiperbola seperti alat elips, jadi itu akan sedikit lebih sulit ... :)
Nathan Reed
@NathanReed yakin tetapi mereka memiliki alat grafik umum, (jika tidak Anda bisa mendapatkannya dari saya) grafik parabola generik dan skala / putar agar sesuai.
joojaa
-1

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

Liz
sumber
1
Jawaban lain menunjukkan bahwa bentuk selain elips adalah mungkin. Bisakah Anda menunjukkan mengapa itu tidak benar?
Simon F