效果图
(实际是动的,演示地址:canvas 下雪,仓库地址:canvs 雪)
解析:
画一朵雪花的思路:
本文拟定雪花外轮廓为正N边形,则雪花同中心各边长度相等,相邻边形成的夹角相等。
- 选取一点为雪花的中心{x0,y0},雪花半径为r,雪花瓣数为n(示例中为6)。
- 先绘制第一条边:以{x0,y0}为起点,则终点为{x0,y0+r}。
- 绘制第二条边:第二条边与第一条边形成的夹角为angle = 360/n,则终点为{x0+sin(angle)*r,y0+cos(angle)*r}
- 依次绘制其余边:第i条边与第一条边形成的夹角为angle = 360/n * (i-1),终点为{x0+sin(angle)*r,y0+cos(angle)*r}
- 以上2-4可用一个循环完成,完成后雪花的第一圈就出现了:
- 以第一圈的各终点为新的起点,2/5 * r为半径,重复2-4,可完成第二圈:
- 以第二圈各各终点为新的起点,1/6 * r为半径,重复2-4,可完成第三圈(若半径过小,可不再绘制第三圈):
- 一朵雪花就完成了。