랜덤 제너레이터의 속도에 따라 더 간단하게 두 값을 생성하여 평균을 내릴 수 있습니다.
또는, 더 간단하고, X는 먼저 RNG의 결과입니다 double y = double(1/x);
, x = y*[maximum return value of rng];
. 이것은 숫자가 지수 적으로 낮은 숫자에 가중됩니다.
더 많은 값을 생성하고 평균화하여 값이 중심에 가까워 질 가능성을 높입니다.
물론 이것은 표준 벨 커브 분포 또는 "폴딩 된"버전에서만 작동하지만 빠른 제너레이터를 사용하면 sqrt와 같은 다양한 수학 함수를 사용하는 것보다 더 빠르고 간단 할 수 있습니다.
주사위 종 곡선에 대한 모든 종류의 연구를 찾을 수 있습니다. 실제로 Anydice.com은 다양한 주사위 굴림 방법에 대한 그래프를 생성하는 좋은 사이트입니다. RNG를 사용하고 있지만 결과는 전제와 동일합니다. 따라서 배포하기 전에 배포판을 보는 것이 좋습니다.
* 또한 축을 취하고 평균 결과를 뺀 다음 축을 추가하여 축을 따라 결과 분포를 "접습니다". 예를 들어, 더 낮은 값이 더 일반적이고 15가 최소값이되고 35가 최대 값이 20 인 범위를 원한다고 가정합니다. 따라서 20의 범위 ( 원하는 범위의 두 배), 20을 중심으로 한 벨 커브를 줄 것입니다 (끝에서 5를 빼서 범위를 20에서 40으로, 15에서 35로 이동). 생성 된 숫자 X와 Y를 가져옵니다.
최종 번호,
z =(x+y)/2;// average them
If (z<20){z = (20-z)+20;}// fold if below axis
return z-5;// return value adjusted to desired range
최소값이 0이 아니라면 대신이 작업을 수행하십시오.
z= (x+y)/2;
If (z<20){z = 20-z;}
else {z = z - 20;}
return z;