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.

amac›yla bu sorun için bir çözüm bulmal›s›n›z.<br />

Image_3D paketi yaln›zca<br />

statik görüntü biçimlerini destekler,<br />

bu nedenle, 3 boyutlu alanlar› canland›rmak<br />

için basit bir JavaScript çözümü<br />

oluflturacaks›n›z. Sonuçta da, veri<br />

raporlar›n›n ifl uygulamalar› ile bütünlefltirilebilen<br />

renkli pasta grafikler biçiminde<br />

görüntülenmesi için bir PHP s›-<br />

n›f› yazacaks›n›z.<br />

Sistem gereksinimleri<br />

Devam etmek için afla¤›daki yaz›l›m ve<br />

araçlar gereklidir:<br />

PHP V5<br />

Image_3D paketi, PHP V5 nesne ve s›-<br />

n›f sözdizimi kullan›larak yaz›l›r.<br />

Image_3D<br />

PEAR paketinin kurulmas› gerekir. Genelde,<br />

makinenize kök (ya da yönetici)<br />

olarak erifliminiz varsa, Image_3D'yi<br />

kurman›z kolay olur. Image_3D alfa sürümde<br />

oldu¤u için, PEAR kuruluflu paketin<br />

"sabit" olmad›¤›n› belirtebilir.<br />

Kuruluflu uygulamak için -f seçene¤ini<br />

kullan›n:<br />

pear install -f Image_3D<br />

GD<br />

Bu grafik kitapl›¤›, PNG dosyalar›n›n<br />

ç›kt›s›n›n al›nmas› için gereklidir. Asl›-<br />

na bak›l›rsa, GD yoksa, Image_3D'den<br />

di¤er dosya tipleri de oluflturulabilir.<br />

PHP V4.3 itibariyle, GD kitapl›¤›n›n bir<br />

sürümü yeni PHP kurulufllar›yla birlikte<br />

gönderilir. Büyük olas›l›kla, PHP'yi<br />

yeniden derlemekle u¤raflman›z gerekmez.<br />

Mevcut PHP kuruluflunuzda<br />

GD'nin etkinlefltirilip etkinlefltirilmedi-<br />

¤ini görmek için phpinfo()'yu kullanabilirsiniz.<br />

Web sunucusu<br />

Bu e¤itici yaz›n›n ikinci yar›s›ndaki örnekler<br />

Web sitesinde kullan›lmak üzere<br />

oluflturulabilir. Haz›rda bir Web sunucunuz<br />

yoksa, Apache'nin aç›k kaynak<br />

Web sunucusu ve IBM HTTP Server,<br />

kullanabilece¤iniz iki uygun seçenektir.<br />

SVG viewer<br />

SVG dosyalar›, yerel SVG deste¤i içeren<br />

Mozilla Firefox V1.5 ürününde görüntülenebilir.<br />

Internet Explorer kullan›c›lar›,<br />

Adobe SVG eklentisini yükleyerek<br />

taray›c›lar›na SVG deste¤i ekleyebilirler.<br />

Önkoflullar<br />

Image_3D'nin arabiriminin tamam›<br />

nesne odakl› oldu¤u için, bu e¤itici yaz›da,<br />

nesnelere ve s›n›flara iliflkin en<br />

az›ndan temel bilgilere sahip olundu¤u<br />

varsay›l›r. Bu e¤itici yaz›n›n ilk yar›s›nda<br />

gösterilen komut sat›r› PHP örneklerini<br />

yürütmek için Linux® kabuk hesab›na<br />

ya da bir Windows® komut istemine<br />

eriflim gerekir. Temel düzeyde<br />

JavaScript deneyimi de gereklidir.<br />

Alan›n›z›n düzenlenmesi<br />

Ço¤u PHP gelifltiricisinin 2 boyutlu<br />

grafiklerden az da olsa anlad›¤›n› söylemek<br />

yanl›fl olmaz. Büyük olas›l›kla<br />

ço¤u, Adobe Photoshop, Corel Paint<br />

Shop Pro, GIMP ya da baflka bir program<br />

kullanarak en az›ndan birkaç temel<br />

grafik oluflturmufltur. Önce, 3 boyutlu<br />

bir alan›n ya da dünyan›n al›fl›ld›k<br />

2 boyutlu tuvalle karfl›l›kl› olarak nas›l<br />

iliflkilendirilebilece¤ini tart›flarak bafllayal›m.<br />

Ayr›ca, ›fl›klar, renkler ve dönüflümler<br />

gibi 3 boyutlu görüntülerinizi<br />

tasarlaman›za yard›m› olacak araçlar›<br />

da inceleyeceksiniz.<br />

Bafllarken<br />

S›radan grafik programlar›, bit efllemi<br />

görüntülerken X ve Y eksenleriyle çal›-<br />

fl›r. Her bir piksel bu eksenlerde yerlefltirilir.<br />

Bafllang›ç noktas› (X=0, Y=0),<br />

üst sol köflededir. 30, 20 koordinatlar›ndaki<br />

bir piksel, bafllang›ç noktas›n›n<br />

30 birim (genelde pikseldir) sa¤›nda,<br />

20 birim de alt›ndad›r.<br />

3 boyutlu alan›n›zda çal›fl›rken,<br />

bafllang›ç noktas› alan›n köflesinden<br />

çok, merkezini simgeler. Üçüncü eksen,<br />

Z, X ve Y eksenlerine karfl›l›kl› olarak<br />

diktir. Z ekseninin pozitif yönünü<br />

bilgisayar›n›z›n ekran›n›n içine do¤ru<br />

olarak düflünün. Negatif yön, ekrandan<br />

uza¤a do¤ru olacakt›r. fiekil 1 içinde<br />

her bir eksenin yönü gösterilir.<br />

fiekil 1. 3 boyutlu<br />

koordinat sistemi<br />

Koordinat sisteminde 3 boyutlu<br />

nesneler olufltururken, her bir nesnenin<br />

ya da noktan›n bafllang›ç noktas›na<br />

olan uzakl›¤›, negatif ya da pozitif birim<br />

olarak ölçülür.<br />

3 boyutlu araç tak›m›n›z<br />

3 boyutlu alan›n›za yerlefltirdi¤iniz her<br />

bir nesne için (koniler, küreler, vb.)<br />

PHP nesneleri oluflturacaks›n›z. Ayr›-<br />

ca, bu alan içindeki ›fl›k kaynaklar›n›<br />

simgeleyen PHP nesneleri de oluflturacaks›n›z.<br />

Renkli nesneler her bir flekli<br />

ya da ›fl›k kayna¤›n› de¤ifltirmekte kullan›l›r<br />

ve bir nesnenin alfa fleffafl›¤›n›<br />

ayarlamakta da kullan›labilir. Her bir<br />

nesnenin boyutunu, dönüflünü, konumunu<br />

dönüfltürürken ya da hatta alan›n<br />

bütününü dönüfltürürken matris<br />

nesneleri oluflturulur.<br />

‹lk dünyan›z›n oluflturulmas›<br />

‹lk görüntünüz, Image_3D ile oluflturulan<br />

herhangi bir görüntü için gerekli<br />

olan tüm temel ö¤eleri içerir. Bu örnekten,<br />

paketteki tüm temel nesneleri<br />

h›zla inceleyebilecek do¤ru alana ve<br />

›fl›¤a sahip olacaks›n›z.<br />

Koniler<br />

Bu ilk örne¤in amac›, beyaz bir artalanda<br />

›fl›kland›r›lm›fl koni fleklinde bir<br />

nesne yarat›lmas›d›r. Sonuçta ortaya<br />

ç›kan alan, 400x400 piksellik bir görüntüye<br />

dönüfltürülecektir.<br />

Oluflturdu¤unuz her görüntü,<br />

$world olarak adland›raca¤›n›z yeni bir<br />

Image_3D nesnesi oluflturularak bafllar.<br />

Alan›n artalan rengi, Image_3D_Color<br />

nesnesi oluflturularak<br />

ayarlan›r. Bu nesnenin yap›c›s›n›n üç<br />

parametresi, oluflturmak istedi¤iniz<br />

rengin RGB de¤erleridir.<br />

Alanda iki adet Image_3D_Light<br />

nesnesi oluflturursunuz. Mavi bir ›fl›k<br />

olan ilkinin, bafllang›ç noktas›n›n soluna,<br />

ekran›n düzleminden uza¤a yerlefltirildi¤ini<br />

düflünün. ‹kincisi de bafllang›ç<br />

noktas›n›n üst sa¤ köflesine, yine<br />

ekrandan uza¤a yerlefltirilsin. Bu nesne,<br />

yeflil olsun.<br />

Sonra, alana bir koni yerlefltirilsin.<br />

Bu nesneye atad›¤›n›z rengin beyaz oldu¤una<br />

dikkat edin. Böylece, nesne<br />

alana yerlefltirdi¤iniz iki ›fl›¤›n rengini<br />

al›r. Bu yöntem, farkl› renklere sahip<br />

bir nesnenin karfl›t yönlerini vurgulamak<br />

için en iyi yöntemdir.<br />

52 HABER LINUX

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

Saved successfully!

Ooh no, something went wrong!