非常精妙的PHP递归调用代码.docx

非常精妙的PHP递归调用代码.docx

ID:50849227

大小:208.76 KB

页数:15页

时间:2020-03-15

非常精妙的PHP递归调用代码.docx_第1页
非常精妙的PHP递归调用代码.docx_第2页
非常精妙的PHP递归调用代码.docx_第3页
非常精妙的PHP递归调用代码.docx_第4页
非常精妙的PHP递归调用代码.docx_第5页
资源描述:

《非常精妙的PHP递归调用代码.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、非常精妙的PHP递归调用代码时间:2011-01-1215:15来源:未知作者:PHP100点击:987次【字号:大中小】?php//定义PI一分的角度的值define(PII,M_PI/180);//新建图像资源,并定义其背景为白色,前景色为黑色$im=imagecreate(670,500);$white=imagecolorallocate($im,0xFF,0xFF,0xFF);$g=imagecolorallocate($im,0x00,0x00,0x00);//从    

2、//新建图像资源,并定义其背景为白色,前景色为黑色$im    =imagecreate(670,500);$white=imagecolorallocate($im,0xFF,0xFF,0xFF);$g    =imagecolorallocate($im,0x00,0x00,0x00);//从下面实例化的代码可以得知,初始值$x,$y,$L,$a别分为300,500,100,270functiondrawLeaf($g,$x,$y,$L,$a){    global$im;    $B=50;    $C=9;    $s1=2;    $s2=3;    $

3、s3=1.2;    if($L>$s1){        //计算叶子的定位上面        $x2  =$x+$L*cos($a*PII);        $y2  =$y+$L*sin($a*PII);        $x2R=$x2+$L/$s2*cos(($a+$B)*PII);        $y2R=$y2+$L/$s2*sin(($a+$B)*PII);        $x2L=$x2+$L/$s2*cos(($a-$B)*PII);        $y2L=$y2+$L/$s2*sin(($a-$B)*PII);        //计算叶子的定

4、位下面        $x1  =$x+$L/$s2*cos($a*PII);        $y1  =$y+$L/$s2*sin($a*PII);        $x1L=$x1+$L/$s2*cos(($a-$B)*PII);        $y1L=$y1+$L/$s2*sin(($a-$B)*PII);        $x1R=$x1+$L/$s2*cos(($a+$B)*PII);        $y1R=$y1+$L/$s2*sin(($a+$B)*PII);        //别分画叶子的主干以及叶面        ImageLine($im,(i

5、nt)$x,  (int)$y,  (int)$x2,  (int)$y2,  $g);        ImageLine($im,(int)$x2,(int)$y2,(int)$x2R,(int)$y2R,$g);        ImageLine($im,(int)$x2,(int)$y2,(int)$x2L,(int)$y2L,$g);        ImageLine($im,(int)$x1,(int)$y1,(int)$x1L,(int)$y1L,$g);        ImageLine($im,(int)$x1,(int)$y1,(int)$x1R

6、,(int)$y1R,$g);        //再次递归调用本身        drawLeaf($g,$x2,  $y2,  $L/$s3,$a+$C);        drawLeaf($g,$x2R,$y2R,$L/$s2,$a+$B);        drawLeaf($g,$x2L,$y2L,$L/$s2,$a-$B);        drawLeaf($g,$x1L,$y1L,$L/$s2,$a-$B);        drawLeaf($g,$x1R,$y1R,$L/$s2,$a+$B);    }}//实例化drawLeaf($g,300,500

7、,100,270);header("Content-type:image/png");imagepng($im);?>在我个人的PHP编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考PHP手册。希望下面的代码,会更有利于对递归以及静态变量的理解header("Content-type:text/plain");functionstatic_function(){    static$i=0;    if($i++<10){        echo$i."";        static_function();    }}static_functi

8、on();

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。