Maps). DEM forman, USGS (United StatesGeological Survey) tarafından yapılmışgerçek dünya datalarına dayalı olarakoluşturulmuş, yeryüzü dosyalandır. Bunlarsayesinde, örneğin Grand Canyon'unistediğiniz yerini, istediğiniz açıdan görebilirsiniz(Hani belki Grand Canyon'a gitmişve biryerlerde gözünüze enteresan birtaş çarptıysa, alttan, üstten rahatlıkla, hiçbirriske girmeden inceleyebilirsiniz.).DEM dataları ilk yüklendiklerinde, topografik,bölgesel haritalar şeklindedir. Kameranızıistediğiniz bir şekilde bunun üstündehareket ettirerek, bilgisayar tarafındanyaratılmış gerçekçi resimler elde edebilirsiniz.Tabii ki resme gölge, ağaç, kar,gol vs. de eklenebilir. Ayrıca bir path tanımlayıp,son hızla bir kanyonda pike yapıp, bu-nu animasyon olarak kayıt edebilirsiniz.Her iki program da low-res. high-res,interlace, non-interlace, overscan, nonoverscanresim yaratabiliyorlar. Ayrıca:VistaPro, 16/32 renk-Ham-IFF24-Sculpt-Silver;Scenery Animator ise, 16/32 renk, DCTV,IFF24, PCX formatlarını kabul etmektedir.Sonuçta her iki programda da aynı datalarkullanılabildiğine göre, çıktıları damantıken aynı olmalıdır. Böyle bir düşüncedenönce bazı noktalara açıklık getirmeyigerekli görüyorum. Böylece hangiprogramı seçeceğinize kolaylıkla kararverebilirsiniz. İlk fark görüntüde ortayaçıkıyor. Scenery Animator yumuşak hatlı,yakın planda üçgenleri belli etmeyen resimleryaratırken. VistaPro'nun bitki örtü-sü ve atmosfer ayarlamaları daha gelişmiş.Ayrıca kullanım farkı da var.İki program da yanında DEM datalarıylabirlikte bulunuyor. Amerika'da her ayyeni datalar çıkmaya devam ediyor. Yakınbir zamanda, eğer mümkün olursa, sizekendi DEM dosyalarınızı nasıl hazırlayabileceğiniz!anlatacağım. O zamana kadardiskettekilerle idare etmek zorundasınız.Bunlar, Mars, Yosemite, Grand Canyon(favorim) gibi yerler. Eğer iyi bir "atıcı'ysanız.çeşitli seed deneyerek, mükemmelyerler yaratabilirsiniz. Bu programlar hiçişinize yaramazsa. Scenery Animator'de yaxis'i üzerinde yükselerek, harika bir gökyüzüresmi yaratabilirsiniz. Bu görüntülerImagine'de harika sonuçlar veriyor. Tekrargörüşene dek hoşçakahn.AMIGA DÜNYASI 51
AMIGACENKER ÖZKURTHerkese selam! Bu aydan itibaren, <strong>Amiga</strong>intuition library üzerinde çalışmayabaşlayacağız. Fakat bu ay intuitionlibrary'e geçmeden önce, özellikle yenibaşlayan okuyucularımız için genel bir Ctekrarı yapmayı düşündüm. Bunun amacı,geçmiş konularımıza bir göz atmak vevarsa eksiklerimizi kapatmak. Geçmiş konularımızderken, özellikle genel C dilindenbahsediyorum. C'nin genel yapısı, değişkenler,structure'lar, fonksiyonlar vepointer'lar bu ayki tekrarlarımızı oluşturuyor.Evet, şimdi tekrarımıza başlayabiliriz.C'de tekrar yaparken odukça temelden vekısa örneklerle ilerleyeceğiz bu arada yazımızıtakip edenler, bu sayıda böyle biryazı beklemiyorlardı sanırım. Fakat yenibaşlayan arkadaşları da biraz olsun düşünmeklazım. Çünkü biliyorsunuz geleceksayıda yeni bir konuya başlayacağız. Enazından onlar da program hakkında az daolsa yorum yapabilsinler.İlk olarak C'nin genel yapısını bir yorumlayalımisterseniz. Bu arada (<strong>Amiga</strong>Dos hariç) işletim sisteminin C dilinde yazıldığınıtekrar hatırlatalım. Bu nedenle,böyle bir alette C diliyle çalışmak oldukçarahat oluyor. C'nin genel yapışım, kısacamodüler olarak tanımlayabiliriz. Rutin veyamodüller bir kere hazırlandıktan sonra,devamlı kullanılabiliyor.<strong>Amiga</strong>'nın rom'unu da aynı şekilde kullanabiliyoruz.Bildiğiniz gibi, <strong>Amiga</strong> Sistemiderken bu ROM'dan bahsediyoruz.Ayrıca <strong>Amiga</strong> sistemi Library'ler olarakkütüphanelere ayrılmış. Gelecek aydan itibaren,intuition library ile library'leri incelemeyebaşlayacağız.Evet, şimdi C'nin genel yapısındaki değişkenler.C dilinde, birkaç veri tipi vardır.Bunlar:char -> ı byteint-> 2 byteshort int -> 2 bytelong int -> 4 byteunsigned int -> 2 byteAMIGA DÜNYASI 52float -> 4 bytedouble -> 8 byteVeri tiplerini C disketinizde #includedosyaları içerisinden 'exec/types.h' directory'sindenbulabilirsiniz. Bazı Macro değişkentipleri de burada tanımlanmıştır.Ornegin, APTR, BYTE, UBYTE gibi.Bu değişkenler, temel olarak yukarıdaverdiğim tiplerden üretilir.C'de bir değişken tanımlaması şöyle yapılır:main(){int a,b;}a=5; b=a*5;printf("a=%d b=%d\n",a,b);Yukarıda kısa bir C programı görüyorsunuz.Main(), C'nin temel fonksiyonudur.Program her zaman için ilk olarak bufonksiyona sıçrar.Bu nedenle, her programda main() fonksiyonubulunmalıdır.main(){int a;charc='a';}printf("a=%d c=%c\n",a,c);Bu örnekte, bir integer (tamsayı) vechar (karakter) tipinde iki veri tipi görüyorsunuz.Veri tanımlarken veri atama dayapılabiliyor, char c='a' buna bir örnek.Printf() fonksiyonu ise temel fonksiyonlardanve ekrana bilgi göndermemizi sağlıyor.Tırnak işaretleri arasında yazılacakformu saptıyoruz. % işareti, bir komut niteliğindeve arkasındaki karakter veri tipininformunu belirtiyor.Bu formlar şöyle:%o -> oktal tamsayı%d -> desimal tamsayı%x -> hex tamsayı%c -> karakter%s -> karakter dizisi%f -> float noktalı sayıBu formlar aynı zamanda sprintf(),cprintf() gibi temel C fonksiyonlarında dakullanılmaktadır.Main(){char s[ 10];pi=3.1415strcpy(s,"0123456789")printf("s=%s pi=%f\n",s,pi);}Benzer şekilde,main(){charx[<strong>30</strong>];chars[10]="0123456789";float e=2.7;sprintf(x,"s=%s e=%f\n",s,e);printf("%s",x);}Buradaki sprintf() fonksiyonu, aynıprintf() fonksiyonu gibi çalışmaktadır.Aradaki fark, printf() sonucu ekrana yazarken,sprintf() verilen değişkene yazmaktadır.Yukarıdaki programda 'x', verilendeğişkendir. Ve uzunluğu en azındantoplam form kadar olmalıdır.C'de fonksiyon kullanımı da şu şekildeoluyor:Main(){int a;}min(a.b)int a,b;{int r;}a=min(10,%)printf("min=%d\n",a);if(a