使用p5.js临摹动态图片


Posted in Javascript onNovember 04, 2019

本文实例为大家分享了p5.js临摹动态图片的具体代码,供大家参考,具体内容如下

1、临摹图片

使用p5.js临摹动态图片

2、图像运动规律

原图中一共有36个等大的四分之三圆形,按照一定的规律转动,可以等效为圆形不动,每个圆上有以其半径为边长的矩形在绕圆形的原点转动,每四个为一组,其他部分都是在重复这四个的转动规律

3、完整代码

function setup() 
{ 
 createCanvas(402,402); 
}
function draw()
{
 background(0); 
 var dx=0; 
 dx+=PI/180;
 var t=(millis()/5)*sin(dx);//返回自程序开始的毫秒数
 if(dx==PI) 
 { 
  dx=0;
 } 
 
 for(var i=0;i<6;i++)//每行每列六个圆形
 {  
  for(var j=0;j<6;j++)
  { 
   fill(255); 
   ellipse(i*66+36, j*66+36, 60, 60);//绘制半径30的圆形,间隔6
   fill(0); 
   translate(i*66+36, j*66+36);//矩形的移动,共四种运动状态
   if(i%2==0&&j%2==0) 
   {  
    rotate(-t); //逆时针旋转
    rect(0,0,30,30);//旋转的边长30黑色矩形
   }  
   else if(i%2==1&&j%2==0)
   { 
    rotate(t);//顺时针旋转
    rect(-30,0,30,30); 
   }  
   else if(i%2==1&&j%2==1) 
   {  
    rotate(-t); 
    rect(-30,-30,30,30); 
   }  
   else if(i%2==0&&j%2==1)
   {  
    rotate(t);
    rect(0,-30,30,30); 
   }  
   resetMatrix(); 
  } 
 }
}

4、临摹结果

使用p5.js临摹动态图片

5、拓展图像

使用p5.js临摹动态图片

运动规律:

一段螺旋型的运动弧线,中心颜色较深,越向外颜色越浅,形成一种线在向中心运动的趋势。绘制时是由无数个没有边框的圆形一起按照规律运动,形成线。

完整代码:

function setup()
{
 createCanvas(500, 500);
 noStroke(); 
}
function draw() {
 background(0); 
 for (var i =1;i <3000; i++)
 {
  drawcircle(255-0.1*i,255-0.1*i,255-0.1*i, i); 
  i++;
 }
}
function drawcircle( r, g, b, interval){
 fill(r, g, b);
 var x = 250; 
 var y = 250; 
 var t = millis() /3+ interval *0.5;
 var xi;
 var yi;i
 var radius = interval *15;
 xi = 0.01*radius * Math.cos(t * Math.PI/180);
 yi = 0.01*radius * Math.sin(t * Math.PI/180); 
 x += xi;
 y += yi;
 ellipse(x, y, 20,20);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery技巧总结
Jan 01 Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
JavaScript使用slice函数获取数组部分元素的方法
Apr 06 Javascript
javascript实现Table排序的方法
May 15 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
jQuery表单元素选择器代码实例
Feb 06 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
Apr 10 Javascript
JS如何操作DOM基于表格动态展示数据
Oct 15 Javascript
p5.js绘制创意自画像
Nov 04 #Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 #Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 #Javascript
vue中使用GraphQL的实例代码
Nov 04 #Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 #Javascript
JS+CSS实现随机点名(实例代码)
Nov 04 #Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
Nov 04 #Javascript
You might like
珊瑚虫IP库浅析
2007/02/15 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python list多级排序知识点总结
2019/10/23 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
python安装后的目录在哪里
2020/06/21 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
Android笔试题总结
2014/11/29 面试题
java程序员面试交流
2012/11/29 面试题
什么是servlet
2012/05/08 面试题
人力资源总监工作说明
2014/03/03 职场文书
继承权公证书
2014/04/09 职场文书
高中综合实践活动总结
2014/07/07 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
退税申请报告怎么写
2015/05/18 职场文书
我是特种兵观后感
2015/06/11 职场文书