PHP绘图对象结构设计与应用实例,PHP绘图对象结构设计与应用实例
【 tulaoshi.com - PHP 】
本文主要阐述如何在PHP中实现绘图对象的结构设计。
在PHP中小型的数据结构可由简单类来实现,即由简单的数据和操作来定义。但随着数据结构的复杂化,简单类不能满足完整体现整个数据结构的需求,由此需要使用类的结构,一句话来描述就是类中的成员也由类来构成。这是面向对象设计方法实现对数据封装、信息隐藏及代码重用的扩展方式,而另一种方式就是类的继承。
本文主要讨论类的结构。
以绘图为例,我们来看关于几何图形的简单例子。
几何图形包含一系列的点,线,面等,而由一些几何公理可知点是其中最基本的构成元素。所以,我们以点作为设计的基本对象,由此来描述线和面对象。用来举例说明类结构的实现方式。
分析
假设点位于某一平面内,在确定了坐标系之后(即给定了原点和坐标轴及其正方向),我们便可以用坐标位置来描述这个点,如图:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)
function DrawAxes()
{
$vertspan=200;
$p1=new Point(10,$vertspan 2.5);
$p2=new Point(10,2.5);
$VerticalAxis=new Line($p1,$p2);
$VerticalAxis-Draw();
$p1=new Point(7.5,$vertspan);
$p2=new Point(370,$vertspan);
$HorizontalAxis=new Line($p1,$p2);
$HorizontalAxis-Draw();
}
显示柱体如下:
function Plot($arr_barTotal)
{
$vertspan=200;
//显示比例
$scaleHeight=190;
//确定柱状中最大值
$maxTotal=Max1(&$arr_barTotal);
//确定柱体个数
$total=count($arr_barTotal);
//循环显示柱状体
$dx=15;
$x=10 $dx;
for($i=0;$i<$total;$i )
{
$rectHeight=($arr_barTotal[$i]/$maxTotal)*$scaleHeight;
$p1=new Point($x,$vertspan-$rectHeight);
$p2=new Point($x $dx,$vertspan);
$CurrRect= new Rectangle($p1,$p2);
$CurrRect-Draw();
$x =2.0*$dx;
}
}
主程序:
1) 确定显示数据。
2) 显示坐标轴。
3) 显示柱状体。
//main
$arr_barTotal=array('1','3','34','23','5','25','7'); //显示数据
DrawAxes(); //画坐标轴
Plot($arr_barTotal); //画柱状体
来源:http://www.tulaoshi.com/n/20160129/1491225.html
看过《PHP绘图对象结构设计与应用实例》的人还看了以下文章 更多>>