使用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+JSon 无刷新分页实现代码
Apr 01 Javascript
关于js datetime的那点事
Nov 15 Javascript
js实现弹窗插件功能实例代码分享
Dec 12 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
Sep 01 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
js实现简单计算器
Nov 22 Javascript
基于JavaScript的操作系统你听说过吗?
Jan 28 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 Javascript
JS设置随机出现2个数字的实例代码
Jul 19 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 Javascript
使用javascript做时间倒数读秒功能的实例
Jan 23 Javascript
Vue中的验证登录状态的实现方法
Mar 09 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
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
PHP反射基础知识回顾
2020/09/10 PHP
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
JS二分查找算法详解
2017/11/01 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
python验证码识别实例代码
2018/02/03 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
造价工程师个人求职信
2013/09/21 职场文书
考博专家推荐信模板
2013/12/02 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
小区消防演习方案
2014/02/21 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
单位提档介绍信
2015/10/22 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android