没事的人可以继续挑战,用PHP画五角星。。
时间:2011-11-14
来源:互联网
各位,闲来无事,我已经画出一个五角星,,只是还差上色,,各位如果有兴趣,就给这些星星上色。。。分数很多哦~
PHP code
PHP code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>五角星</title> <style> div{ position:absolute;width:1px;height:1px; background-color:#FF0000;} </style> </head> <body> <? $base_point=array("x"=>300,"y"=>200);//外接圆圆心 $radius=200;//外接圆半径 $point_x=array(); //求出各点坐标,-18°旋转下,看起来正一点 for ($degree=0;$degree<360;$degree+=72) { $point[]=array( "x"=>round(cos(deg2rad($degree))*$radius+$base_point["x"],2), "y"=>round(sin(deg2rad($degree))*$radius+$base_point["y"],2) ); } for ($i=0;$i<5;$i++) { if($i<3) { $to=$i+2; } else { $to=$i-3; } draw_line($point[$i],$point[$to]); } /** * 画线 * @param $p1 array * @param $p2 array * demo * draw_line(array("x"=>80,"y"=>90),array("x"=>250,"y"=>180)) * * **/ function draw_line($p1,$p2) { //与y轴平行 if($p2["x"]==$p1["x"]) { $start=min($p1["y"],$p2["y"]); $end=max($p1["y"],$p2["y"]); for ($i=$start;$i<$end;$i+=0.1) { draw_dot($i,$p1["x"]); } } //与x轴平行 if($p2["y"]==$p1["y"]) { $start=min($p1["x"],$p2["x"]); $end=max($p1["x"],$p2["x"]); for ($i=$start;$i<$end;$i+=0.1) { draw_dot($p1["y"],$i); } } //不与坐标轴平行 if($p1["x"]!=$p2["x"]&&$p1["y"]!=$p2["y"]) { $k=($p2["y"]-$p1["y"])/($p2["x"]-$p1["x"]);//斜率 $b=$p1["y"]-$k*$p1["x"];//截距 // y=kx+b (x∈[$p1[x],$p2[$x]]) $start=min($p1["x"],$p2["x"]); $end=max($p1["x"],$p2["x"]); for ($i=$start;$i<=$end;$i+=0.1) { $y=round(($k*$i+$b),2); draw_dot($y,$i); } } } //画点 function draw_dot($x,$y) { echo "<div style='top:{$x}px;left:{$y}px'></div>"; } ?> </body> </html>
作者: TottyAndBaty 发布时间: 2011-11-14
这个好玩,收藏啦
作者: belin520 发布时间: 2011-11-14
隔岸观望~
作者: changjay 发布时间: 2011-11-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28