Forum'da ara:
Ara


Yazar Mesaj
Mesaj22.06.2008, 22:31 (UTC)    
Mesaj konusu: 3D nedir geniş anlatım

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- 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 hesapla***ar 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 "Nor***s", "Pigment", "Texture", "Map" gibi terimlerle karşılaşacaksınız. Bunlar basitçe şunları anlatmaya çalışır.
NOR***s: Bir yüzeyin görülebilir tarafı onun "NOR***" 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ı "NOR***" 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 "NOR***" 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 Nor***leri 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.

______________
Mesaj13.09.2008, 23:33 (UTC)    
Mesaj konusu:

güzel payşım sağol kardeşim ama tamamını okumadım
işimede yaramaz herhalde
______________

Siz de Toplistimize Katılın Gunluk 500 Tekil istatistiklerimiz acık pr 2 ilk 3 ana sayfada http://naatlar.tr.gg/toplist.htm
Mesaj17.09.2008, 23:08 (UTC)    
Mesaj konusu:

Ben de tamamen okumadım .Ama 3 boyutlu değil de 4 boyutlu tasarım yapmak için heralde.
Forumlarda konular sesli anlatım olsa ne güzel olurdu. Gözümüz ağırıyor zaten günde 12 saat net başında Sad
Mesaj10.10.2008, 18:34 (UTC)    
Mesaj konusu:

yorumlar için teşekkürler Wink
______________
Önceki mesajları göster:   


Powered by phpBB © 2001, 2005 phpBB Group
Türkçe Çeviri: phpBB Türkiye & Erdem Çorapçıoğlu