<?php
// $Id: canvaspiralex1.php,v 1.1 2002/10/26 11:35:42 aditus Exp $
include "../jpgraph.php";
include 
"../jpgraph_canvas.php";


if( empty(
$_GET['r']) ) 
    
$r 0.44;
else
    
$r $_GET['r'];

if( empty(
$_GET['w']) ) 
    
$w=150;
else
    
$w $_GET['w'];

if( empty(
$_GET['h']) ) 
    
$h=240;
else
    
$h $_GET['h'];

if( 
$w 60 $w=60;
if( 
$h 60 $h=60;


function 
SeaShell($img,$x,$y,$w,$h,$r,$n=12,$color1='navy',$color2='red') {

    
$x += $w;
    
$w = (1-$r)/$r*$w;

    
$sa 0;
    
$ea 90;

    
$s1 1;
    
$s2 = -1;
    
$x_old=$x$y_old=$y;
    for(
$i=1$i $n; ++$i) {
    
$sa += 90;
    
$ea += 90;
    if( 
$i == ) {
        
$y $y $s1*$h*$r;
        
$h = (1-$r)*$h;
        
$w $w / (1-$r) * $r ;
        
$s1 *= -1;
        
$img->SetColor($color1);
        
$img->Line($x,$y,$x+$s1*$w,$y);
    }
    else {
        
$x $x $s2*$w*$r;
        
$w = (1-$r)*$w;
        
$h $h / (1-$r) * $r;
        
$s2 *= -1;
        
$img->SetColor($color1);
        
$img->Line($x,$y,$x,$y-$s2*$h);
    }
    
$img->SetColor($color2);
    
$img->FilledRectangle($x-1,$y-1,$x+1,$y+1);
    
$img->Arc($x,$y,2*$w+1,2*$h+1,$sa,$ea);
    
$img->Arc($x,$y,2*$w,2*$h,$sa,$ea);
    
$img->Arc($x,$y,2*$w-1,2*$h-1,$sa,$ea);
    
$img->Line($x_old,$y_old,$x,$y);
    
$x_old=$x$y_old=$y;
    }
}

$g = new CanvasGraph($w,$h);
//$gr = 1.61803398874989484820;

$p SeaShell($g->img,0,20,$w-1,$h-21,$r,19);
$g->img->SetColor('black');
$g->img->Rectangle(0,20,$w-1,$h-1);
$g->img->SetFont(FF_FONT2,FS_BOLD);
$g->img->SetTextAlign('center','top');
$g->img->StrokeText($w/2,0,"Canvas Spiral");

$g->Stroke();
?>