시각화/프로세싱

▶ Processing :: 프로세싱 움직임 :: 랜덤한 움직임 만들기

비주얼라이즈 2014. 3. 15. 14:48


Processing :: 함께배우는 프로세싱

랜던한 움직임


지난 포스팅에서 움직임과 뱡항에 대하여 알아보았는데요

이번포스팅에서는 [랜덤한 움직임]을 살펴보겠습니다.



랜덤한 움직임을 만들기 전

포인트를 하나 정리하고 가겠습니다~




**랜덤 값 생성하기

random()함수는 항상 소수점이 있는 값을 반환

> = 왼쪽의 변수유형은 float이어야 한다는 점!


이 같은 내용을 아래의 코드에서 확인해볼까요?


void draw() {

float r = random(o, mouseX);

printIn(r);

}

위에서 설명한대로 random()함수 왼편에는

flaot함수가 있습니다.



자, 그럼 본격적으로

랜덤한 움직임을 표현하는 과정을

살펴보겠습니다!^^





void setup() {

size(240, 120);

smooth();

}


void draw() {

background(204);

for (int x = 20; x < width; x+= 20) {

flaot mx = mouseX/10;

float offsetA = random(-mx, mx);

float offsetB = random(-mx, mx);

line(x + offsetA, 20, x - offsetB, 100);

}

}


이 예제코드는 [손에 잡히는 프로세싱]을 참고하였습니다.


코드를 살펴보면,

random()함수가 for 구문 안에 위치 해 있는데요

이로인해 반복문이 실행되면서 행마다 새로운 랜덤값이 생깁니다.





런(Ctrl+R)하여 결과를 확인 해 보겠습니다.





런해보면 이렇게 막대들이 생성되는데요,
마우스를 막대의 왼쪽과 오른쪽으로 이동하면
각각 움직임이 달라지는 것을 확인 할 수 있습니다.^^

사진으로는 이해가 어렵기때문에
짧은 영상으로 만들어보았습니다~


잘보이시나요?
random()을 이용하면
정말 다양한 효과를 나타낼 수 있겠다는
생각이 들었습니다^^