Visual Studio에서 C++을 사용하여 큐브를 만들었으며 이동 방향을 임의로 지정하려고합니다. 내가 온라인에서 본 것으로부터, 난수에 대해 사용하는 방정식은 -1과 1 사이의 임의의 숫자를 형식적으로 생성해야합니다 (-1, 1). 그러나 어떤 이유로, 생성되는 난수는 정확히 같습니다.C++에서 음수 값과 양수 값으로 구성된 범위 내에서 난수를 생성하려면 어떻게해야합니까?
부서에 문제가있는 것처럼 느껴지지만 그 사실을 알 수는 없습니다. 어떤 도움을 주시면 감사하겠습니다!
// Give the cube a random direction
float x = 2*((float)rand()/(float)(RAND_MAX + 1.0)) - 1;
float y = 2*((float)rand()/(float)(RAND_MAX + 1.0)) - 1;
float z = 2*((float)rand()/(float)(RAND_MAX + 1.0)) - 1;
m_directionVector = XMFLOAT3(x, y, z);
이러한 모든 캐스트는 불필요하며,'rand()/(RAND_MAX + 1.0)'는 이미 소수점 나누기를 수행합니다. – fredoverflow