14.01.2015 Views

yönet‹m

yönet‹m

yönet‹m

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

de, yaratt›¤›n›z nesneleri görmemize<br />

olanak sa¤layan bu iki önemli ö¤eyi inceleyelim.<br />

Ifl›klar›n aç›lmas›<br />

Yukar›daki örnekteki koninin rengini<br />

k›rm›z›ya (255, 0, 0) ayarlayacak ve<br />

iki ›fl›k kayna¤›n› kald›racak olsayd›n›z,<br />

sonuçta ortaya ç›kan görüntü, beyaz<br />

artalanda siyah bir koni gösterirdi.<br />

Üzerinde bir ›fl›k kayna¤› parlamad›kça,<br />

koninin k›rm›z› yüzeyi ortaya ç›kmaz.<br />

Bu sorunu, en az bir adet ›fl›k kayna¤›<br />

ekleyerek çözebilirsiniz. Ifl›¤›n<br />

rengini en ortaya ç›karan beyaz ›fl›kt›r,<br />

bu nedenle ›fl›¤›n beyaz olmas› en uygunudur.<br />

Tek bir ›fl›k kayna¤›, alan›n›zdaki<br />

nesnenin ya da nesnelerin yaln›zca tek<br />

bir yan›n› ayd›nlatacakt›r. Karfl› tarafa<br />

baflka bir ›fl›k kayna¤› eklemeniz nesneleri<br />

daha da görünür k›lar. ‹ki beyaz<br />

›fl›k kullan›rsan›z, bunlar nesneye pek<br />

bir kiflilik katmaz, çünkü karfl›t aç›lar<br />

yaln›zca nesnenin renginin de¤iflik<br />

tonlar›n› yans›t›r.<br />

Önceden de tart›fl›ld›¤› gibi, bunun<br />

yerine, bu örneklerde beyaz renkli<br />

nesneler oluflturup onlar› renkli ›fl›klarla<br />

ayd›nlatacaks›n›z. Bu, her bir nesnenin<br />

özelliklerini ortaya ç›kacak olan<br />

daha çok ton ve renk özünün kullan›lmas›na<br />

olanak tan›r.<br />

Renklerin denetlenmesi<br />

Yukar›daki örnekte, Image_3D_Color<br />

s›n›f› kullanarak koni nesnesinin rengini<br />

belirlediniz. Yap›c›n›n ilk üç parametresi,<br />

istenen rengin RGB de¤erleridir.<br />

Burada gösterilmeyen dördüncü<br />

parametre ise, alpha transparency parametresidir.<br />

Komut dosyan›za 150<br />

de¤erini ekledi¤inizde, k›smen fleffaf<br />

bir koni oluflturursunuz.<br />

$cone->setColor(new Image_3D_<br />

Color(255, 255, 255, 150));<br />

fiekil 4 içinde, fleffafl›¤›n koni üzerindeki<br />

etkisi gösterilir.<br />

Küpler<br />

Koniler gibi, küplerin de yarat›lmas›<br />

kolayd›r. Küp oluflturmak için yaln›zca<br />

birkaç çokgen gereklidir, üstelik, bofiekil<br />

4. Üst üste<br />

yerlefltirilmifl iki adet<br />

3 boyutlu koni<br />

nesnesi, her ikisinde<br />

de 150 de¤erinde<br />

alfa fleffafl›k<br />

uygulanm›flt›r.<br />

Liste 3. 3 boyutlu nesnelere metal görüntüsünün uygulanmas›<br />

require_once('Image/3D/Color/Metal.php');<br />

$cone = $world->createObject('cone', array('detail' => 64));<br />

$metal = new Image_3D_Color_Metal (255,255,255);<br />

$metal->setMetal(1.25);<br />

$cone->setColor($metal);<br />

Krom görüntüsü verin<br />

RGB renklerine uygulanabilen bir etki<br />

daha vard›r: krom görüntüsü! Koninin<br />

rengi olarak standart Image_3D_Color<br />

nesnesini sa¤lamak yerine, yeni bir<br />

Image_3D_Color_Metal nesnesi oluflturun<br />

(Image/3D/Color/Metal.php'yi<br />

eklemeyi unutmay›n, di¤er s›n›flar gibi<br />

Image/3D.php taraf›ndan eklenmez).<br />

Bkz. Liste 3.<br />

setMetal() yöntemi, parametre olarak<br />

de¤ifliklik gösterir. Biraz deneyim<br />

kazan›ld›¤›nda, 0.5 ve 2.0 aras›ndaki<br />

de¤erlerin en iyi etkiyi ortaya ç›kard›¤›<br />

görülür. 2.0 üzerindeki bir de¤er, görüntünün<br />

tamamen parlamas›na neden<br />

olur. Koninin renk ve ›fl›¤›n›n nas›l etkilendi¤ini<br />

görmek için bu de¤erle oynayabilirsiniz.<br />

Nesnelerin ve flekillerin<br />

de¤ifltirilmesi<br />

Daha önce Adobe Photoshop program›ndaki<br />

dönüfltürme arac›n› kulland›ysan›z,<br />

büyük olas›l›kla onun tafl›ma, ölçekleme,<br />

döndürme, çevirme ve çarp›tma<br />

ö¤elerine al›fl›ks›n›zd›r. 3 boyutlu<br />

nesnelerin ve alanlar›n transform<br />

yöntemi, bu arac›nkine benzer.<br />

Dönüfltürme matrisleri<br />

Bu terim sizi korkutmas›n. Pratikte,<br />

dönüfltürme matrisi, asl›nda yaln›zca<br />

bir nesnenin tafl›nmas›n›, ölçeklenmesini<br />

ya da döndürülmesini sa¤layan bir<br />

denetimdir. Bu, ilk olarak Image_3D_Matrix<br />

yarat›p sonra onu bir<br />

transform() yöntemine geçirerek elde<br />

edilir. Sonuçta, bu pek de zor de¤ildir.<br />

Afla¤›da üç örnek verilmifltir (her<br />

bir matrisin ikinci parametre olarak üç<br />

de¤erli bir dizilim ald›¤›na dikkat edin):<br />

$obj->transform($world->createMatrix\<br />

('move', array(-50, -30, 10)));<br />

$obj->transform($world->createMatrix\<br />

('scale', array(70, 220, 70)));<br />

$obj->transform($world->createMatrix\<br />

('rotation', array(45, 0, 0)));<br />

'Move' (Tafl›) matrisinin dizilim de-<br />

¤erleri, X, Y ve Z eksenlerindeki hareketi<br />

belirtir. 'Scale' (Ölçeklendir) matrisine<br />

uygulanan de¤erler, ayn› üç eksen<br />

boyunca ölçekleme derecesini belirtir.<br />

'Rotation' (Döndürme) matrisine<br />

iliflkin de¤erler, her bir eksende 0 -<br />

360 dereceler aras›ndaki döndürme<br />

miktar›n› belirtir. fiekil 5 içinde nesnenin<br />

hangi yöne döndürüldü¤ü gösterilir<br />

(ters yöne döndürmek için eksi de¤erleri<br />

uygulayabilirsiniz).<br />

Dönüfltürmeler nerede ve<br />

fiekil 5. X, Y ve Z<br />

eksenlerinde<br />

döndürme yönleri.<br />

ne zaman uygulan›r<br />

Bu dönüfltürmelerin her biri tek bir nesneye<br />

ya da 3 boyutlu alan›n bütününe<br />

uygulanabilir. Yaratt›¤›n›z ilk örnek görüntünün<br />

alan›nda, bir koninin nas›l<br />

döndürülebilece¤ini, ölçeklendirilebilece¤ini<br />

ve tafl›nabilece¤ini gördünüz. Dönüfltürme<br />

ifllemini koni yerine $world<br />

nesnesine uygulam›fl olsayd›n›z, 3 boyutlu<br />

alandaki herfleyi etkilerdi; alandaki<br />

tüm nesneler ve ›fl›klar, büyük bir<br />

boflluk olarak, bütünüyle etkilenirdi.<br />

Dönüfltürmeler, belirtilen s›rayla<br />

her bir nesneye uygulan›r. Bu size aç›k<br />

gibi görünebilir, ancak önce, nesnelere<br />

birer birer ve sonra da alan›n bütününe<br />

olmak üzere birden çok dönüfltürme<br />

uyguluyorsan›z, dönüfltürmelerinizi<br />

eklerken s›raya dikkat etmedi¤inizde<br />

beklemedi¤iniz sonuçlarla karfl›laflabilirsiniz.<br />

Ek nesneler<br />

Koninizin ›fl›kland›r›lmas›, renklendirilmesi<br />

ve konumland›r›lmas›na iliflkin<br />

pek çok ayr›nt›y› tamamlad›n›z. fiimdi<br />

de Image_3D'de baflka hangi tip nesnelerin<br />

yarat›labilece¤ine dönelim.<br />

54 HABER LINUX

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!