主要是说 如果我们有一个座标就可以知道如何使用一个韵律
0 -> 1 -> 0 -> -1 -> 0
这样的结果变化。1 -> 0 -> -1 -> 0 -> 1
这样的结果变化。透过这个方式我们可以用它来做一些 韵律的一些动作
再利用delta去做波动的调整 可以调整出不一样的曲线设定 这样你就可以做出一种图层式的渐变效果
function draw() {
background(0);
colorMode(HSB)
noStroke();
translate(width/2,height/2);
for(let o=-width/2;o<width;o+=50){
for(let a=-width/2;a<width;a+=50){
let delta = map(a,-width/2,width/2,0,5); // 增加一些delta的设定
let ratio = map(sin(frameCount/10+delta+o/50),-1,1,0,1) // 更换颜色
fill(180*ratio,80,80);
let bouncs = (sin(frameCount/100+a) + 1)*50; // 利用sin 去做一个动态的设定
ellipse(a, ratio+o , bouncs);
};
}
}
atan2 把y 和 x变化量换算为角度 利用他们间距去看一个非常靠近你的一种设计风格
function eye(x,y,sc){
push();//限制制作的开始
translate(x,y);//设定座标位置/
scale(sc);//缩小眼睛
fill(255);
ellipse(0,0,200);
fill(0);
let ang = atan2(mouseY-y,mouseX-x); //atan2 把y 和 x变化量换算为角度
rotate(ang)
ellipse(50,0,100);
pop();//限制制作的结束 如果没有设定会互相交叉影响
}
function draw() {
// ellipse(mouseX, mouseY, 20, 20);
background(0);
for(var o=0;o<height;o+=100){
for(var i=0;i<width;i+=100){
eye(i,o,0.4);
};
};
}
可以透过这种方式去做不一样的排列组合 放入array 再去把它随机长出来
noise() 利用这个去获取些微变化的 变数效果
function draw() {
// ellipse(mouseX, mouseY, 20, 20);
translate(width/2,height/2);
for(var i=0;i<400;i++){
let ang = i/10 + frameCount/50;
let r = i+ noise(i/10)*map(mouseX,0,width,0,100)
ellipse(cos(ang)*r,sin(ang)*r,50); // 利用cos跟 sin 去做原型座标位置
text('hello'[i%5],cos(ang)*r,sin(ang)*r)
}
}
透过noise 我们可以做出不同的 应用:地形生成、色相仪、云朵…
延伸阅读:Perlin Noise
function easeOutElastic(x){
const c1 = 1.70158;
const c2 = c1 * 1.525;
return x < 0.5
? (pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2
: (pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;
}
function draw() {
// ellipse(mouseX, mouseY, 20, 20);
background(0);
translate(width/2,height/2);
for(var i=0;i<20;i++){
push();
rotate(2*PI/20*i);
let ratio = map(((frameCount*5 + i*2)%width),0,width,0,1);
let result = easeOutElastic(ratio);
ellipse(0,200*result,100);
pop();
}
<<: Day-21 队列(Queue)与循环对列(Circular Queue)
使用的python函式库为: sudo pip3 install adafruit-circuitp...
这是段 UI、UX & Me 的故事。 D 搭 D 工作坊 在今年年初的时候,我从 GDG ...
前言 Tableau Desktop 让我们不用写到一行程序就能进行资料探索,但不代表我们不能撰写程...
5 路由器 (Router) 一种专门处理封包传输的设备,透过处理路径位置来传输资料;主要工作在网路...
苏格拉底的名言:"我知道我甚麽都不知道!" 但是,如果没有人把这句话记录下来,大...