没事的人可以继续挑战,用PHP画五角星。。

tottyandbaty 2011-11-14 05:15:47
各位,闲来无事,我已经画出一个五角星,,只是还差上色,,各位如果有兴趣,就给这些星星上色。。。分数很多哦~


<!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>


...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ci1699 2011-11-15
  • 打赏
  • 举报
回复
ci1699 2011-11-15
  • 打赏
  • 举报
回复
画出来了啊? 支持。就是有点卡
tottyandbaty 2011-11-15
  • 打赏
  • 举报
回复
现在我正在研究如何在凹多边形以及凸多边形内着点,有兴趣的人一起来研究啊

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧