使用自己拓展的线条库进行交互式创作A2——笔触的动态与色彩&情感
在A1中拓展了很多线条、2维形状的库,现在将更多交互的手段,将这些基本元素转变为画笔来进行“码绘”吧!
点击回顾下上一篇!
- 画笔1——拓展的迭代半圆弧
首先设置鼠标点击时才能绘制
if (mouseIsPressed) {
if (mouseButton === LEFT) {
DArc0417(size,gen,T);
}
}
接着是可以调整画笔的粗细和清除屏幕
function keyPressed() {
if (keyCode === UP_ARROW) {
size++;
} else if (keyCode === DOWN_ARROW) {
size--;
}
else if(keyCode === DELETE)
{
background(255);
}
return false; // prevent default
}
记得在画纸的左上角画出预览,好直到画笔当前的状态
看看效果:
梵高棺材板压不住了
画笔2—随机彩点 实现很简单,代码在 上一篇
把它设置成和上一个类似的画笔
function setup() {
createCanvas(400, 400);
size=20;
}
function draw() {
//background(220);
T=millis();
point0424(10,10,2,4,T,size);
if (mouseIsPressed) {
if (mouseButton === LEFT) {
for(var i=1;i<=50;i++)
{
point0424(mouseX,mouseY,1,2,T,size);
}
}
}
}
function keyPressed() {
if (keyCode === UP_ARROW) {
size++;
} else if (keyCode === DOWN_ARROW) {
size--;
}
else if(keyCode === DELETE)
{
background(255);
}
return false; // prevent default
}
function point0424(x,y,sizeMin,sizeMax,T,size)
{
strokeWeight(sizeMin+abs(sin(T/2000)*(sizeMax-sizeMin)));
for(var i=1;i<=5;i++)
{
stroke(T/4%255,T/8%255,T/16%255);
point(x+size-2*random(size),y+size-2*random(size));
}
}
来看看效果吧:
蒙德里安坐不住了
其实还不错吧,哈哈哈
太好玩啦,接着整!
- 画笔三——几何画笔
function setup() {
createCanvas(1000, 1000);
size=10;
}
function draw() {
translate(mouseX,mouseY);
rotate(millis()/500);
if (mouseIsPressed) {
if (mouseButton === LEFT) {
dr();
}
}
}
function keyPressed() {
if (keyCode === UP_ARROW) {
size++;
} else if (keyCode === DOWN_ARROW) {
size--;
}
else if(keyCode === DELETE)
{
background(255);
}
return false; // prevent default
}
function dr()
{
for(var j=1;j<=10;j++)
{
SixAngleStar0424(random(20),random(20),random(size),4+mouseY/50+mouseX/50,225)
}
}
function triangle0424(x,y,size,C)//正三角形,位置,半径,灰度
{
fill(C);
triangle(x,y-size,x+size*cos(PI/6),y+size/2,x-size*cos(PI/6),y+size/2);
}
function SixAngleStar0424(x,y,size,N,C)
{
for(var i=1;i<=N;i++)
{
rotate(2*PI/N);
triangle0424(x,y,size,C*((N-i)/N));
}
}
这个效果太棒啦啊啊啊啊
刚刚的几个画笔都是基于笔触的感知之后模拟出来的效果,
梵高的星空本身就有很强的动感和旋转的感觉,所以使用旋转的画笔是十分合适的