Bu konu yazılımdan çok matematiksel bir konu fakat yapmaya çalıştığım bu bilimsel makaledeki formülleri kullanarak oyunda disk şeklinde bir harita sistemi oluşturmak. Aşağıdaki resimdeki gibi her tile eşit alana sahip olacak: Makaledeki bazı formülleri anlamakta zorlanıyorum. Mesela, buradaki eşitliği nasıl elde ettik? Bu harita sistemini kullanan oyunlar olmasına rağmen bu konuda internette hiçbir kod implementasyonu bulamadım. |
Diskin eşit alanlı parçalara bölünerek oluşturulacak grid sistemi
-
-
Trigonometrim hiç iyi değildir, ama dıştan içe daireler çizip, sonrada eşit açılarla ikiye bölen çizgiler ile şekil oluşturlabilir gibi ama tabi sana lazım olan şey ile alakasız. :)
-
matematiksel olarak şöyle düşünelim en içteki dairenin yarıçapı r olsun alanı haliyle pi r^2 olacak ikinci sıradaki dilimlerin alanlarını içteki dairenin alanına eşitlemek için şöyle düşün ikinci dairelerin yarıçapı 3r olsun (r ilk daire yarıçapı 2r diğer kısım) toplam alan pi 3r^2 = 9 pi r^2 dir ilk daireyi bundan çıkarırsan 8 pi r^2 kalır dolaysıyla 8 e bölersen dilimlerin herbirinin alanı pi r^2 olur 3. sıra için yarıçap 5r olsun toplam alan pi 5r^2 = 25 pi r^2 dir ikinci daireyi çıkartırsan 25 pi r^2 - 9 pi r^2 = 16 pi r^2 kalır yani 16 dilime bölersen alan yine eşit olur
tabi bu dediğim yarıçapı eşit dağitırsan olur daha fazla dilim elde etmen için yarıçapı bir birimden az arttırman lazım bence
-
Aslında zorlandığım kısım bunu yüzük sayısının fonksiyonu cinsinden yazıp her hücrenin eni boyu eşit olacak şekilde fonksiyonu düzenlemekti, makalede onu anlatıyor formüller kafama ilk bakışta oturmamıştı. Makalede aspect rationun her alanın kare olması için pi 'ye eşit olması gerektiği yazıyor. Bunu da göz önünde bulundurarak (5) deki formülden ki 'yı çektim oradan yüzük sayısını girince hücre sayısını üreten fonksiyonu buldum. Sorun şu ki bu formüllerden grid sistemi oluşturan grafik shader'i programlamam gerekiyor ama bu da beni çok aşan bir olay o yüzden şimdilik bunun üzerinde çalışmayı bıraktım.
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X