부스트 랜덤 생성기를 사용하여 무작위 점을 평면 위에 균일하게 분포 시키려고합니다. 여기 Boost random number generator 2 차원에서 부스트 랜덤
- 들이 단일 차원에서
int
으로 번호를 생성하는boost::uniform_int<>
를 사용 : 나는 하나의 차원에서 그 일을 위해 다음 링크를 가지고있다.그러나 제 경우에는 평면 위에 2 차원 숫자
float
을 생성하고 싶습니다.2 차원에서 사용할 수있는 배포 유형이 있습니까? (나는
boost::uniform_on_sphere
을 보았지만 구형 표면을 보았습니다.)
x 축 및 y 축에 대해 하나를 선언하려면 다음과 같이하십시오. boost :: uniform_01 <> for_x_axis (0,2); boost :: uniform_01 <> for_y_axis (0,4); –
'uniform_01'은'[0,1] 간격 (중요 할지도 모르겠다!) 간격으로 요소를 생성한다는 인상하에 있었기 때문에 하나의 분포를 취하여 두 개의 값을 스케일링 인수로 곱합니다 . 당신은 또한 이것을 위해 Boost를 필요로하지 않는다. 매우 유사한 라이브러리가 C++ 11에서''로 사용 가능하다. –
filmor
'std :: uniform_real_distribution'는 참으로 두 개의 매개 변수를 취합니다. – filmor