class smolGraph
{
public $screenWidth=1000;
public $screenHeight=1000;
//what is the incoming data going to look like
public $minValueX;
public $maxValueX;
public $minValueY;
public $maxValueY;
//Where does it live physicall on the screen
public $startX;
public $widthX;
public $startY;
public $heightY;
//cartesian center relative to the X Y of physical screen
public $cartCenterX;
public $cartCenterY;
}
$AGraph=new smolGraph();
$AGraph->minValueX=-25;
$AGraph->maxValueX=25;
$AGraph->minValueY=-25;
$AGraph->maxValueY=25;
$AGraph->startX=100;
$AGraph->startY=100;
$AGraph->widthX=100;
$AGraph->heightY=100;
$AGraph->cartCenterX=50;
$AGraph->cartCenterY=50;
print_r($AGraph);
graphBounds($AGraph,2,"#0000ff");
graphLine($AGraph,0,0,25,25,1,"#000000");
graphLine($AGraph,-25,25,12,12,1,"#00ff00");
//graphLine($AGraph,0,0,25,0,1,"#000000");
//graphLine($AGraph,-25,-25,25,25,1,"#ff0000");
function graphBounds($GSET,$width,$color)
{
global $SVGDOCUMENT;
$x1=$GSET->startX;
$x2=$GSET->startX+$GSET->widthX;
$y1=$GSET->startY;
$y2=$GSET->startY+$GSET->heightY;
$SVGDOCUMENT.="\n"; //top
$SVGDOCUMENT.="\n"; //right
$SVGDOCUMENT.="\n"; //bottom
$SVGDOCUMENT.="\n"; //left
}
function graphLine($GSET,$x,$y,$h,$v,$width,$color)
{
global $SVGDOCUMENT;
$x1=map($x,$GSET->minValueX,$GSET->maxValueX,$GSET->startX,$GSET->startX+$GSET->widthX)-($GSET->cartCenterX);
$x2=map($h,$GSET->minValueX,$GSET->maxValueX,$GSET->startX,$GSET->startX+$GSET->widthX)-($GSET->cartCenterX);
// $y1=map($y,$GSET->minValueY,$GSET->maxValueY,$GSET->startY,$GSET->startY+$GSET->heightY)+$GSET->cartCenterY;
// $y2=map($v,$GSET->minValueY,$GSET->maxValueY,$GSET->startY,$GSET->startY+$GSET->heightY)+$GSET->cartCenterY;
$y1=map($y,$GSET->minValueY,$GSET->maxValueY,$GSET->startY+$GSET->heightY,$GSET->startY)+$GSET->cartCenterY;
$y2=map($v,$GSET->minValueY,$GSET->maxValueY,$GSET->startY+$GSET->heightY,$GSET->startY)+$GSET->cartCenterY;
$SVGDOCUMENT.="\n";
}