Exemplo n.º 1
0
    $h = new Vertex(array('x' => $x - $hl, 'y' => $y - $hl, 'z' => $z - $hl, 'color' => $white));
    return array(new Triangle($a, $c, $b), new Triangle($a, $d, $c), new Triangle($e, $g, $h), new Triangle($e, $f, $g), new Triangle($e, $b, $f), new Triangle($a, $b, $e), new Triangle($d, $g, $c), new Triangle($d, $h, $g), new Triangle($a, $e, $h), new Triangle($a, $h, $d), new Triangle($f, $c, $g), new Triangle($f, $b, $c));
}
$v = new Vector(array('dest' => new Vertex(array('x' => 20.0, 'y' => 20.0, 'z' => 0.0))));
$T = new Matrix(array('preset' => Matrix::TRANSLATION, 'vtc' => $v));
$S = new Matrix(array('preset' => Matrix::SCALE, 'scale' => 10.0));
$RY = new Matrix(array('preset' => Matrix::RY, 'angle' => M_PI_4));
$RX = new Matrix(array('preset' => Matrix::RX, 'angle' => M_PI_4));
$cam = new Camera(array('origin' => new Vertex(array('x' => 15.0, 'y' => 15.0, 'z' => 80.0)), 'orientation' => new Matrix(array('preset' => Matrix::RY, 'angle' => M_PI)), 'width' => 640, 'height' => 480, 'fov' => 60, 'near' => 1.0, 'far' => 100.0));
$renderer = new Render(array('width' => 640, 'height' => 480, 'filename' => 'pic.png'));
echo "test";
$origin = new Vertex(array('x' => 50.0, 'y' => 50.0, 'z' => 50.0));
$origin = $cam->watchVertex($origin);
$vtx = new Vertex(array('x' => 20.0, 'y' => 20.0, 'z' => 0.0));
$vtc = new Vertex(array('x' => -20.0, 'y' => -20.0, 'z' => 0.0));
$renderer->renderSegment($vtx, $origin);
$vtt = new Vertex(array('x' => 30.0, 'y' => 60.0, 'z' => 20.0));
$renderer->renderSegment($vtt, $vtx);
$renderer->renderSegment($vtt, $origin);
/*
$repere = makeRepere();

$repere = $S->transformMesh( $repere );
$repere = $cam->watchMesh( $repere );
$renderer->renderMesh( $repere, Render::EDGE );
*/
$renderer->renderVertex($origin);
/*
$cube = makeColoredCube( 0.0, 0.0, 0.0, 1.0 );
$M = $T->mult( $RX )->mult( $RY )->mult( $S );
$cube = $M->transformMesh( $cube );