Kami tidak memiliki tantangan tunggal tentang menggambar kubus 3 dimensi yang nyata, jadi begini:
Tantangan
Tugas Anda adalah menggambar kubus yang diputar dengan perspektif. Itu bisa di jendela terpisah atau sebagai gambar.
Memasukkan
Input Anda adalah 3 angka terpisah antara 0 dan 359,99 ... Ini mewakili rotasi di sekitar sumbu x, y dan z dalam derajat.
0 0 0
30 0 40
95 320 12
Keluaran
Anda dapat menampilkannya di jendela terpisah atau menyimpan gambar. Anda dapat menggunakan semua jenis tampilan (berbasis vektor, raster, dll.).
Sunting: ASCII juga diizinkan, untuk memungkinkan bahasa golf dengan hanya keluaran tekstual.
Output untuk grafik rasterisasi atau ASCII harus setidaknya 50 * 50 (piksel untuk rasterisasi, karakter untuk ASCII)
Informasi tambahan
Sumbu z positif menunjuk keluar dari jendela, sumbu x adalah horisontal, dan sumbu y adalah vertikal. Pada dasarnya standar OpenGL.
Rotasi berlawanan arah jarum jam jika Anda melihat kubus ke arah negatif dari sumbu tertentu, misalnya melihat ke bawah untuk sumbu y.
Kamera harus berada pada sumbu z pada jarak yang wajar dari kubus pada arah z negatif, kubus harus pada (0; 0; 0). Itu. kubus juga harus sepenuhnya terlihat, dan mengambil setidaknya 50% dari bingkai gambar. Kamera harus melihat ke arah z positif pada kubus.
Rotasi kubus diterapkan dalam urutan x-> y-> z.
Kubus diputar di sekitar pusatnya, tidak bergerak.
Untuk memproyeksikan kubus dalam ruang 2d, Anda perlu membagi koordinat x dan y kubus dengan jarak yang sejajar dengan sumbu z antara titik dan kamera.
Aturan
Pustaka rendering diperbolehkan, tetapi simpul harus didefinisikan dalam kode. Tidak ada kelas model kubus 3d.
Uji kasus
google will tell you the formula.
Tidak , tantangan harus mengandung sebanyak mungkin bahan dan informasi yang diperlukan untuk menyelesaikannya, termasuk dalam badan pos . Saya seharusnya tidak harus googling atau Wikipedia-ing hanya untuk mulai memahami.