五角星的格定点坐标该如何定位?原理图如下:

源代码:

function canvs_start(){

var c = document.getElementById("star");

var co = c.getContext("2d");

co.fillStyle = "#006699";

co.fillRect(0,0,c.width,c.height);

for (var i = 0;i < 100;i++){

//随机大圆半径R

var cR = Math.random()*10+5;

var cx = Math.random()*c.width;

var cy = Math.random()*c.height;

//随机旋转角度

var ct = Math.random()*360;

star(co,cx,cy,cR,cR/2,ct);

}

}

//定义五角星函数,js中三角函数角度需要转换为弧度,canvs画布引用,x,y五角星偏移量,R五角星外接大圆半径,r五角星内接小圆半径,rot五角星整体旋转角度

function star(canvs,x,y,R,r,rot){

canvs.beginPath();

for (var i = 0;i<5;i++){

canvs.lineTo(Math.cos((18+i*72-rot)/180*Math.PI)*R+x,-Math.sin((18+i*72-rot)/180*Math.PI)*R+y);

//此处的(18+i*72-rot)为五角星外顶点与中心水平线夹角度数(不是弧度,假设旋转角度rot为0,相当于正五角星),外顶点x坐标每次变化72度

//五角星外顶点(x,y)偏移量

canvs.lineTo(Math.cos((54+i*72-rot)/180*Math.PI)*r+x,-Math.sin((54+i*72-rot)/180*Math.PI)*r+y);

//此处的(54+i*72-rot)为五角星内顶点与中心水平线夹角度数(不是弧度,假设旋转角度rot为0,相当于正五角星),内顶点x坐标每次变化72度

//五角星内顶点(x,y)偏移量

}

canvs.closePath();

//效果显示

canvs.fillStyle = "#fd5";

canvs.strokeStyle = "#fb5";

canvs.lineWidth = 3;

canvs.lineJoin = "round";

//执行

canvs.fill();

canvs.stroke();

}

效果如下图所示:

html5绘制随机五角星_html5 canvas画五角星(随机生成)相关推荐

  1. html5绘制随机五角星_HTML5 canvas绘制五角星的方法

    这篇文章主要介绍了关于HTML5 canvas绘制五角星的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 是HTML5中新增的标签,用于绘制图形,这篇文章主要为大家详细介绍了HTM ...

  2. python123绘制五角星_Python的画五角星

    前言 我们刚学画画的时候肯定学过五角星,想必画个五角星太简单了,但是Python呢? 分析: 五角星的每一个角都是相等的,36°,外角144° 把最左边的点当做(0, 0) 实践: 1.前进 impo ...

  3. 怎么有python画五角星_Python的画五角星

    前言 我们刚学画画的时候肯定学过五角星,想必画个五角星太简单了,但是Python呢? 分析: 五角星的每一个角都是相等的,36°,外角144° 把最左边的点当做(0, 0) 实践: 1.前进 impo ...

  4. python画五角星-Python的画五角星

    前言 我们刚学画画的时候肯定学过五角星,想必画个五角星太简单了,但是Python呢? 分析: 五角星的每一个角都是相等的,36°,外角144° 把最左边的点当做(0, 0) 实践: 1.前进 impo ...

  5. html5绘制随机五角星_脑残无极限,用HTML5 CANVAS画五角星!

    (效果图) 当我开始研究HTML5的时候,canvas在第一时间就吸引住我了.哇塞,这东西未来绝对能取代WINDOWS的画图(小畫家)工具的! 于是本着探索的精神,我重新捡回了中学时期的三角函数,准备 ...

  6. html5绘制随机五角星_HTML5 canvas基本绘图之绘制五角星

    是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingContext2D对象,我们可以通过JavaScript脚本来控 ...

  7. html5 canvas画五角星(美国队长)

    画一波五角星: 美国队长图标 原理:  (1)根据五角星的顶点,外顶点5个,内顶点5个,分成内外圆 (2)由三角函数可表示出每个顶点的位置 (3)利用canvas的lineTo()接口画图 上代码: ...

  8. Canvas 画五角星

    前言 几何模型 绘制 拓展 封装 前言 学习 canvas,更多的是需要动手实践,下面就从一个相对简单的例子:五角星开始吧! 不懂 canvas 的同学,请先学习:Canvas 画布 几何模型 由上图 ...

  9. python绘制六角星_python画五角星和六角星程序 | 学步园

    1.五角星 import turtle turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turt ...

最新文章

  1. HBase的安装与使用
  2. Windows XP中快速识别真假SVCHOST.EXE
  3. Qt实现延时sleep函数功能
  4. Python 绘制探地雷达堆叠波形图
  5. 彻底搞定 Java 注解
  6. 【译】RabbitMQ:Topics
  7. Jpcap包的安装与配置
  8. CAN 通信协议文档集锦
  9. python移动文件到指定文件夹
  10. CentOS7自行搭建KMS服务器
  11. 毕业进行时:人生的二次选择
  12. java_2017.9.18
  13. unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent
  14. Run-down Protection
  15. 代价敏感 数据不均衡_数据质量差的代价
  16. 小老板巧用信用卡 透支妙获现金流
  17. 中智集团携手亚信安全 打造立体化、智能化网络防御体系
  18. C语言程序初体验第五题
  19. ISP—去马赛克和颜色空间变换对图像噪声的影响
  20. 双系统平板刷linux系统下载软件,台电官方论坛 - Windows平板加装Ubuntu实现双系统的尝试,有图有真相 - 平板笔记本...

热门文章

  1. c语言打开文件出现分段故障,我不明白为什么我使用ifstream时出现分段错误
  2. 一篇blog带你了解java中的锁
  3. mongodb java 开源_MongoDB Java环境下的开发
  4. 鼠标点击触发事件python_如何在鼠标按下的情况下触发tkinter的“Enter”事件?...
  5. Python工具包werkzeug
  6. LDD3源码分析之阻塞型I/O
  7. handler回调主线程_Android使用Handler实现子线程与子线程、子线程与主线程之间通信...
  8. python编程中文版百度百科_1.2 搭建python+pycharm编程开发环境
  9. 北京理工大学计算机学院张教授,北京理工大学嵩天教授做客信息学院
  10. 大工18秋《计算机网络技术》在线作业1,大工18秋《专业英语(计算机英语)》在线作业3【标准答案】...