p5创意编程

编程入门 行业动态 更新时间:2024-10-27 01:24:00

p5<a href=https://www.elefans.com/category/jswz/34/1765490.html style=创意编程"/>

p5创意编程

p5.js是一套具有类似Processing编程语言的可视化JavaScript库,是当代Web的Processing,能够比得上甚至优于D3.js、EaselJS、Three.js、 Raphaël、 KineticJS、Paper.js、Famo.us,或者是Impact等类库。

p5.js有完整的一套画图功能,既可当作画图软件使用,也包括支持与各类页面元素交互的库。然而,开发者没有被限制自己的画布上,他们可以把整个浏览器 页面作为自己的素描区域。正因为如此,P5.js有一个插件库能够使得开发者非常容易地与其它HTML5对象(包括文本、输入、视频、网络摄像头和声音) 进行交互。

临摹作业
运动规律

小球从中间往外运动,运动到设定的终点之后就弹回

代码

function setup() {createCanvas(540, 540);noStroke();colorMode(HSB, 1);
}var N = 16,n = 6;
var th, r, t;
var speed = 7e-4;function draw() {background(220);t = (Date.now() * speed) % 1;console.log(t);background(0);push();translate(width / 2, height / 2);for (var i = 0; i < N; i++) {for (var j = 0; j < n; j++) {fill(i / N, 1, j / n);push();th = TWO_PI * i / N;rotate(th);r = 130 + 90 * cos(3 * th + TWO_PI * t +.065 * j);ellipse(r, 0, 10 + .5 * j, 10 + .5 * j);pop();}}pop();
}

拓展
旋涡

var ticker = void 0;
var positions = void 0;
var nrOfCircles = void 0;function setup() {noFill();ticker = 0;positions = [];nrOfCircles = 200;for (var i = 0; i < nrOfCircles; i++) {addPosition();}createCanvas(windowWidth, windowHeight);
}function addPosition() {var pos = getPosition();positions.unshift(pos);ticker += 0.01;
}function getPosition() {var xOffset = (noise(ticker) - 0.5) * windowWidth * 0.5;var yOffset = (noise(ticker + 1000) - 0.5) * windowHeight * 0.5;return [xOffset, yOffset];
}function draw() {clear();strokeWeight(1);translate(windowWidth / 2, windowHeight / 2);var m = max(windowWidth, windowHeight) * 1.8;var stepSize = m / nrOfCircles;var r = 1;positions.forEach(function(p) {ellipse(p[0], p[1], r, r);r += stepSize;});addPosition();positions.pop();
}function drawCircle() {}function windowResized() {resizeCanvas(windowWidth, windowHeight);
}

更多推荐

p5创意编程

本文发布于:2024-03-05 20:31:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1713334.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:创意

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!