精华内容
下载资源
问答
  • 加工 我使用Processing 3 IDE收集的一些作品 执照 这些项目已获得MIT许可证的许可-有关详细信息,请参阅文件。
  • processing

    2017-11-08 16:06:46
    processing代码学习,是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它是 Java 语言的延伸,并支持许多现有的 Java 语言架构,不过在语法...
  • 利用processing编写的一个简单版的大球吃小球的游戏
  • processing-源码

    2021-03-15 11:28:09
    processing
  • Processing 安装包

    2020-11-21 15:09:59
    processing 安装包,官网下载很慢。Processing 实现了使用代码进行交互艺术设计,用途很广,具体用途和作品可以自己多百度了解。
  • void setup() { size(400,400); } void draw() { background(227,152,39,100); noStroke(); fill(170,10,2,150); rect(50,70,300,300); fill(134,9,3,150); rect(75,105,250,250);... fill(1...
    void setup()
    {
      size(400,400);
    }
    
    void draw()
    {
      background(227,152,39,100);
      noStroke();
      
      fill(170,10,2,150);
      rect(50,70,300,300);
      
      fill(134,9,3,150);
      rect(75,105,250,250);
      
      fill(175,76,73,150);
      rect(100,138,200,200);
      
      fill(80,4,0,150);
      rect(130,175,145,145);
      
      fill(255,255,255,125);
      beginShape();
      vertex(30,30);
      vertex(370,30);
      vertex(200,370);
      endShape();
    
    }
    

    在这里插入图片描述
    艺术品,普通人看不懂可以理解。

    展开全文
  • processing源码

    2013-10-29 12:00:32
    processing的一个机器人函数的代码
  • processing安装包

    2018-06-14 16:33:27
    processing最新安装包,Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并...以 Processing 完成的作品可在个人本机端作用,或以Java Applets 的模式外输至网络上发布。
  • Processing线图显示

    2014-12-29 10:35:09
    processing练习题目,有数据,有代码。
  • processing粒子系统

    2018-07-05 09:59:45
    processing粒子系统,创意好看,彩色,几何形状 代码 点击屏幕释放粒子系统会自动销毁
  • 自己敲的唯美processing屏保,有助于新手学processing的一些原理
  • Processing互动编程艺术 中文版Processing互动编程艺术 中文版Processing互动编程艺术 中文版
  • 利用粒子来模仿 AE 的文字动画特效 , 包括改变文字大小/旋转方向/重力作用/随机游走等动画
  • 初试Processing——我的第一幅“码绘”作品

    千次阅读 多人点赞 2019-10-17 13:24:59
    前言 Processing是一种灵活的软件写生本,是一种学习如何在视觉艺术的环境中...恰逢正在上《互动媒体技术》一课,刚好可以用到Processing来进行创意编程,即“码绘”,废话不多说,接下来介绍我的第一幅“码绘”作品...

    前言

    Processing是一种灵活的软件写生本,是一种学习如何在视觉艺术的环境中编写代码的语言。自2001年以来,Processing促进了视觉艺术中的软件素养和技术中的视觉素养。有成千上万的学生、艺术家、设计师、研究人员和业余爱好者使用加工来学习和制作原型。

    恰逢正在上《互动媒体技术》一课,刚好可以用到Processing来进行创意编程,即“码绘”,废话不多说,接下来介绍我的第一幅“码绘”作品。

    临摹作品

    首先根据老师的要求,我选择了其中一幅作品进行临摹。
    临摹动图
    在编写代码前,先观察其规律性。可以看出,虽然动图看上去是由不断变化的圆和正方形组成,但是仔细观察可以看出,其实这幅图是由36个圆和36个扇形组成的,变化的仅仅是扇形的位置。
    观察完毕后,开始编写代码。
    首先,根据面向对象编程的思想,可以将每个圆形和扇形看作一个对象,这样将减少很多的代码量,还可以轻松利用图片的规律来简化编程。

      public class Circle
      {
         Circle(int col,int row)
         {
          noStroke();
          fill(255);
          ellipse(row*100+50,col*100+50,90,90);
         }
    }
    

    这里定义了一个圆的类,用它的构造方法来绘图,比较简单明了,然后在draw函数里面生成对象:

       for(int i=0;i<6;i++)
          {
             for(int j=0;j<6;j++)
              {
                  new Circle(i,j);
              }
          }
    

    结果如下图所示:
    效果图1

    下一步是添加扇形,扇形很明显是四个一组的,2*2的圆形中,每个扇形所在圆的位置都不同,可以用arc函数来进行扇形的绘制。
    arc函数的语法如下:

    arc(a, b, c, d, start, stop)

    根据圆形所处的位置不同,扇形所在的位置也不同,得出如下代码:

    public class Circle
    {
      Circle(int col,int row)
      {
        noStroke();
        fill(255);
        ellipse(row*100+50,col*100+50,90,90);
        
        if(col%2==0 && row%2==0)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,0,0+HALF_PI);
        }
        
        if(col%2==0 && row%2==1)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,0+HALF_PI,0+PI);
        }
        
        if(col%2==1 && row%2==1)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,0+PI,0+PI+HALF_PI);
        }
        
        if(col%2==1 && row%2==0)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,0+PI+HALF_PI,0+2*PI);
        } 
      }
    }
    

    输出结果如下:
    效果图2
    然后就是想办法让他动起来,也很简单,让arc函数中的最后两个参数,也就是起始点和结束点动态变化就行了,代码如下:

    float time;
    public class Circle
    {
      Circle(int col,int row,float curAngle)
      {
        noStroke();
        fill(255);
        ellipse(row*100+50,col*100+50,90,90);
        
        if(col%2==0 && row%2==0)
        {
          noStroke();
          fill(0);
          curAngle=2*PI-curAngle;
          arc(row*100+50,col*100+50,90,90,curAngle,curAngle+HALF_PI);
        }
        
        if(col%2==0 && row%2==1)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,curAngle+HALF_PI,curAngle+PI);
        }
        
        if(col%2==1 && row%2==1)
        {
          noStroke();
          fill(0);
          curAngle=2*PI-curAngle;
          arc(row*100+50,col*100+50,90,90,curAngle+PI,curAngle+PI+HALF_PI);
        }
        
        if(col%2==1 && row%2==0)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,curAngle+PI+HALF_PI,curAngle+2*PI);
        } 
      }
    }
    
    void setup()
    {
      size(600,600);
    }
    
    void draw()
    {  
          background(600,600);
          background(0);
          time=millis()/10%360;
         
          for(int i=0;i<6;i++)
          {
             for(int j=0;j<6;j++)
              {
                  new Circle(i,j,time*3.1415926/180);
              }
          }
    }
    

    这里,使用了millis函数,millis的官方文档如下:

    millis() :Returns the number of milliseconds (thousandths of a second) since starting the program. This information is often used for timing events and animation sequences.

    简单来说,就是获取当前的微秒数,但是因为微妙单位太小了,所以我除了10,在取余360,这样一来time变量的值就会在0到360的范围内变化。
    至此,最基本的样子已经有点出来了:
    GIF1.gif
    但是仔细观察不难发现,这个图和原图还是有点差别,原图中扇形的旋转并不是匀速的,而是一种类似正弦运动的形式。
    不过,直接用整段的正弦函数是不行的,原因是正弦函数的变化是周期性的,而且函数值先增加后减少。而我们只需要[0,π/2]上的这一段就可以了。
    由于在四个象限都要进行变化,所以要进行四次[0,π/2]上的正弦变换。代码如下:

           if(time>0&&time<=90)
           {
              angle=90*sin(time*PI/180);
           }
           if(time>90&&time<=180)
           {
              angle=90+90*sin((time-90)*PI/180);
           }
           if(time>180&&time<=270)
           {
              angle=180+90*sin((time-180)*PI/180);
           }
           if(time>270&&time<=360)
           {
              angle=270+90*sin((time-270)*PI/180);
           }      
    

    最后效果如下:
    GIF2.gif
    最后附上所有源代码:

    float time;
    float angle;
    public class Circle
    {
      Circle(int col,int row,float curAngle)
      {
        noStroke();
        fill(255);
        ellipse(row*100+50,col*100+50,90,90);
        
        if(col%2==0 && row%2==0)
        {
          noStroke();
          fill(0);
          curAngle=2*PI-curAngle;
          arc(row*100+50,col*100+50,90,90,curAngle,curAngle+HALF_PI);
        }
        
        if(col%2==0 && row%2==1)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,curAngle+HALF_PI,curAngle+PI);
        }
        
        if(col%2==1 && row%2==1)
        {
          noStroke();
          fill(0);
          curAngle=2*PI-curAngle;
          arc(row*100+50,col*100+50,90,90,curAngle+PI,curAngle+PI+HALF_PI);
        }
        
        if(col%2==1 && row%2==0)
        {
          noStroke();
          fill(0);
          arc(row*100+50,col*100+50,90,90,curAngle+PI+HALF_PI,curAngle+2*PI);
        }
        
      }
    }
    
    void setup()
    {
    
      size(600,600);
      //frameRate(60);
    }
    
    void draw()
    {  
          background(600,600);
          background(0);
          time=millis()/10%360;
           if(time>0&&time<=90)
           {
              angle=90*sin(time*PI/180);
           }
           if(time>90&&time<=180)
           {
              angle=90+90*sin((time-90)*PI/180);
           }
           if(time>180&&time<=270)
           {
              angle=180+90*sin((time-180)*PI/180);
           }
           if(time>270&&time<=360)
           {
              angle=270+90*sin((time-270)*PI/180);
           }      
          for(int i=0;i<6;i++)
          {
             for(int j=0;j<6;j++)
              {
                  new Circle(i,j,angle*3.1415926/180);
              }
          }
    }
    

    原创作品

    在临摹完第一幅作品之后,我开始制作第一幅原创作品。在openprocessing上看了很多其他人的作品后,有了一点思路。
    先来看看最后的效果吧:
    GIF3.gif

    是会生成一些渐变色的点,跟随鼠标而移动的效果。
    那么下面来介绍这个作品的制作过程。
    首先,来介绍一下PVector,描述文档如下:

    A class to describe a two or three dimensional vector, specifically a Euclidean (also known as geometric) vector. A vector is an entity that has both magnitude and direction. The datatype, however, stores the components of the vector (x,y for 2D, and x,y,z for 3D). The magnitude and direction can be accessed via the methods mag() and heading().
    In many of the Processing examples, you will see PVector used to describe a position, velocity, or acceleration. For example, if you consider a rectangle moving across the screen, at any given instant it has a position (a vector that points from the origin to its location), a velocity (the rate at which the object’s position changes per time unit, expressed as a vector), and acceleration (the rate at which the object’s velocity changes per time unit, expressed as a vector). Since vectors represent groupings of values, we cannot simply use traditional addition/multiplication/etc. Instead, we’ll need to do some “vector” math, which is made easy by the methods inside the PVector class.

    它是一个封装好的向量,可以表示位置,速度和加速度,还有封装的函数,十分方便。于是首先,我先定义了三个PVector变量,分别表示位置,速度和加速度,将它们放在Point类的构造方法中,并初始化位置变量为屏幕内的随机位置:

    class Point {
      PVector Position, speed, accelerate; 
      Point(){
      Position = new PVector(random(width), random(height));
      speed= new PVector();
      accelerate= new PVector();
      }
    }
    

    接着,我在Point类里写了两个函数,一个render()用于绘画点,一个update()用于更新点的位置。

      void render(){
      fill(0);
      noStroke();
      ellipse(Position.x,Position.y,10,10);
      }
      void update(){
      accelerate = new PVector(mouseX-Position.x, mouseY -Position.y); 
      speed.add(accelerate);
      Position.add(speed);
      }
    

    但是效果不是很理想,几乎所有的点都会因为离鼠标的距离太远导致加速度过大,都会聚集在一点,就没有环绕跟随的感觉了。我查询了API,得知PVector类里面有一个limit方法,可以限制向量的大小,于是我添加了这两句:

    accelerate.limit(1);
    speed.limit(20);
    

    如此一来,最基础的效果已经实现了,接下来添加渐变色的效果。
    这个也不难,只要将render函数里面的fill(0)语句改动一下。为了实现渐变色的效果,我选择了在将点实例化的过程中改变颜色,将render函数改为R,G,B三个形参的形式。然后再在draw函数里定义abc三个变量存储渐变的数据。代码如下:

    void render(int R,int G,int B){
      fill(R,G,B);
      noStroke();
      ellipse(Position.x,Position.y,10,10);
      }
    void draw(){
      int a=millis()/10;
      int b=millis()/50;
      int c=millis()/100;
      fill(255,255,255,50);
      rect(0,0,800,800);
      for( int i =0; i < points.length; i++){
        points[i].update(); 
        points[i].render(c,b,a); 
      } 
    }
    

    这样一来就大功告成了,最后贴出全部源代码:

    class Point {
      PVector Position, speed, accelerate; 
      Point(){
      Position = new PVector(random(width), random(height));
      speed= new PVector();
      accelerate= new PVector();
      }
      void render(int R,int G,int B){
      fill(R,G,B);
      noStroke();
      ellipse(Position.x,Position.y,10,10);
      }
      void update(){
      accelerate = new PVector(mouseX-Position.x, mouseY -Position.y); 
      accelerate.limit(1);
      speed.add(accelerate);
      speed.limit(20);
      Position.add(speed);
      }
    }
    Point [] points = new Point[50];
    void setup(){
      size(800,800);
      background(255);
      for( int i =0; i < points.length; i++){
        points[i] = new Point();
      }
    }
    void draw(){
      int a=millis()/10;
      int b=millis()/50;
      int c=millis()/100;
      fill(255,255,255,50);
      rect(0,0,800,800);
      for( int i =0; i < points.length; i++){
        points[i].update(); 
        points[i].render(c,b,a); 
      } 
    }
    

    总结

    本次对processing的尝试可以说遇到了不少的困难,但是最后完成作品也非常的有成就感,让我深切的感受到了代码也可以和艺术很好的结合,让人产生美的观感。

    展开全文
  • processing 安装包

    2020-11-21 15:04:22
    processing 安装包,官网下载很慢。Processing 实现了使用代码进行交互艺术设计,用途很广,具体用途和作品可以自己多百度了解。
  • 使用Eclipse编写Processing小程序

    千次阅读 2016-03-17 13:42:20
    更多精彩的Processing编程语言相关的资讯,可以扫码关注公众号:Processing学习部落,欣赏好玩的Processing艺术作品: 使用Processing自家的PDE进行sketch的写作很方便,但是要想写更复杂一些的程序,那么PDE是...

    更多精彩的Processing编程语言相关的资讯,可以扫码关注公众号:Processing学习部落,欣赏好玩的Processing艺术作品:


    Processing学习部落

    使用Processing自家的PDE进行sketch的写作很方便,但是要想写更复杂一些的程序,那么PDE是不够的,就需要转而使用Eclipse,Netbeans一类的集成工具。

    文件概览

    今天就初步总结如何使用Eclipse进行Processing的程序开发。
    首先,我们可以在下载好的Processing软件包中,解压。我们以processing-3.0.2-windows64为例,在core文件夹下,进入是libeary文件夹,进去第一个就是core.jar包。

    引入core.jar到Eclipse

    在Eclipse中新建一个Java项目,命名为FirstP5ApplicationInEclipse,点击File–>Import–>General–>File System,进入下一步,点击Browser浏览到core.jar所在位置,在Into folder处,点击Browser,会弹出Eclipse中的项目供你选择,本次选择FirstP5ApplicationInEclipse,点击Finish完事,这样core.jar就进入Referenced Libraries,这是第一步,为了让这个jar可以使用,还得进行Build Path操作,右击core.jar,选择Build Path即可。

    编写测试代码

    在src目录下,写一个简单类,包名自拟或者默认:

    package biz.bing;
    
    import processing.core.*;
    public class Class1 extends PApplet {
    
        public void setup() {
            size(800,600);
        }   
    
        public void draw() {
            background(0);
            drawEllipse();
        }
    
        public void drawEllipse(){
            background(100);
            fill(140,120,30);
            ellipse(mouseX,mouseY,50,50);
        }
    }

    使用

    import processing.core.*;

    引入core.jar中所有的方法,或者有针对性的引入亦可。

    这样就可以运行了。

    测试效果为一个Applet,一个跟随鼠标移动的圆形。

    展开全文
  • Processing-当使用代码来绘画

    千次阅读 2020-06-05 00:41:58
    最近机缘巧合知道了processing,加上原本对艺术方面感兴趣,便试着学了下,中间也做出了很多有趣的作品,下面简单介绍下processing和近期写的程序。 官网介绍如下: Processing is a flexible software ...

    最近机缘巧合知道了processing,加上原本对艺术方面感兴趣,便试着学了下,中间也做出了很多有趣的作品,下面简单介绍下processing和近期写的程序。

    官网介绍如下:

    Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.

    也就是说processing是个软件速写本也是一门语言,个人认为更偏向前者,processing是基于JAVA语言实现的, 从语法和数据类型上和JAVA或C++类似,因此学起来也比较快。

    下面是一些简单的作品:

    随机位置随机大小绘制半透明圆,色系还挺好看的嘿嘿。

    同样的原理,简单的渐变色笔触,不过可以看出来很多圆圈,之后深入学再看怎么去掉。

     

    让人想到地砖哈哈。

    说不出来的感觉,有点眼熟,不知道在哪看过。

    根据中心距离计算颜色。然后就想做个动态的涟漪效果。

     

    好像也不是涟漪的效果emmm

    最后就是用processing实现的一个生命游戏,挺有趣的哈,写了一点交互的逻辑,可以控制开始和停止,随时添加新的生命,改变演化速度。自己玩的时候试了下滑翔机记忆高斯帕滑翔机枪,确实有相应的效果。

    中间调节了一下速度。

    著名的高斯帕滑翔机枪。不过初始图像画起来好麻烦,好奇是怎么发现这种复杂又有规律的图案的。 

    如果对生命游戏代码有兴趣的可以去我的资源里下载。之后有时间还会慢慢学习processing,期望能做出更好看的图案和更好的交互效果。

    展开全文
  • OpenProcessing上的那些有趣的作品

    千次阅读 2019-10-11 17:36:03
    在Open Processing上看到几个不错的作品! 1.Scientist Typer 2.Boolean Network https://www.openprocessing.org/sketch/559369 3.Kanji Networkhttps://www.openprocessing.org/sketch/536860 5.Rorschach ...
  • Processing_1.51原创实例

    2012-05-16 09:19:27
    本人自己书写的Processing实例,是帮忙别人书写的平面构成实例 实现了多色彩鱼群在屏幕上自由涌动,并吐气泡,气泡左右抖动上升,变大,速度不一。基本模拟了鱼和气泡的真实状况。
  • 基于Processing的动画交互

    千次阅读 多人点赞 2019-04-25 11:25:41
    基于processing的动画交互基本介绍总览结果分部设计及源代码1、 添加字体2、球随鼠标3、两个对象之间的引力4、...整个系统运用了《代码本色》中力、震荡、粒子系统三大章,生成了各自独立的三个场景,通过键盘的交...
  • 鲤——processing动画交互应用

    千次阅读 多人点赞 2019-05-03 21:41:50
    鲤——processing动画交互应用 前言 目录 1.应用设计 2.编写过程 3.最终成果 4.参考资料 应用设计 编写过程 最终成果 参考资料
  • Processing创意编程 -《代码本色》

    千次阅读 2020-01-04 23:53:16
    Processing创意编程 -《代码本色》Introduction范例程序个人创新实现结果Chapter #1 Vectors范例程序个人创新实现结果Chapter #2 Forces范例程序个人创新实现结果Chapter #3 Oscillation范例程序个人创新实现结果...
  • processing-4.0a1-windows64

    2020-01-22 20:07:34
    Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给...以 Processing 完成的作品可在个人本机端作用,或以Java Applets 的模式外输至网络上发布
  • 医学图像处理 纪实作品 医学影像处理 WS-2014
  • Processing——码绘与手绘对比静态篇

    千次阅读 2018-11-24 01:48:23
    使用processing编程作画时会首先考虑到运用哪些函数而非画面,作画因此会有所受限。作画途中会因技术问题不断修改画面组成元素,因此最终成果画面与预想画面相差较大。而手绘时受限不大,想画什么就画什么,最终成果...
  • Processing 入门基础【秒懂小白篇】

    千次阅读 2017-07-24 18:12:00
    编程是一个俱乐部的入场券,是一个圈子的投名状。很多人看到这两字都会...况且我想告诉你的是,Processing作为一门画画的编程语言,真的很简单,一学就会。近年来,它在艺术、交互、动画、数据可视化、视觉设计、原型
  • 用于低级图像处理的神经网络 直到最近,机器学习(ML)和神经网络(NN)一直主要用于高级视觉任务,例如图像分割,分类和目标检测。 诸如去噪,去马赛克,白平衡之类的低级图像处理任务仍然主要依靠基于信号处理的...
  • processing实现动态和交互-屁民科普

    万次阅读 多人点赞 2018-11-24 18:43:25
    processing实现动态和交互-屁民科普 一开始看了很多的例子,寻找灵感,做了几个尝试 (因为博主不太会搞动态图,所以这些交互的部分,没有办法看动图233,所以就贴了个图,有点丑陋,想看效果的可以把代码复制...
  • processing 星空图数据可视化效果

    热门讨论 2013-04-12 15:00:19
    processing写的数据可视化的效果,具体分析的是企业网络数据,约十万行的数据。。采用的可视化效果是星空图。星空图有简单的交互功能。 自己参考文献写出来的东西,没有用什么高深的算法,很简单理解。 做了一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,273
精华内容 2,109
关键字:

processing小作品