Sangat mudah untuk berurusan dengan cara lokasi berinteraksi pada jaringan Cartesius yang bersih. Ini hanya matematika vanila. Dan Anda bisa mengabaikan geometri permukaan bola untuk sekelompok itu jika Anda hanya ingin memotong kutub atau sesuatu. Tapi saya terus menghasilkan ide untuk game di mana ruang kutub penting. ARG berkode geo dan roguelike global dan lainnya.
Saya ingin lokasi persegi (ish?) - Lagipula cukup mewakili ubin persegi dengan ukuran yang sama di seluruh dunia.
Ini harus menjadi masalah yang diselesaikan, bukan?
Apa solusinya?
ETA:
Di khatulistiwa - dan dengan asumsi bahwa lokasi kuadrat Anda cukup kecil, itu cukup dekat untuk benar bahwa Anda bisa lolos dengan memiliki satu kuadrat di baris utara dan selatan dari baris paling khatulistiwa. Dan Anda mungkin bisa lolos dengan hanya mengayunkan perbedaan hingga sekitar 45 derajat. Tetapi pada akhirnya, Anda harus memiliki lebih sedikit kotak di baris keliling kutub-bangsal. Jika saya mengurangi panjang baris dengan satu dan mengimbangi kuadrat dengan 1/2 maka mereka seperti heks dan relatif mudah untuk melakukan pengkodean untuk melacak koneksi. Tetapi ketika Anda mendapatkan pole-ward, itu menjadi lebih dan lebih ekstrem.
Memproyeksikan permukaan dunia ke permukaan kubus memang menggoda. Tapi saya pikir pasti ada solusi yang lebih elegan yang sudah digunakan.
Jika saya melakukan hal kubus (tidak membedahnya lebih jauh melalui geodesi) Apakah ada pro dan kontra yang terkait dengan menempatkan kutub di tengah wajah atau di sudut tiga sisi?
sumber
Jawaban:
Saya pikir Anda mencari grid geodesik . Banyak orang memperkirakan bumi dengan kubus:
Carlos A. Furuti memiliki banyak peta bumi yang terlipat menjadi kubus
Anda juga mungkin tertarik dengan proyeksi quincuncial The Peirce yang memetakan seluruh Bumi menjadi satu atau dua kotak.
The icosahedron (peta Dymaxion; "Apa cara terbaik untuk pixelize bola?" ) Memberikan sedikit distorsi, tetapi lebih rumit.
sumber
Saya selalu ingin melihat permainan di mana peta bulat menggunakan polihedron biasa dari beberapa jenis alih-alih bermain dunia dengan torus. Teknik ini disebut peta Dymaxion . (sumber: grunch.net )
Saya akan merekomendasikan Icosahedron . Celupkan segitiga saat ini sehingga sejajar di satu sisi persegi. Ketika pemain bergerak dari segitiga, tarik ke atas segitiga berikutnya dan petakan kembali secara identik. Koordinat pemain kemudian akan dipetakan kembali ke bagian baru. Jadi setiap bagian dari peta Anda memiliki sistem koordinatnya sendiri. Anda juga harus menggambar latar belakang untuk 3 bagian yang berdekatan dan 9 bagian yang berdekatan. Saya tidak berpikir pengguna akan dapat menentukan bagaimana itu diterapkan jika dilakukan dengan baik.
Ini adalah contoh bagaimana ini bisa bekerja.
Tentu saja setelah membaca ini Anda mungkin akan menggunakan peta torus klasik dan saya akan menunggu untuk melihat alam semesta polyhedral yang sebenarnya.
sumber
Jika Anda membuat bola menggunakan basis geodesik, area kutub diperlakukan tidak berbeda dari wilayah lain dalam hal spasi verteks yang memfasilitasi pemetaan uv yang seragam.
Sebagian besar aplikasi pemodelan memungkinkan Anda untuk membuat bola primitif menggunakan desain geodesik.
sumber
Tidak ada cara untuk "memetakan" bola dengan kotak (atau persegi panjang) dan membuat mereka semua bergabung di simpul "umum".
Namun, apakah layak untuk menghasilkan "pandangan lokal" pada permintaan? Ruang masalah tidak benar-benar dinyatakan dalam pertanyaan, tetapi jika saya sedang mengerjakan sesuatu di mana saya ingin pemandangan kota tetapi ingin dapat memutar dunia, saya mungkin sementara hanya memetakan kotak ke bagian "cukup datar" dari Dunia. Asal usul grid akan berada di mana pun pusat lokal Anda berada, dan normal pada saat itu cocok dengan normal permukaan planet ini.
Kemudian, ketika seseorang keluar dari grid, yang baru dihasilkan sesuai permintaan.
Ini mungkin atau mungkin tidak bekerja untuk OP, tetapi untuk beberapa itu mungkin berguna.
sumber
Ambil kubus, dengan jarak antara simpul dan pusat kubus sama dengan jari-jari yang diinginkan. Anda memiliki bola yang terbuat dari 6 paha depan.
Sekarang di setiap langkah, ambil setiap quad, bagi menjadi 4, dan pindahkan 5 simpul baru (satu di tengah, dan 4 di tepi - peringatan, mereka DIBAGI) jauh dari pusat sehingga mereka suka pada yang diinginkan radius.
Tidak, metode ini tidak sempurna, tetapi setidaknya ini adalah distribusi yang kurang lebih sama di bola.
sumber
Dengan max dymaxion Anda punya segi enam diletakkan dalam segitiga di permukaan datar tetapi karena peta tidak benar-benar datar mereka adalah segilima. Jika Anda ingin memungkinkan pemain untuk menjaga orientasi mereka ketika mereka berjalan di bagian-bagian tertentu Anda harus memisahkan peta lokasi dari bagaimana mereka sebenarnya disimpan. Untuk hal-hal seperti bangunan, Anda dapat menyimpan sedikit peta vektor persegi panjang dan kemudian hanya melakukan pekerjaan kasar menggambar mereka pada orientasi apa pun yang Anda butuhkan.
Anda tidak perlu selalu membuat interior terlihat seperti telah terjadi Gempa Bumi baru-baru ini karena saya pikir pemain rata-rata bahkan tidak boleh menatap mata mereka tentang memasuki pintu ke timur laut tetapi masuk ke layar dengan pintu depan berorientasi karena selatan dan seluruh bangunan di grid biasa.
Meskipun jika Anda hanya akan menyimpan bangunan dan situs-situs penting seperti itu maka Anda sudah melakukan semua pekerjaan untuk pola soccerball. Hasil akhirnya adalah bahwa Anda menyimpan dunia sebagai beberapa pola non-kuadrat dan kemudian memaksanya ke dalam kotak seperti itu di mana pun pemain berada.
Ada alternatif lain - jika Anda tidak memberi mereka indikasi bola dengan tepat, seperti jika Anda hanya memberi mereka kompas presisi rendah untuk memberi tahu mereka mana dari empat arah ortogonal yang paling dekat dengan Utara, maka Anda bisa pergi dengan hanya melakukan rotasi 90 derajat untuk lokasi apa pun pemain pergi ke. Mengingat tingkat grafis yang diasumsikan itu bukan seolah-olah Anda harus khawatir tentang gedung tinggi yang menutupi pintu. Selama mereka tahu jika mereka berada di dekat kutub atau tidak, mereka tidak boleh terlalu marah tentang kompas yang berubah pada mereka, kecuali jika NPC di sekitar sana menyuruh mereka pergi ke Timur Laut atau mereka mencoba untuk benar-benar pergi ke koordinat lintang dan bujur tertentu .
sumber
Anda mengajukan pertanyaan bahwa orang yang membuat peta telah meminta untuk lama waktu :)
Paling pasti baca di Proyeksi Peta untuk mendapatkan beberapa wawasan dan ide yang mungkin membantu. Tantangan untuk mewakili permukaan bola pada / dengan bidang 2D datar telah menjadi sesuatu yang telah dipikirkan orang sejak lama.
Jawaban singkatnya adalah, tidak, Anda tidak dapat melakukannya. Itulah sebabnya ketika Anda melihat peta dunia, beberapa bagian terdistorsi dan sebagian tidak. Biasanya itu kutub karena sebagian besar peta adalah tentang daerah non-kutub.
Seperti jawaban lain katakan, jawabannya adalah menggunakan bentuk yang berbeda (misalnya heks atau segitiga), atau secara dinamis membuat peta Anda dengan cepat untuk sudut pandang pengguna saat ini.
Ubin persegi cukup mudah untuk dikelola tanpa pertanyaan, tapi saya tidak berpikir membuat peta hex ubin itu sulit.
Inilah artikel yang lebih lama dari GameDev.net yang mungkin berguna bagi Anda. Ini tentang melakukan ubin isometrik dan heksagonal pada kisi.
http://www.gamedev.net/reference/articles/article747.asp
Googling "tiling hex map" akan memberi Anda banyak hit, beberapa bermanfaat, sebagian tidak.
sumber
Saya mengoperasikan beberapa kamera jaringan PTZ dari Sony, model SNC-RX570N, untuk keperluan pelacakan objek bergerak di langit dan melakukan triangulasi untuk mendapatkan trek 3D yang sebenarnya. Salah satu aspek dari pengaturan awal adalah untuk menentukan "tur" tanpa pengawasan, untuk itu waypoint harus dipilih. Ada sejumlah terbatas titik arah yang dapat diprogram seperti itu, dan saya ingin menutupi seluruh belahan bumi ("bola langit") dari horizon ke zenith, tanpa meninggalkan celah.
Jadi saya bertanya pada diri sendiri pertanyaan "Berapa titik minimum waypoint yang saya butuhkan untuk cakupan penuh (tanpa celah)?". Saya telah menemukan bahwa saya sebenarnya tidak dapat sepenuhnya memahaminya.
Kamera ini memiliki wajan tak berujung (360 deg) dan 0-90 deg miring, jadi secara teoritis dimungkinkan untuk mencapai cakupan penuh. Tampilan kamera, yang dimaksudkan untuk penggunaan komputer, adalah aspek rasio 4: 3 segi empat. FOV horizontal kasar pada zoom 1x adalah 58 deg.
Ada dua cara untuk merepresentasikan masalah, tergantung pada proyeksi mana yang dipilih: - bujursangkar seperti Mercator, di mana cakrawala adalah "ekuator", dan zenit adalah "kutub", melebar di lebih dari 360 derajat panci. - kutub, di mana cakrawala adalah keliling lingkaran dan zenit adalah pusat lingkaran.
Saya menemukan kutub cara termudah untuk mendekati masalah. Saya dapat mengukir lingkaran menjadi irisan pai horizontal ukuran FOV, dan ini memberitahu saya bahwa saya memerlukan 7 titik arah di sekitar lingkaran dengan 58 derajat H-FOV. Sejauh ini baik. Jari-jari bagian dalam hanyalah kemiringan atau V-FOV, yaitu 3/4 dari 58 derajat. Sejauh ini bagus - saya sudah membahas bagian terluar dari lingkaran.
Tapi itu menjadi lebih sulit ketika kita mendekati puncak. Saya akan berasumsi bahwa salah satu titik arah saya persis di puncak. Bagaimana cara memetakan persegi panjang tampilan saya ke wilayah di sekitar pusat lingkaran? Apakah itu bentuk persegi panjang, elips, bantalan, atau apa? Bagaimana cara mengisi bit tengah antara cakupan luar yang rapi dan bentuk aneh di zenith? Cemas.
Saya perhatikan bahwa sudut solid suatu belahan bumi adalah steradian 2 * PI, dan sudut FOV saya pada zoom 1x adalah 0,762 st, artinya saya perlu minimal 9 tessellations. Saya menduga jawabannya lebih tinggi dari 9.
sumber
Jika Anda ingin membuat kisi di seluruh dunia, saya sarankan Anda membagi planet ini di negara atau benua, dan membuat kisi persegi yang berpusat di masing-masing. Biarkan laut menutupi lapisannya.
sumber