오늘은 좀더 발랄한 동그라미 군단을 표현해 보겠습니다~~^^* 흠…좀더 발랄한 군단이라니…그~~게 뭘~~까요~~? 궁~~금하~~시죠~~^^*
아래 동영상 강의를 클릭하시면 오늘 공부내용 바로 시작(3:18)할 수 있어요~~^^* 4:18까지 보시면 오늘 공부 끝~~^^*
네~~, 동그라미들이 각각 다른 속도로 움직인다면 좀더 발랄하게 보이겠네요!!
그래서!!!
동그라미들의 각각의 속도를 저장하는 배열을 만들어 사용해 보겠습니다!!
먼저~~, 각 동그라미들이 자신의 좌우에 있는 동그라미들의 속도와 전혀 관계가 없는 속도를 가지고 움직이도록 만들어 봅시다~~^^*
음…그럴려면….그렇죠!!!
우리에겐 함수 Radom()이 있습니다~~~!!!
무작위적인 크기의 값을 동그라미들의 속도 값으로 설~~정해 주면 어~~떨까요~~^^*
실험~~~시작~~~!!! Le~~t’s Go~~~!!
민트초코에 대한 사람들의 반응은 참~~~제각각이죠~~~^^* 민초파와 반미초파가 함께 어울려 살아가는 아름다운 세상을 표현해 보았습니다~~함께 보시죠~~^^*
let angles = [];
//동그라미들 각각의 회전각 크기 값을 담을 배열입니다~
let angleV = [];
//동그라미들 각각의 회전각 속도 값을 담을 배열입니다~~
let r = 16;
function setup() {
createCanvas(400, 400);
let total = floor(width/(r*2));
for( let i = 0; i < total; i++){
angles[i] = 0;
angleV[i] = random(-0.1, 0.1);
// -0.1에서 0.1 사이의 값을 무작위적으로 추출하여 각각의 동그라미 회전각속도로 저장하겠습니다~~
}
}
function draw() {
background(220);
translate(200, 200);
stroke(200, 125, 125);
//초코색으로 선을 그려보겠습니다~
fill(0,255, 255);
//민트색으로 동그라미를 색칠해 보겠습니다.
for( let i = 0; i < angles.length; i++){
let x = map(i,0, angles.length, -200+r, 200+r);
let y = map(sin(angles[i]), -1, 1, -200, 200);
line(x,0,x,y,);
circle(x, y, r*2);
angles[i] += angleV[i];
//동그라미 회전각 크기 값을 동그라미 각각 설정된 회전각 속도 값만큼 증가시킵니다~
}
}
이번엔, 동그라미들이 자신의 좌우에 있는 동그라미들과 조화롭게 움직이는 모습을 표현해 볼게요~~^^*
음….서로의 회전각속도가 어떤 상관관계를 가지고 있으면 어떨까요?
왼편에서 오른편으로 갈 수록 속도가 증가하도록 만들어 보겠습니다!
let angles = [];
let angleV = [];
let r = 16;
function setup() {
createCanvas(400, 400);
let total = floor(width/(r*2));
for( let i = 0; i < total; i++){
angles[i] = 0;
angleV[i] = 0.01 + i/100;
//angleV[0] = 0.01 + 0 = 0.01
//angleV[1] = 0.01 + 0.01 = 0.02
//angleV[2] = 0.01 + 0.02 = 0.03
//angleV[3] = 0.01 + 0.03 = 0.04
//angleV[4] = 0.01 + 0.04 = 0.05
//angleV[5] = 0.01 + 0.05 = 0.06
//점점 큰 값이 angleV[] 배열에 차례로 저장되네요~^^*
}
}
function draw() {
background(255);
translate(200, 200);
stroke(0, 255, 125);
//풀잎을 그려볼게요~~
fill(0,125, 255);
//시원한 바람을 그려볼게요~~
for( let i = 0; i < angles.length; i++){
let x = map(i,0, angles.length, -200+r, 200+r);
let y = map(sin(angles[i]), -1, 1, -200, 200);
line(x,0,x,y,);
circle(x, y, r*2);
angles[i] += angleV[i];
}
//네~~, 바닷바람보다 먼저 눕고 바닷바람보다 먼저 일어나, 파락파락 몸을 서로 흔들며 지지배배 노래를 함께 부르다, 산바람보다 먼저 눕고 산바람보다 먼저 일어나는 풀잎이예요~~ 시원~~하지요~~? 여름맞이 대선물~~^^* 드려요~~^^*
}
오늘은 때론 개성있게! 때론 조화롭게!
Vertical Oscillation을 하는 동그라미 군단을 만들어 보았습니다!
어머! 갑자기! 어느 멋진 소녀군단이 떠오르는데요!!!
네~~^^* 오늘도 저와 함께 코딩공부 해주셔서 감사합니다~^^* 멋진 하루 보내시고요~^^*
우리 내일 또 만나서, 함께 코딩공부 해요~~~^^*
넵! 꿈은 이루어 집니다~~!!!
댓글 남기기