
(Bu Sayfa 800x600pix 24/16Bit Ekran Kartı & Netscape'e Göre Dizayn edilmiştir!)
Bilgisayar ve Grafik. Bazılarına göre sanat bazılarına göre değil. Bence tek sınırı hayal
gücü olan bir dünya. Yaratıcısına sonuna kadar açık. Örneğin bu dünyada gümüşten bir insan
yapmanız yada moleküllerin arasına girmeniz mümkün. Tek sınır hayalgücü. Sakın pahalı
prodüksiyonların -PAHALI- olmasına aldanmayın. Bu sayfayı tüm renkleriyle görebiliyorsanız
gerekli donanımınız var demektir. Bundan sonra tek ihtiyacınız olan şey zaman ve biraz bilgi.
Gerisi hayal gücünüze ve isteğinize bağlı.
Yeni Başlayanlar
Eski Başlayanlar
Başlamak istemeyenler
Her türlü fikir/soru için
birhant@anadolu.net 'a yazın.

eni başlayanlar için
3D nedir diyenler ilk sayfaya baksın. İşte bir 3D örneği, ilk sayfadaki parçalı grafik.
3D tabiiki ingilizce bir kısaltma. Açılımı, 3 Dimension - üç boyut -. 3D Grafikleri
hazırlayabilmek için kullanılan pekçok teknik vardır. En yaygın ve en realistik görüntü
veren teknik "RAY TRACE" (Işın Tarama/Takip) tir. Bu teknikte ışık kaynağından çıkan ışınlar
fizik yasalarına göre matematiksel olarak taklit edilir ve kullanıcının yarattığı 3 boyutlu boşlukta
takip edilerek görüntü oluşturulur. Gerçek uzayda dört boyut olduğu kabul edilir. Bu boyutlara pek yabancı değiliz.
1 ) Genişlik
2 ) Yükseklik
3 ) Derinlik
4 ) Zaman
Ancak zaman boyutu yalnızca animasyon için gerekli olduğu için şimdilik atlıyorum.
Üç boyutlu grafiği oluşturabilmek için bir kaç temel nesneye ihtiyacımız var. Görmek istediğimiz
nesne, nesneyi görebilmemiz için bir ışık kaynağı, bir bakış noktası, bir bakılacak nokta ve
bütün bunları tanımlayabilmek için bir koordinat sistemi.
Koordinat sistemi elimizdeki en basit şey. Aynı zamanda en iyi anlaşılması gereken şey. Önce
soldaki resme bakın. Monitorünüzün sol alt köşesinin şekildeki çubukların merkezinde olduğunu düşünün.
Bu durumda Monitorünüzün solu -X, sağı +X (Genişlik), aşagısı -Y, yukarısı +Y (Yükseklik)
, Arkası +Z ve sizin olduğunuz taraf -Z (Derinlik) olacaktır. Herşey bu üç koordinat içinde
sayılarla tanımlanır. Bu yüzden koordinat sistemini anlamak çok önemlidir. Çünkü ilk bakışta
basit görünen bu sistem, üç boyutlu dünyadaki her nesne için ayrı ayrı ve birleşik olarak
vardır. Nasılmı? Baktığınız noktanın kendine ait pozisyon koordinatları vardır. Bunun yanı sıra
baktığınız noktanın (Görmek istediğiniz değil, bakmak için durduğunuz noktanın) yön koordinatları
vardır ve son olarak baktığınız (Görmek istediğiniz) noktanın pozisyon koordinatları vardır.
Bütün bu koordinatlar üç boyutlu dünyaya göre "RÖLATİF"'dir. Yani üç boyutlu dünyanın
merkezi 0 kabul edilir ve bütün koordinatlar bu "SIFIR" noktasını baz alırlar. Ancak bu dünyada
yer alan her nesnenin kendi koordinat sistemi vardır. Ana dünyaya rölatif olan yalnızca bu
koordinat sisteminin "0" noktasıdır. Burada kafa karıştırıcı olan nokta, gerçekte bir "SIFIR"
noktasının olmamasıdır. Bu nokta bizim tarafımızdan sayılarla belirlenir. Üstelik bu dünyada Metre,
Santim, Kilo gibi birimler yoktur. yalnızca sayılar vardır ve bu sayılar X,Y, Z ve -X,-Y,-Z için
0 dan sonsuza kadardır. Yani bu dünyada bir kibrit kutusuyla bir kamyon arasında boyut farkı
yoktur. Yalnızca "0" noktasına rölatif birer koordinat sistemleri vardır.
Yer ve zaman problemimiz var. Bu yüzden lafı daha uzatmadan diğer nesnelere geçelim.
(Yazının bundan sonrasına konuya yeni başladığınızı ve ingilizce bilmediğinizi varsayarak devam ediyorum.
Konuda ilerledikçe gerek ilgili programlarda gerek yazılarda rastlayabileceğiniz kelimeleri
ingilizce ve mümkün olduğunca türkçe yazmaya çalışacağım.)
Şimdi bize görebileceğimiz bir nesne (Object/Obje) gerek. Gerçekte hiç bir şey olmayan
bu dünyada bir nesne (Object/Obje) yaratmanın tek yolu matematik. Gerçek dünyada nesneler
atomlardan oluşur. Atomların birer noktacık olduğunu düşünün. En basit nesnede bile milyarlarca
atom olduğuna ve herbirinin koordinatlarını tek tek hesaplamaya ne ömrümüz nede bilgisayarımızın
kapasitesi yetmeyeceğine göre, nesneleri basit noktalara bölerek, noktaları birer çizgiyle
birleştirmek en pratik yol. Bu yüzden bir küp gibi "BASİT" bir Obje'ile başlayalım. Bu Küp'ün
merkezi (yani kendi koordinat sisteminin "SIFIR" noktası) tam ortasında olsun. boyutlarıda
20 birim'e 20 birim olsun. Bir Küp'ün sekiz köşesi olduğuna göre sekiz koordinat'la tanımlayabiliriz.
Sağdaki şekli inceleyin. Küp'ün noktaları'nın (Point/Nokta) (1-8) merkez'e (Origin/referans Noktası)
"RÖLATİF" olmasının nedemek olduğunu açıkça gösteriyor sanırım. (-10 dan +10'a 20 birim vardır. Bizim
Objemizin genişliği, yüksekliği ve derinliği 20'şer birimdir.) Böylece 3D Obje'nin nasıl yapıldığını
artık biliyorsunuz. Unutmadan, noktalar (Point/Nokta) görünen nesneler değildir. yalnızca
koordinatların gösterdiği "NOKTA" dırlar. 3D dünyasında yalnızca yüzeyler görülebilir. Ve bir yüzey
oluşabilmesi için en az üç noktaya ihtiyaç vardır (Triangle/Üçgen). İki noktayı birleştiriseniz bir
doğru elde edersiniz. ancak doğruların alanı yoktur yani bir yüzeyleri olamaz. Bu yüzden nesneler
üçgen yüzeylerden (Triangles) yada üç'ten fazla noktanın birbirleriyle birleştirilmesinden (Poligon)
oluşurlar. Örneğimizdeki Küp'ün her yüzeyinde dörder nokta olduğu için Poligon'lardan oluşmuştur.
Birden fazla noktayla birleşen noktalar (Point/Nokta), "VERTEX" (Vertex/Köşe) adını alırlar.
Peki mademki tek başına olunca nokta deniyor ve tek başına olunca görülemiyorlar neden noktalar var?
neden yalnızca Vertex'ler kullanılmıyor? Çünkü her nokta tek başına birer koordinat sistemi
merkezidir. Bir nokta başka noktalara bağlanmayıp, tek başına referans olarak kullanılabilir.
Ancak bu durum animasyon yada bir birine bağlı objeler için gereklidir(El ve parmaklar gibi).
Bu amaçla kullanılan noktalara Pivot Point (Mil/Eksen Noktası) denir. Obje yapmak için bir başka
yöntemde SpLine (Space Line/Boşluk Çizgisi veya teğet diye açıklanabilir) kullanmaktır. Point
gene başroldedir. Ancak bu kez adı Curve (Viraj) olur. Üç yada daha fazla noktadan geçen bir doğru
düşünün. Bu bir SpLine'dır. Oldukça karışık hesaplamalar gerektirdiği için bu yöntemle yüzey
yaratmak çok zordur. Bu yüzden daha çok animasyonlarda Path (Rota) çizmek için kullanılır. Bir SpLine'da
sonsuz sayıda nokta olduğu için SpLine'dan oluşan Objeler çok daha yumuşak ve realistik görünümlü
olur. Ama belirttiğim gibi hesabı zordur bu yüzden yaygın olarak kullanılmaz.
Kısaca objeler Yüzey(Face)'lerden, Yüzeyler üçten fazla köşeliyse Poligonlardan, üç köşeliyse Triangle'lerden
Poligon ve Triangle'ler noktalardan, noktalarda koordinatlardan oluşur.
Çeşitli 3D tekniklerinde karşımıza çıkacak yüzey çeşitleri bunlardan ibaret. Ama iş yüzeylerle bitmiyor tabiiki.
Bazı programlarda/Yazılarda "Normals", "Pigment", "Texture", "Map" gibi terimlerle karşılaşacaksınız. Bunlar
basitçe şunları anlatmaya çalışır.
NORMALs: Bir yüzeyin görülebilir tarafı onun "NORMAL" i dir. Bu koordinat sırasıyla belirlenir.
Küp örneğinde Köşeler saat yönünde 1,2,3,4 diye sıralanmıştır. Bu sıralamaya göre, yüzeyin dışa dönük
kısmı "NORMAL" yani görülebilir dir. Eğer Küp'ün içinden dışarı bakarsak dışarıyı görebiliriz.
Ama Point koordinatlarını 4,3,2,1 diye verirsek yüzeyin "NORMAL" i içe bakan kısmı olur ve Küp'ün merkezinden
dışarı baktığımızda Küp'ün duvarını görürüz. Bu "RAY TRACE" işleminin kısalması açısından önemlidir.
Yüzey Normalleri olmazsa her yüzey için (Bir görünen, iki aynı yüzeyin görünmeyen kısmı için)
iki kez hesap yapmak gerekecek, buda "RENDER" (Hesap) süresini gereksiz yere uzatacaktır.
PIGMENT: Bir yüzenin ışığı yansıtma özelliklerine PIGMENT denir. Pek çok programda "SURFACE COLOR"
olarak geçsede burada bir terminoloji karışıklığı söz konusudur. Örneğin 3D Studio'da "METERIAL", POV-RAY'de
"PIGMENT", Imagine'de "TEXTURE", LightWave'de "SURFACE" başlığı altındadır. Söz konusu olan yalnızca
"YÜZEY RENGİ" değildir. Yüzeyin Yansıtma özelliği, Geçirgenliği, Işığı Kırma miktarı, Işığı Emme miktarı,
Parlaklığı vb. bir arada yüzeyi oluşturduğu için, çeşitli programlar ne derse desin aynı şeyi ifade etmeye
çalışırlar. Ancak yüzey oluşturmada farklı yöntemler kullandıkları için, aynı işe farklı isimler veriyorlar.
Ben kısaca "SURFACE" - Yüzey diye tanımlamayı tercih ediyorum.
TEXTURE: Bir yüzeyi gerçekçi göstermek için biraz bozmak veya renklendirmek gerek. İşte bu "TEXTURE" kullanarak
yapılır. Texture'ı basitçe "yüzeyin regini belli bir düzene göre bozmak" şeklinde açıklayabiliriz. Örneğin mermer
benzeri bir yüzey için yüzeye mermer renklerinden şeritler çekip, rasgele boyutlarda "S" ler çizmek veya granit
benzeri bir yüzey için yüzeyin üzerine giri tonlarda ve sık noktacıklar atmak gibi. Texture'lar
objenin yapısını hiçbir şekilde değiştirmezler. Yalnızca yüzey rekleri üzerinde matematiksel oyunlar oynarlar.
Sonuç oldukça etkileyicidir. (Hala farketmedinizse Bakınız Solda bi kaç Texture örneği.)
Nasıl? Eski Küp'ümüz böyle daha renkli ve etkileyici olmadımı? oysa hiç bir şey değişmedi. Hala 8 noktadan
oluşuyor ve yüzeyleride bir cetvel kadar düz. Ama TEXTURE mucizesi (ve matematik) düz yüzeylere
realistik bir görünüm vermeyi başarıyor. En alt sağdaki örnekte aynı zamanda "BUMP" (Yükselti)
tekniği kullanılmıştır. Bu yöntemde yüksek bölgeler açık, alçak bölgeler koyu renkte boyanır ve
obje girintili çıkıntılı bir görünüm alır. Oysa yüzey düzdür. Böyle dalgalı bir obje yapmaya
kalkmak, geçmek bilmeyen saatlere ve bir türlü bitmeyen hesaplara sebep olduğu için "BUMP" çok
ideal bir yöntemdir. Eğer sabit resim değilde bir animasyon olsaydı, Küp üzerindeki dalgaların
hareket ettiğini görebilirdiniz.
Bir başka SURFACE tekniğide "MAPPING" dir. Yani harita. Tabii karayolları haritası değil sözü
geçen. (Örnek sağda) Bu yöntemde herhangi bir resim, objenin üzerine "ÇIKARTMA" gibi yapıştırılır.
Böylece detaylı nesneler yapmak kolaylaşır. (Desen, kaş, göz, düğmeler gibi) Map yöntemide
kendi içinde çeşitlere ayrılır. Hem yapıştırma şekli olarak hemde boyama şekli olarak. En basit
map yöntemi Planar yani düz yüzey kaplamadır. Planar Map objenin "TEK BİR YÜZÜNE" kaplanır.
ikinci yöntem Cubic yani kübik kaplamadır. Map Objenin tüm yüzeylerine kaplanır. Üçüncü yöntem
Spherical yani Küresel kaplamadır. Bu yöntemin Cubic'ten farkı, Map ile objenin "SARILMASI" dır.
Aynı bir paket gibi Map objenin her yanını sarar ve obje şekline göre deforme olur. Son sarma
yöntemi de Cylindrical yani silindirsel kaplamadır nasıl çalıştığını anlatmaya gerek varmı?
Boyama yöntemleri ise şöyle, image Map; Resim olduğu gibi boyanır, Bump Map; Resmin koyu bölgeleri
çökerti, açık bölgeleri yükselti gibi kullanılır. Bump Map için kullanılan resim obje üstüne
çıkmaz. Yalnızca kabartı olarak görünür, Reflection Map;resmin parlak bölgeleri aynalaşır,
transparency Map; Resmin açık renk kısımları altını göstermeye başlar.(Şeffaflaşır). Birinci örnek
"Planar Image Map" tır. Resim objeje tek koordinatta basılmıştır. İkinci örnek ise "Cubic Bump Map"
tır. Resim Küp üzerine basılmamıştır ama kabartı olarak gözükür ve Cubic olduğu için bütün yüzeylerde
aynı resim vardır. Objeyi tanıyorsunuz. Bizim meşhur Küp. Kullandığım Image Map'lar ve sonucu
yanyana. Artık ne olduğunu anlamışsınızdır sanırım.-(Yazarak anlatmak çok zor birşey. Bir deneyin..)
Bu var olmayan dünyada ihtiyacımız olan bir diğer nesnede ışık kaynağı. Aynı gerçek dünyada olduğu gibi buradada ışık olmadan hiç bir şey göremeyiz. Ancak gerçek dünyada bir ışık kaynağına baktığımızda, gözümüzü alan parlak bir nokta görürüz. 3D dünyasında ise hiçbirşey göremeyiz. Çünkü gerçek bir ışık kaynağı yoktur. Yalnızca bir ışık kaynağı olduğu varsayılan, koordinatlarla belirlenmiş bir nokta vardır. Ve bu nokta, çevresindeki tüm nesneleri aydınlatır. Peki ama gerçek dünyada böyle olmazki.... Bir ışık kaynağı ancak yansıdığı yüzeyi aydınlatır. Üstelik ışık uzaklaştıkça parlaklığı zayıflar. O halde bize varsayılan ışıktan farklı, sınırları olan bir ışık kaynağı lazım. Peki Otomobil farı, el feneri huzmesi gibi ışık kaynakları nasıl yapılacak? Hadiii bi çeşit ışık kaynağı daha.... ha bide fosforlu bir nesne yapmak istersek? yada bir ateşböceği? Güneş? O zaman Objenin kendisi bir ışık kaynağı olmak zorunda. Bütün bunları bir araya toplarsak dört çeşit ışık Objesi olduğunu görürüz.
1 ) Global: (Aslında küresel demek ama burada GENEL manasında kullanılıyor) Global ışık kaynağı belli bir noktadan çıkmaz. Yalnızca yönü bellidir. Yani bir Objenin önünde ise objenin önü aydınlanır. Ancak yanyana dizilmiş bir çok obje olduğunu düşünün. Aydınlanma hepsinde aynı miktarda olacak, sadece konumlarına göre aydınlanan kısım değişecektir.
2 ) Point Source: Nokta Kaynak. Global'den farklı olarak ışık belli bir noktadan çıkarak her yöne dağılacaktır. Böylece Objeler üzerinde aydınlanan bölgeler ve aydınlanma miktarı farklı farklı olacaktır. Aynı zamanda ışık "MESAFE" ile kısıtlanmıştır. Yani ışık kaynağı Objeden uzaklaştıkça Obje karanlıklaşacaktır.
3 ) Spot: Adındanda anlaşılacağı gibi ışık istediğimiz açıda bir koni gibi (El feneri huzmesini düşünün) yayılacaktır. Buradada mesafe ışık etkisini değiştirecektir. Işık kaynağı Objeden uzaklaştıkça aydınlattığı alan genişlerken, aydınlatma miktarı azalacaktır.
Sanırım örneklerde yeterince açık. Ayrıntılar şöyle;
Işık kaynağı olarak tanımlanan objeler (Ateş böceği veya Ampul gibi) "Point Source" gibi davranırlar. Işığın mesafe ile zayıflaması pek çok programda kontrol edilebilir bir olaydır. Yani pek çok program mesafenin ışığa etkisini kaldırmaya izin verir. Spot ışıklarda merkezin çevreye göre parlak olması veya tersi, Koni çapı ayarlanabilir. Işık kaynakları görülemezler demiştim. Bazı programlarda ışığı görünür yapma seçeneği vardır. Gerçekte ışık görünmez ama resim hesaplandıktan sonra, ışığın bulunması gereken nokta "BOYANIR". Örneklerde ışığın yeri anlaşılsın diye bu yöntemi kullandım. Bu arada tabiiki ışık şiddeti ve rengi istenildiği gibi ayarlanabilir, istenilen sayıda ve çeşitte ışık kullanılabilir. (Bakınız aşağıdaki örnek)

Yukarıdaki örneklerde, merkezde biri tam karşıya bakan beyaz, diğeri tam sola bakan kırmızı iki spot, sol altta Kırmızı, Yeşil, Mavi renkli "GÖRÜNMEZ" üç point, sağ üstte gene üç renkte ama "GÖRÜLEBİLİR" üç adet point olmak üzere, birbirlerinden farklı toplam 8 adet ışık kaynağı var. İki örnek arasındaki farkı hemen farkettiniz tabii. Birincisinde gölge var, diğerinde yok. Gerçek dünyadaki herşey 3D dünyasında yapılamayacağı gibi, gerçek dünyada yapılamayacak şeyler 3D'de yapılabiliyor.
Her türlü fikir/soru için birhant@anadolu.net 'a yazın.
Başa Dön |
Eski Başlayanlar |
Başlamak istemeyenler |
Terimler |
Arşiv |
Anadolu
Net
ski başlayanlar için
Her türlü fikir/soru için
birhant@anadolu.net 'a yazın.
Başa Dön |
Yeni Başlayanlar |
Başlamak istemeyenler |
Terimler |
Arşiv |
Anadolu
Net
aşlamak istemeyenler
Her türlü fikir/soru için
birhant@anadolu.net 'a yazın.
Başa Dön |
Yeni Başlayanlar |
Eski Başlayanlar |
Terimler |
Arşiv |
Anadolu
Net
3D Arşiv
(Bu arşivdeki Programlar/Dosyalar FreeWare ve
ShareWare sınıfındandır. Serbestçe kopyalanabilir ancak satılamaz, yapımcısının izni olmaksızın
CD-ROM içinde, BBS ile vb. TİCARİ AMAÇLA DAĞITILAMAZ)
Terimler Sözlükcüğü
FreeWare :
Ücretsiz kullanılabilen yazılım. yani bedava!
ShareWare :
Yapımcının isteğine göre belli bir süre kullanılabilen, süre dolduğunda ücretini
ödemediyseniz bilgisayardan silmek zorunda olduğunuz yazılımlar. Demo'ların aksine
yazılımın tüm fonksiyonları çalışır ve bazı yazılımlarda süre sonunda kendiliğinden
çalışmaz olur. Verilen süre sonunda
ödeme yapmazsanız ve programı silmezseniz bu Yazılım hırsızlığı kapsamına girer.
Doğal olarak böyle bir durumun tespiti pek mümkün değildir, yazılımcı size güvenmek
zorundadır. Ancak yazılımların gelişimini desteklemek ve devamını sağlamak için
Lütfen bu güveni sarsmayın. Bir ShareWare yazılım size kullanışlı geldiyse
ödeyin. Yazılımın hazırlanması için harcanan zaman ve emeği düşünürseniz
talep edilen ücretlerin pek yüksek olmadığını farkedeceksiniz.
Her türlü fikir/soru için
birhant@anadolu.net 'a yazın.
Başa Dön |
Yeni Başlayanlar |
Eski Başlayanlar |
Başlamak istemeyenler |
Arşiv |
Anadolu
Net