canvas点阵函数波动,类似飘带或水波
canvas动画利用函数波动特点制作水波动画
<canvas id="myCanvas" width="500" height="400" style="border:0px double #996633;"></canvas>
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var i=0;
setInterval(move,30);
function move(){
ctx.clearRect(0,0,canvas.width,canvas.height);
var dig=Math.PI/24;
var colorArr = ['red','yellow','green','blue','purple']
var colorIndex = 0
for (k=0;k<=14;k++){
for (n=0;n<=17;n++){
colorIndex++
if (colorIndex >= 5) {
colorIndex = 0
}
ctx.fillStyle = colorArr[colorIndex]
x0=30*n;
y0=30*k;
var x=24*Math.sin((i+k*2+n*3)*dig)+x0;
var y=24*Math.cos((i+k*2+n*3)*dig)+y0;
ctx.beginPath();
ctx.arc(x,y,8,0,Math.PI*2,true);
ctx.closePath();
ctx.fill();
}
}
i=i+1;
if (i>=48) i=0;
}
直接可复制代码查看效果
最新文章
- C# MVC 5 - 生命周期(应用程序生命周期&;请求生命周期)
- java多线程-锁
- SharePoint Calculated Columns 分类: Sharepoint 2015-07-09 01:49 8人阅读 评论(0) 收藏
- 打包java项目为可执行程序(exe)
- [moka同学笔记]yii2.0缓存
- CentOS6.5配置python开发环境之一:CentOS图形化界面显示
- Pascal 语言中二维数组:矩阵问题
- [LeetCode] #1# Two Sum : 数组/哈希表/二分查找/双指针
- iBatis2之SqlMap配置总结(18条)
- ngrok 本机代码部署外网访问神器(转)
- 低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端
- fpm 制作 rpm 包
- 关于栈、队列、优先队列的应用——UVa11995
- matplotlib-区域填充
- c# word操作
- Ubuntu12.04下Qt连接MySQL数据库
- 转:GestureDetector: GestureDetector 基本使用
- R语言 vegan包计算物种累计曲线
- Task 5.1 电梯调度程序需求调研报告
- PLSA-概率潜语义分析(二)