killusa 发表于 2014-3-7 22:46:04

Processing与Arduino的互动


Processing是由美国麻省理工学院媒体实验室( M.I.T. Media Laboratory )美学与运算小组( Aesthetics Computation Group )的Casey Reas与Ben Fry创立的一款专为设计师和艺术家使用的编程语言,通过它无需太高深的编程技术便可以实现梦幻般的视觉展示及媒体交互作品。同时,也可结合Arduino等相关硬件,制作出回归人际物理世界的互动系统。    Processing编程不仅仅是计算机技术,它也可以创造出令人不可思议的艺术作品。
Processing软件的官方网站: http://www.processing.org/
软件下载地址: http://www.processing.org/download/目前国内唯一一本Processing专著是广州美术学院的谭亮老师编写的,书名《Processing互动艺术》。
内容简介   
谭亮编著的本书将引领你进入编程艺术的世界。本书揭示了运用Processing创建高质量互动艺术作品的奥秘,你将感受到Processing的敏捷性和艺术性,内容覆盖绘图、响应互动、动画、视频、3D、物理计算等专题。精选的实例将激发读者的想象力和创造的乐趣,阅读和练习本书的案例即能快速进入互动艺术创作。本书语言简洁易懂,案例设计独特,所有代码均可在线下载,适合于专业编程人员和学习互动艺术的读者。
购书当当网网址:http://product.dangdang.com/product.aspx?product_id=21120781&ref=search-1-pubProcessing软件是免费软件,下载后,不需安装,直接点击文件夹里的可执行文件,就可以直接进入下图编程界面。应用实例:1、Processing互动之双面花布// 2D Array of objects
Cell[][] grid;

// Number of columns and rows in the grid
int cols = 10;
int rows = 10;
void setup()
{
size(600,600);
smooth();
grid = new Cell;
for (int i = 0; i < cols; i++) {
    for (int j = 0; j < rows; j++) {
      // Initialize each object
      grid = new Cell(i*60,j*60,60,60,i+j);
    }
}
}
void draw()
{
if(mousePressed)
{      
   if(mouseButton==LEFT)
   {
      background(255);
      noFill();
      for(int d=0;d<75;d+=4)
      {
          for(int x1=0;x1<650;x1+=75)
          {
            for(int y1=0;y1<650;y1+=75)
            {
            stroke(random(255),random(255),120);
            strokeWeight(4);
            ellipse(x1,y1,d,d);
            }
          }
      }
      }
    else if(mouseButton==RIGHT)
    {
      background(255);
      for (int i = 0; i < cols; i++) {
      for (int j = 0; j < rows; j++) {
          // Oscillate and display each object
          grid.oscillate();
          grid.display();
      }
      }
    }
}
}
// A Cell object
class Cell {
// A cell object knows about its location in the grid as well as its size with the variables x,y,w,h.
float x,y;   // x,y location
float w,h;   // width and height
float angle; // angle for oscillating brightness

// Cell Constructor
Cell(float tempX, float tempY, float tempW, float tempH, float tempAngle) {
    x = tempX;
    y = tempY;
    w = tempW;
    h = tempH;
    angle = tempAngle;
}

// Oscillation means increase angle
void oscillate() {
    angle += 0.08;
}

void display() {
    stroke(255);
    strokeWeight(2);
    // Color calculated using sine wave
    fill(127+127*sin(angle));
    rect(x,y,w,h);
}
}
视频:
2、Processing互动之按动圣诞彩条文章网址:http://www.eefocus.com/zhang700309/blog/11-12/236384_d1025.html
视频:
3、Processing互动之电位计与螺旋线 文章网址:http://www.eefocus.com/zhang700309/blog/11-12/236406_297da.html
视频:
4、Processing互动之光敏电阻与莫奈油画文章网址:http://www.eefocus.com/zhang700309/blog/11-12/236514_6b541.html
视频:
5、Processing互动之红外热释与感应路灯文章网址:http://www.eefocus.com/zhang700309/blog/11-12/236547_ad91f.html视频:
6、Processing互动之彩圈阵列的超声波效应文章网址:http://www.eefocus.com/zhang700309/blog/11-12/236613_9abb1.html
视频:
7、Processing互动之震动泡泡文章网址:http://www.eefocus.com/zhang700309/blog/12-01/236725_22a53.html
视频:



iooops 发表于 2015-12-15 01:45:44

啊~~~~
页: [1]
查看完整版本: Processing与Arduino的互动