<?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);
}
?>
|