<?php 
 
include("model3d.php"); 
$model3d = new Model3D(); 
$model3d->drawGridXY(80, 80); 
gen($model3d); 
$model3d->drawOrigin(); 
 
 
header("Content-type: image/png"); 
imagepng($model3d->canvas); 
imagedestroy($imgcanvas->canvas); 
 
function gen($model) 
    { 
    // generate nodes and lines for a truss3d 
        $node = array(); 
        $line = array(); 
        $n = 4; // no of in-scribed polygon sides 
        $m = 2; // no of storey 
        $dh =200; // height of each storey 
        $r = 120; // radius of polygon 
        $dr = -20; // reduce radius per storey 
        $dang = 360/$n; 
        $startang = $dang/2; 
         
        for ($j=0;$j<$m+1;$j++){ 
            for($i=0;$i<$n;$i++){ 
                $ang = $startang+$i*$dang; 
                $ang = $ang/180.0*pi(); 
                $x = ($r+$dr*$j)*cos($ang); 
                $y = ($r+$dr*$j)*sin($ang); 
                $z = $j*$dh; 
                 
                $node[] = array( 
                    "x" => $x, 
                    "y" => $y, 
                    "z" => $z, 
                    "dof" => "000", 
                    "dx" => 0.00, 
                    "dy" => 0.00, 
                    "dz" => 0.0 
                ); 
                 
                $i1 = ($i+$n*$j)%$n; 
                $j1 = ($i+$n*$j+1)%$n; 
                if ($j < $m){ 
                $line[] = array( 
                    "I" => $n*($j+1)+$i1, 
                    "J" => $n*($j+1)+$j1, 
                    "Mat" => 0, 
                    "Sec" => 0 
                ); 
                $line[] = array( 
                    "I" => $n*$j+$i1, 
                    "J" => $n*($j+1)+$i1, 
                    "Mat" => 0, 
                    "Sec" => 0 
                ); 
                $line[] = array( 
                    "I" => $n*$j+$i1, 
                    "J" => $n*($j+1)+$j1, 
                    "Mat" => 0, 
                    "Sec" => 0 
                ); 
                } 
                 
            } 
        } 
         
        $model->drawNodesLine($node, $line); 
} 
?>
 
 |