Processing创意编程(进阶篇)

  • 一、前言
  • 二、常用语法
    • 1、random随机数生成函数
    • 2、map映射函数
    • 3、noise噪声函数
    • 4、导入图片
    • 5、dist距离函数
    • 6、一维数组
    • 7、二维数组
    • 8、class类
  • 四、参考资料

【转载请注明出处: https://leytton.blog.csdn.net/article/details/122153961】

一、前言

本系列教程共三篇:
1、《Processing创意编程(入门篇)》
2、《Processing创意编程(进阶篇)》
3、《Processing创意编程(熟练篇)》

官方文档地址:https://processing.org/reference/

二、常用语法

1、random随机数生成函数

语法:random(a,b),产生区间为[a,b),即包含a,不包含b,的随机浮点数。
random(b)的范围为[0,b)

参考资料 https://processing.org/reference/random_.html

如下图所示:

2、map映射函数

引用视频里的一张图:

比如,画布宽度为width,那么鼠标坐标的x范围是0width,我们根据x的变化来改变背景色0255。代码如下:

void setup(){//启动时执行一次的函数size(800,800);//画布大小
}void draw(){ float x=map(mouseX,0,width,0,255);float y=map(mouseY,0,height,0,255);background(x,y,100);
}

运行效果如下:

3、noise噪声函数

引用视频里的一张图:

上代码:

float t=0;
void setup(){//启动时执行一次的函数size(800,800);//画布大小stroke(0);//画笔颜色为黑色strokeWeight(3);//画笔粗细
}void draw(){background(255);//清空画布为白色t=map(mouseX,0,width,0,10);//根据鼠标位置生成初始随机数种子for(int i=0;i<width;i++){line(i,0,i,height*noise(t));t+=0.01;}
}

4、导入图片

图片放在项目的data目录下,直接把图片拖到编辑器会自动添加。
代码如下:

PImage img;
void setup(){//启动时执行一次的函数size(800,800);//画布大小img=loadImage("wowa.jpg");//载入图片wowa.jpg,图片要保存在data文件夹下。img.resize(800,800);//调整图片大小image(img,0,0);//显示图片从0,0坐标
}

5、dist距离函数

dist用于计算两点之间距离。

dist(x1, y1, x2, y2)
dist(x1, y1, z1, x2, y2, z2)

6、一维数组

void setup(){//启动时执行一次的函数size(800,800);//画布大小int colors[]={#f44336,#e91e63,#9c27b0,#3f51b5,#4caf50,#8bc34a};for(int i=0;i<colors.length;i++){fill(colors[i]);rect(50*i,0,50,50);}
}

7、二维数组

void setup(){//启动时执行一次的函数size(800,800);//画布大小int colors[][]={{#f44336,#e91e63,#9c27b0},{#3f51b5,#4caf50,#8bc34a}};for(int i=0;i<colors.length;i++){for(int j=0;j<colors[i].length;j++){fill(colors[i][j]);rect(50*j,50*i,50,50);}}
}

8、class类

创建10个圆,每个圆位置半径随机。位置慢慢移动、半径慢慢变大。

int num=10;
Circle[] circles=new Circle[num];
void setup(){//启动时执行一次的函数size(800,800);//画布大小for(int i=0;i<num;i++){circles[i]=new Circle(random(0,width),random(0,height),random(10,50));}}void draw(){background(0);for(int i=0;i<num;i++){circles[i].update();circles[i].show();}
}class Circle{float x,y,r;Circle(float x,float y,float r){this.x=x;this.y=y;this.r=r;}void update(){this.x+=0.1;this.y+=0.1;this.r+=0.1;}void show(){ellipse(x,y,r,r);}
}

效果如下:

四、参考资料

二锅头【Processing零基础中文教程】2、进阶篇

如果本文对你有帮助,请点个赞让我知道哦

Processing创意编程(进阶篇)相关推荐

  1. Shell编程进阶篇(完结)

    1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或 ...

  2. 【Linux系统管理】10 Shell 编程进阶篇

    六 Shell 编程 6.1 正则表达式 6.1.1 概述 还记得我们在上一章说过正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)吗?其实这种区别 ...

  3. linux脚本编程if[-z],Linux基础之bash脚本编程进阶篇-选择执行语句(if,case)

    bash脚本的书写规范简介 看本文需要了解的脚本撰写习惯:bash 开头顶格写#!紧接着写解释器路径/bin/bash 由于bash属于脚本语言,脚本语言的运行方式 解释运行:源代码 --> 运 ...

  4. 计算机编程书籍-笨办法学Python 3:基础篇+进阶篇

    编辑推荐: 适读人群 :本书适合所有已经开始使用Python的技术人员,包括初级开发人员和已经升级到Python 3.6版本以上的经验丰富的Python程序员. "笨办法学"系列, ...

  5. js高级编程_这位设计师用Processing把创意编程玩到了极致!

    Processing作为新媒体从业者的必备工具,近来却越来越成为设计师们的新宠! 今天小编将介绍以为用Processing把创意编程玩到极致的设计师Tim Rodenbröker. "我们的 ...

  6. processing作品代码_创意编程 | Processing的初步学习

    8月9日,"江苏大运河文化创新性展示的人工智能数字艺术与设计人才培养"课程开课第九天.由江南大学人工智能学院教授钱鹏江和帕森斯设计学院副教授李肅綱 (Kyle Li)作为主讲人,分 ...

  7. Python音乐跳舞毯(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)

    出色的配音是本作品的一大亮点哦! 相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块制作的!所以本作品仍属于Python海龟画图作品 " ...

  8. Python创意编程100例turtle篇题目串烧

    海龟变身孙悟空,迷宫寻宝讲相声! 哪吒妙用孙子兵法,世界名人尽赞之.忍者品德好,遇见合金弹头主角时怦然心动了,赠送了他花框音乐盒. 生机勃勃的农场孕育了漂亮的二叉分形树.超级玛丽玩起坦克大战还邀请解& ...

  9. python精彩编程200例 pdf-Python创意编程200例turtle篇

    简 介: Python是一种高阶计算机语言.它更接近自然语言,学习成本低,开发效率高.如今越来越多的中小学生都在开始学习Python了.我们可以预见,全民会Python的日子不久就会到来,各行各业的人 ...

  10. 【创意编程】《暗潮》:processing随机游走及噪声之美

    [创意编程]暗潮:processing随机游走及噪声之美 在读<代码本色>的时候看到泊林噪声,一下子觉得这个东西可能是个非常有意思的东西.书后说perlin噪声能够产生很多自然界的纹理.模 ...

最新文章

  1. 用ajax连接mysql_页面用ajax实现简单的连接数据库
  2. 【转】郭敬明作品中100句经典的话
  3. 智能小车-红外循迹篇
  4. 速率法和终点法的区别_终点法 速率法 二点法
  5. git(icode)分支及发布管理方式
  6. Linux使用Wget实现整站下载
  7. 总结js实现字符串转JSON对象的几种方法
  8. AsyncTask下载图片
  9. 微软小冰之父李迪创业,沈向洋任执行董事,「红棉小冰」单飞
  10. GY-BMP280-3.3 高精度大气压强传感器模块
  11. crontab实现秒级的计划任务
  12. X11-forwarding笔记
  13. Q200 EX.查看写入和预计使用寿命
  14. 基于Ubuntu20.04运行OP-TEE_3.17.0_QEMU_V8的环境搭建
  15. canvas教程4-canvas的绘制功能
  16. 本周最新文献速递20210815
  17. Miktex 修改经验
  18. Macbook电池出现“建议维修”的解决办法
  19. ABAC权限控制学习
  20. 《奇点临近(The Singularity is Near:When Humans Transcend Biology)》

热门文章

  1. chm 已取消到该网页的导航,打不开!
  2. 21世纪最牛逼思想家的心路历程小结———哲学、宿命论
  3. 【微信小程序更改appid失败】微信小程序修改appid一直失败报错tourist appid解决办法
  4. java导出dbf_java 导出dbf格式
  5. 今天不知明天晚,独自面对心受伤
  6. 网站Banner的代码
  7. Apache Ignite(一):简介以及和Coherence、Gemfire、Redis等的比较
  8. IGame游戏公司的故事
  9. 联想硬盘启动计算机,win7系统联想台式电脑开机提示error 1962无法找到硬盘启动的解决方法...
  10. 计算机模拟地球爆炸,地球爆炸模拟器