Mengapa pola Moiré ini terlihat seperti ini?


11

Saya membuat beberapa gif transformasi Mobius di Matlab, dan beberapa pola aneh mulai muncul. Saya tidak yakin apakah pengetahuan yang lebih dalam dari filetype / algoritma diperlukan untuk memahami fenomena ini, tapi saya pikir mungkin ada penjelasan matematis murni. Gambar diperoleh dengan mewarnai bidang kompleks seperti kotak-kotak, dan kemudian membalikkannya dengan mengambil kebalikan dari konjugat kompleks. Berikut ini adalah kode matematika untuk gambar dengan zoom yang diberikan :k

checkerboard:C{black,white}checkerboard(z):={blackif (z)+(z)0mod2whiteif (z)+(z)1mod2image={zC:|(z)|,|(z)|1}color:image{black,white}color(z):=checkerboard(k/z¯)

Dan inilah gambar untuk k=1 , k=50 , dan k=200 . Resolusi setiap gambar adalah 1000×1000 . Saya tidak memiliki latar belakang dalam pemrosesan sinyal, tetapi saya ingin sekali mempelajari berbagai hal!

$ k = 1 $

$ k = 50 $

$ k = $ 200

EDIT:

  • Lebih khusus, mengapa pola Moire 'sinkron' dengan resolusi gambar pada titik-titik tertentu?
  • Bisakah pola Moiré diprediksi?

2
Apa yang Anda lihat adalah aliasing. Anda mencoba untuk menggambarkan gambar dengan komponen frekuensi yang lebih tinggi dari yang diperbolehkan oleh monitor Anda, jadi Anda dapat alias. en.wikipedia.org/wiki/Moiré_pattern
MBaz

1
MBaz, saya mencari penjelasan matematis mengapa pola aliasing terlihat seperti itu!
BH

1
Ya, pola Moiré dapat diprediksi. Apakah Anda terbiasa dengan transformasi Fourier?
Marcus Müller

Tidak cukup untuk menggunakannya dalam situasi ini!
BH

1
Harus tidur sekarang, semoga penjelasan matematis di bawah ini membantu Anda - berdasarkan dugaan bahwa seseorang dengan kardinalitas himpunan tak terbatas yang tak terhitung jumlahnya mungkin lebih tertarik pada pandangan yang agak abstrak daripada penjelasan fungsional-analitis.
Marcus Müller

Jawaban:


12

Anda harus memahami teorema pengambilan sampel . Singkatnya, setiap sinyal memiliki apa yang kita sebut spektrum ¹, yang merupakan transformasi Fourier dari sinyal ketika datang dalam domain waktu (jika itu adalah sinyal waktu), atau domain spasial (jika itu adalah gambar. Karena transformasi Fourier bersifat bijektif, sinyal dan transformasinya setara, pada kenyataannya, kita sering dapat menafsirkan Transformasi Fourier sebagai perubahan basis. Kami menyebutnya "konversi ke domain frekuensi", karena nilai transformasi Fourier untuk ordinat rendah menggambarkan hal-hal yang berubah perlahan dalam sinyal domain asli (waktu atau spasial), sedangkan konten frekuensi tinggi diwakili oleh nilai transformasi Fourier dengan posisi tinggi.

Secara umum, spektrum tersebut dapat memiliki dukungan tertentu ; dukungannya adalah interval minimal di luar yang spektrumnya adalah 0.

Jika sekarang Anda menggunakan sistem pengamatan yang kemampuannya untuk mereproduksi frekuensi terbatas pada interval yang lebih kecil dari dukungan yang disebutkan (yang seringkali tak terbatas, omong-omong, dan selalu tak terbatas untuk sinyal yang memiliki ekstensi terbatas dalam waktu atau ruang), Anda tidak dapat mewakili sinyal asli dengan sistem itu.

Dalam hal ini, gambar Anda memiliki resolusi tertentu - yaitu, pada akhirnya, fakta bahwa Anda mengevaluasi nilai fungsi Anda pada titik-titik terpisah dalam jarak yang tetap dan tidak terbatas. Kebalikan dari jarak itu adalah laju sampling (spasial).

Dengan demikian, gambar Anda tidak dapat mewakili sinyal asli - secara matematis tidak mungkin bahwa pemetaan fungsi yang mendasari piksel benar-benar setara dengan fungsi asli, karena kami tahu bahwa dalam hal ini, rentang total frekuensi yang dapat diwakili oleh evaluasi Anda pada titik-titik terpisah. ( "sampel") adalah setengah sampling rate, dan dengan demikian, sesuatu yang harus pergi salah dengan bagian dari spektrum sinyal Anda yang berada di atas setengah sampling rate.

Apa yang terjadi adalah, pada kenyataannya, bahwa spektrum mendapatkan alias - setiap komponen spektral pada frekuensi akan "digeser" ke bawah oleh , sehingga . Akibatnya, itu mengarah ke "struktur" di mana ada (terasa seperti) seharusnya tidak ada. nfsampel,fofsample2| f o - n f sampel | < F sampelnfsample,nZ|fonfsample|<fsample2

Ambil struktur "besar" dari gambar Anda yang telah saya lukis hijau:

Mengasingkan

Jelas terlihat seperti ada konten frekuensi rendah di sini - tetapi dalam kenyataannya, itu hanya konten frekuensi tinggi pada frekuensi yang mendapat alias frekuensi rendah, karena dekat dengan frekuensi bilangan bulat dari laju sampling.>fsample2

Jadi, ya , Anda dapat memprediksi artefak yang terjadi pada sinyal 2D saat disampel dengan membandingkan transformasi Fourier-nya dengan bandwidth yang ditawarkan oleh laju sampling.


¹ ini mungkin berbeda dari spektrum seperti yang digunakan dalam aljabar linier untuk menggambarkan sifat-sifat Eigen dari operator.


Neato !! Terima kasih banyak atas jawaban terperinci ini. Sepertinya perilaku masing-masing bit hijau sedikit berbeda dan saya kira itu tergantung pada nilai . Saya harus membaca semua tentang transformasi Fourier ini !! n
BH
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.