1<?php 2 3set_time_limit(0); 4require_once('Image/3D.php'); 5 6$world = new Image_3D(); 7$world->setColor(new Image_3D_Color(255, 255, 255)); 8 9$light1 = $world->createLight('Light', array(-20, -20, -20)); 10$light1->setColor(new Image_3D_Color(255, 255, 255)); 11 12$light2 = $world->createLight('Light', array(20, 20, -20)); 13$light2->setColor(new Image_3D_Color(0, 200, 0)); 14 15$map = $world->createObject('map'); 16 17$detail = 30; 18$size = 150; 19$height = 40; 20 21$raster = 1 / $detail; 22for ($x = -1; $x <= 1; $x += $raster) { 23 $row = array(); 24 for ($y = -1; $y <= 1; $y += $raster) { 25 $row[] = new Image_3D_Point($x * $size, $y * $size, sin($x * pi()) * sin($y * 2 * pi()) * $height); 26 } 27 $map->addRow($row); 28} 29 30$map->setColor(new Image_3D_Color(150, 150, 150, 0)); 31$map->transform($world->createMatrix('Rotation', array(-40, 20, -10))); 32 33$world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING, false); 34$world->setOption(Image_3D::IMAGE_3D_OPTION_FILLED, true); 35 36$world->createRenderer('perspectively'); 37$world->createDriver('GD'); 38$world->render(400, 400, 'Image_3D_Object_Map.png'); 39 40echo $world->stats(); 41 42