这个是网友 Vincent 所写的Html5的一些图案。邀请了他写的利用最新html5 容器绘图功能创立的。呵呵,他很快就写了记录下来了。于是,我把他的源码和图案都放在这里。用来体现一些这些绘图功能。看起来也很不错。
在数学书上,玫瑰线的极坐标公式定义为p=a*sin(n*angle);或者p=a*cos(n*angle)
我们借用了这种公式,但是在输入角度的时候作了一些调整,就会产生这种变化。
玫瑰线的历史,也可以追溯到航海时代。
参考资料如下
http://baike.baidu.com/view/301886.htm?fr=ala0_1_1
玫瑰线方面的数学可以参考如下网址获取更多这方面的了解
http://xuxzmail.blog.163.com/blog/static/251319162009739563225/
感谢:Vincent 提供的图案和源码:
- <!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>
- <title>title</title>
- <meta name="author" content="" />
- <meta name="keywords" content="" />
- <meta name="description" content="" />
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <mce:style type="text/css"><!--
- #can {background-color:#ece9d8;}
- --></mce:style><style type="text/css" mce_bogus="1">#can {background-color:#ece9d8;}</style>
- </head>
- <body>
- <canvas id="can" width="500" height="500"></canvas>
- <mce:script type="text/javascript"><!--
- var canvas = document.getElementById("can");
- var ctx = canvas.getContext("2d");
- var _x = 250, _y = 200;
- ctx.beginPath();
- ctx.shadowOffsetX = 1;
- ctx.shadowOffsetY = 1;
- ctx.shadowBlur = 4;
- ctx.shadowColor = 'rgba(255, 255, 255, 1)';
- ctx.strokeStyle = "#000";
- ctx.lineWidth = 1;
- for (i = 0; i <= 360; i++)
- {
- var point0 = getPoint(i - 1);
- var point = getPoint(i);
- ctx.moveTo(_x + point0[0], _y + point0[1]);
- ctx.lineTo(_x + point[0], _y + point[1]);
- }
- ctx.stroke();
- function getPoint(i){
- var len = 200 * Math.sin(5 * i );
- return [parseInt(len * Math.cos(i)), parseInt(len * Math.sin(i))];
- }
- // --></mce:script>
- </body>
- </html>