Noise and randomness

Noise generators

사용자는 noise, wnoise, vnoise, onoise, snoise, anoise 함수들로 noise를 만들 수 있다.

각 함수들은 noise를 만드는데 서로 다른 알고리즘을 나타낸다. 이 것은 사용자가 서로 다른 메소드들 간에 빠른 교환을 할 수 있도록 한다.게다가 다른 메소드와 이전의 메소드들을 통해 생성된 noise 값을 비교할 수 있다.

서로 다른 타입의 noise를 계산하는 상대적 비용은 대략적으로 다음과 같다 :

Noise type Relative cost
Perlin noise (noise) 1.0
Original perlin noise (onoise) 1.1
Worley noise (wnoise) 1.8
Sparse Convolution noise (snoise) 2.1
Alligator noise (anoise) 2.3

Random number generators

random은 N 차원(N은 1~4차원이다) 공간에서 위치를 기반으로 난수를 발생시킨다. 정수 격자 point들 간의 랜덤 값을 부드럽게 보간하는 noise 함수들과 다르게, random 함수는 그렇지 않는다. random() 함수들은 noise(floor(position))과 같은 것들을 하는데 매우 효과적이다.

hscript_rand는 houdini의 rand() exporession과 정확하게 동일한 결과를 제공한다. 이 함수는 모든 floating point seed마다 다른 난수 값을 생성한다. 이 것은 floating point 아규먼트를 integer seed로 변환하는 random과는 다르다. hscript_rand는 하드웨어 또는 OS 별로 다른 결과들을 제공할 것이다.

nrandom은 결정되지 않는 난수를 생성한다. 생성된 숫자들은 0부터 1이 될 것이다. 이 함수들은 만약 정확하게 동일한 순서로 호출되었다면 난수들의 동일한 시퀀스를 생성할 것이다. 그러나 관련된 seed가 없다면 동일한 난수 또는 시퀀스를 여러번 줄이는 것이 가능하지 않다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s