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.

Liste 10. Parametreleri belirlenmifl bir sarmal yüzey<br />

$map = $world->createObject('map');<br />

$scale = 120;<br />

$detail = 30;<br />

$levels = 6;<br />

$increment = 1 / $detail;<br />

for ($s = 0; $s setColor(new Image_3D_Color(255, 255, 255));<br />

$map->transform($world->createMatrix('Rotation', array(-50, 0, 15)));<br />

$map->transform($world->createMatrix('Move', array(50, -220, 0)));<br />

Liste 11. Noktalar›n tan›mlanmas›<br />

new Image_3D_Point( ($r * cos($t)),<br />

($r * sin($t)),<br />

(sin(4 * pi() * $r))<br />

);<br />

Liste 12. 3 boyutlu ortas› delik bir kek kal›b› flekli<br />

$map = $world->createObject('map');<br />

$scale = 130;<br />

$detail = 35;<br />

$increment = 1 / $detail;<br />

oluflturmak üzere r ve t parametrelerini<br />

de¤ifltiren iki döngü içine saracaks›-<br />

n›z. Liste 12'de gösterildi¤i gibi, her X-<br />

, Y- ve Z koordinat› bir $scale de¤eriyle<br />

çarp›lacakt›r.<br />

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

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

// x<br />

// y<br />

// z<br />

for ($r = 0; $r setColor(new Image_3D_Color(255, 255, 255));<br />

$map->transform($world->createMatrix('Rotation', array(-45, 0, -15)));<br />

Ek ç›kt› sürücüleri<br />

fiimdiye kadar yaratt›¤›n›z tüm görüntüler<br />

GD sürücüsünü kullan›yordu. Bu<br />

sürücünün PNG görüntüleri oluflturdu-<br />

fiekil 14. Image_3D<br />

paketindeki efllem<br />

nesnesi kullan›larak<br />

gelifltirilen parametrik<br />

ifllevden oluflan 3<br />

boyutlu yüzey.<br />

¤unu gördünüz. Ancak kullanabilece¤iniz<br />

dört ek sürücü daha vard›r: SVG,<br />

SVGRotate, ZBuffer ve ASCII.<br />

SVG<br />

SVG (Scalable Vector Graphics; Ölçeklenebilir<br />

Vektör Grafi¤i) dosya biçimi,<br />

2 boyutlu görüntüler oluflturan vektörlerin<br />

bir XML tan›m›d›r. W3C, bu biçimi<br />

2001 y›l›nda standartlaflt›rm›flt›r, ancak<br />

bu biçimin Web üzerindeki kullan›-<br />

m›, SVG dosyalar›n› görüntüleyebilen<br />

taray›c›lar›n kullan›labilir hale gelmesiyle<br />

engellenmifltir. fiu anda en uygun<br />

seçenekler SVG için yerleflik destek<br />

içeren Firefox V1.5 ve Adobe SVG eklentisine<br />

sahip Internet Explorer ürünleridir.<br />

Image_3D'den SVG görüntüleri<br />

oluflturmak oldukça basittir. Yap›lmas›<br />

gereken yaln›zca Liste 1'deki son iki<br />

kod sat›r›n› afla¤›daki gibi de¤ifltirmektir:<br />

$world->createDriver('svg');<br />

$world->render(400, 400, 'object.svg');<br />

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

ilk yaratt›¤›n›z koniye çok benzer<br />

olmal›d›r.<br />

SVG dosyalar›n›n heyecan verici<br />

bir yönü, görüntüyü tan›mlayan XML<br />

a¤ac›n›n, JavaScript ve DOM ayr›flt›rma<br />

yordamlar› kullan›larak ifllenebilmesidir.<br />

Görüntülerin, Web sayfalar›n›<br />

ifllemek üzere dHTML kullan›r gibi ifllendi¤ini<br />

düflünün. SVGRotate sürücüsü,<br />

yaln›zca bu amaçla gerekli olan komut<br />

dosyas›n› içeren bir SVG dosyas›<br />

oluflturur.<br />

Ç›kt› sürücüsünün de¤ifltirilmesi yine<br />

son iki kod sat›r›n›n de¤ifltirilmesiyle<br />

kolay bir flekilde gerçeklefltirilebilir:<br />

$world->createDriver('svgrotate');<br />

$world->render(400, 400, 'object.svg');<br />

Sonuçta ortaya ç›kan dosya, SVG<br />

biçimini tan›yan bir taray›c›da görüntülendi¤inde,<br />

koniyi gerçek zamanl›<br />

olarak döndürmek ve ölçeklemek için<br />

58 HABER LINUX

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

Saved successfully!

Ooh no, something went wrong!