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.

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!