14.01.2015 Views

yönet‹m

yönet‹m

yönet‹m

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

yutlar› ne olursa olsun, tüm küpler ayn›<br />

düzeyde ayr›nt› içerir. Küp yarat›rken,<br />

createObject() için ikinci parametre,<br />

kübün geniflli¤i, yüksekli¤i ve<br />

derinli¤inden oluflan üç de¤erli bir dizilimdir.<br />

Küp olufltururken, Liste 1 içinde<br />

$cone yerine afla¤›daki sat›rlar› yazabilirsiniz:<br />

$cube = $world->createObject('cube',<br />

array(100, 100, 100));<br />

$cube->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$cube->transform($world->\<br />

createMatrix('rotation', array(-<br />

60,60,40)));<br />

Sonuçta ortaya ç›kan görüntü flöyle<br />

olur:<br />

fiekil 6. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu küp.<br />

Küreler<br />

Liste 1 içindeki ilk örne¤inizi düzelterek<br />

devam edersek, koniyi küre ile de-<br />

¤ifltireceksiniz. Burada, ikinci parametre,<br />

kürenin yar›çap›n› simgeleyen r<br />

için bir de¤er ve nesnenin görece düzgünlü¤ünü<br />

tan›mlayan bir tamsay›<br />

olan detail (ayr›nt›) de¤erini içeren bir<br />

Hash algoritmas› olacakt›r. Detail de-<br />

¤eri, 1 kadar küçük olabilir, ama bu durumda<br />

nesne, küreden çok buruflturulmufl<br />

ka¤›t topa¤›na benzeyecektir, bu<br />

de¤er artt›kça, nesnenin kalitesi ve<br />

gerçekleme süresi de artar. Detail<br />

ö¤esinde en iyi de¤erler 4, 5 ya da<br />

6'd›r. 6'dan daha yüksek bir de¤er kullan›ld›¤›nda<br />

gerçekleme süresi, saniyelerle<br />

de¤il, ancak dakikalarla ölçülebilecek<br />

kadar uzun olur.<br />

$sphere = $world->createObject('sphere',<br />

array('r' => 85, 'detail' => 5));<br />

$sphere->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

Sonuçta ortaya ç›kan görüntü flöyle<br />

olur:<br />

fiekil 7. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu küre.<br />

Bu küre oluflturulurken bildirilen istatistikleri<br />

(bkz Liste 4), Liste 2 içindeki<br />

konide görülenlerle karfl›laflt›r›n.<br />

Liste 4. 5 detail de¤eriyle küre nesnesi<br />

oluflturulmas›n›n istatistikleri<br />

Image 3D<br />

Objects: 1<br />

Lights: 2<br />

Polygons: 4096<br />

Points: 2050<br />

Asl›nda, bu kürenin detail ayar›n›<br />

6'ya yükseltirseniz, çokgenlerin ve<br />

noktalar›n say›s› dört kat›na ç›kar.<br />

Simit flekli<br />

Wikipedia'ya göre, simit flekli, iki daire<br />

fleklinin (S1 x S1) ürünü olarak tan›mlanan<br />

bir kapal› yüzeydir. Geometri bilgilerinizi<br />

unuttuysan›z, bildi¤iniz bir simidi<br />

gözünüzün önüne getirin.<br />

Simit fleklinin nas›l oluflturuldu¤unu<br />

görmek için afla¤›daki kodu 3 boyutlu<br />

alan›n›za ekleyin.<br />

Liste 5. Simit flekli örne¤i<br />

$torus = $world->createObject('torus',<br />

array('inner_radius' => 90,<br />

'outer_radius' => 120,<br />

'detail_1' => 30,<br />

'detail_2' => 30));<br />

$torus->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$torus->transform($world->createMatrix('Rotation',<br />

array(-45,0,-30)));<br />

$torus->transform($world->createMatrix('Move',<br />

array(0,-20,0)));<br />

fiekil 8. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu simit flekli.<br />

Bir kez daha, createObject()'in<br />

ikinci parametresine geçirilen baflka<br />

bir de¤er kümeniz var. Bu durumda, inner_radius<br />

(iç yar›çap) ve outer_radius<br />

(d›fl yar›çap), simidin iç ve d›fl yar›çaplar›n›n<br />

adlar›d›r. Detail_1 (ayr›nt› 1) ve<br />

detail_2 (ayr›nt› 2) ö¤eleri daha belirsizdir.<br />

Bu de¤erleri ayarlamay› denerseniz,<br />

detail_1 ö¤esinin bantlar› (halkaya<br />

dik olan çizgileri) ve detail_2 ö¤esinin<br />

ise fleritleri (halkan›n d›fl kenar›na<br />

paralel çizgileri) denetledi¤ini görürsünüz.<br />

Sonuçta ortaya ç›kan görüntü<br />

“fiekil 8” deki gibi olur:<br />

Metin<br />

Image_3D paketi kullan›larak metinler<br />

de üç boyutlu olarak gerçeklenebilir.<br />

Ancak, metnin stilinin belirlenmesinde<br />

pek az seçenek sunulur. Örne¤in, yaz›<br />

tipi seçemezsiniz; pakette yerleflik bulunan<br />

tek bir yaz› tipinden baflka seçene¤iniz<br />

yoktur. Yine de, Liste 6 içinde<br />

bir metin nesnesinin nas›l yarat›laca¤›<br />

gösterilir.<br />

Liste 6. Metin nesnesi örne¤i<br />

$text = $world->createObject('text',<br />

'Databases!');<br />

$text->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$text->transform($world->createMatrix('Scale',<br />

array(6, 6, 6)));<br />

$text->transform($world->createMatrix('Rotation',<br />

array(-35, 30, -15)));<br />

$text->transform($world->createMatrix('Move',<br />

array(-150, 10, 20)));<br />

Önceki örneklerdeki createObject()<br />

ö¤esinin ikinci parametresine geçirilen<br />

dizilimin yerine, yaln›zca görüntülenecek<br />

olan metni sa¤laman›z yeterlidir.<br />

‹nanmas› zor ama, PHP e¤itici yaz›-<br />

s›n›n ortas›na geldik ve pek çok PHP<br />

e¤itici yaz›s›n›n konusu olan ayn› anda<br />

her yerde bulunan sistemlerden henüz<br />

söz edilmedi. Bu henüz ad› geçmemifl<br />

olan sistemlere iliflkin 3 boyutlu bir<br />

gösterim afla¤›da verilmifltir:<br />

fiekil 9. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu metin.<br />

3D Studio Max<br />

fiimdiye dek gördü¤ümüz 3 boyutlu<br />

görüntü oluflturmakta kullan›lan araçlar<br />

temel düzeydeydi, üstelik, s›f›rdan<br />

görüntü oluflturarak yapabilecekleriniz<br />

de s›n›rl›d›r. Önceden yap›lm›fl 3D<br />

Studio Max dosyalar›n› içe aktarma<br />

yetene¤i (bkz. Liste 7), heyecan verici<br />

olas›l›klar sunar.<br />

HABER LINUX 55

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

Saved successfully!

Ooh no, something went wrong!