使用p5.js临摹动态图片

 更新时间:2019年11月04日 13:33:55   作者:qq_43337902  
这篇文章主要为大家详细介绍了使用p5.js临摹动态图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

1、临摹图片

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、临摹结果

5、拓展图像

运动规律:

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

完整代码:

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);
}

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

相关文章

  • 解决layui中table异步数据请求不支持自定义返回数据格式的问题

    解决layui中table异步数据请求不支持自定义返回数据格式的问题

    今天小编就为大家分享一篇解决layui中table异步数据请求不支持自定义返回数据格式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • js删除对象中的某一个字段的方法实现

    js删除对象中的某一个字段的方法实现

    这篇文章主要介绍了js删除对象中的某一个字段的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Bootstrap导航条学习使用(一)

    Bootstrap导航条学习使用(一)

    这篇文章主要为大家详细介绍了Bootstrap导航条的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 在Javascript里访问SharePoint列表数据的实现方法

    在Javascript里访问SharePoint列表数据的实现方法

    在进行SharePoint订制的时候经常会遇到开发手段受限制的问题,比如通常公司都会限制服务器的访问以及部署,很多开发都只能够在客户端来进行
    2011-05-05
  • JS实现微信摇一摇原理解析

    JS实现微信摇一摇原理解析

    这篇文章主要为大家详细介绍了JS微信摇一摇的实现原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 35个JS中实用工具函数的代码分享

    35个JS中实用工具函数的代码分享

    身为后台开发的各位铁铁,实际开发不管是公司要求或是自身发展,学前端已经是我们内卷路上必定碰到的,那今天小编就给大家总结下那些我们工作中可能遇到的一些实用Js函数
    2022-06-06
  • JS中三目运算符和if else的区别分析与示例

    JS中三目运算符和if else的区别分析与示例

    本文是通过示例详细分析了JS中三目运算符和if else的区别,是篇非常不错的文章,这里推荐给大家。
    2014-11-11
  • js禁止浏览器的回退事件

    js禁止浏览器的回退事件

    这篇文章主要为大家详细介绍了js禁止浏览器的回退事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • echarts折线图流动特效的实现全过程(非平滑曲线)

    echarts折线图流动特效的实现全过程(非平滑曲线)

    最近因为公司业务需求,需要实现,当Echarts重新加载数据时实现动态效果,下面这篇文章主要给大家介绍了关于echarts折线图流动特效实现的相关资料,需要的朋友可以参考下
    2023-03-03
  • canvas的神奇用法

    canvas的神奇用法

    canvas有一个神奇的方法getImageData,它可以获取canvas内图像的每一个像素点的颜色值获取,而且可以改变。本文将对canvas实现图片的滤镜转化的方法进行介绍,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02

最新评论