get shape volume 요거안에서 저거 쉬프트시키고 저러는걸로 어떻게 부피구하는거에요?? r^3*4/3 이게 체적구하는거잖아 모르겠음 왜저런거임?
double get_circle_volume(const doubleradius, const unsigned int attempts){ unsigned int count = 0; for (unsigned int i = 0; i < attempts; ++i) { int x = (rand() << 1) - RAND_MAX; int y = (rand() << 1) - RAND_MAX; count += x * x + y * y <= (RAND_MAX * RAND_MAX); } return (count << 2) * (radius *radius) / attempts;}
double get_sphere_volume(const doubleradius, const int attempts){ returnget_circle_volume(radius, attempts) * 4. / 3. * radius;}
double get_circle_volume(const doubleradius, const unsigned int attempts){ unsigned int count = 0; for (unsigned int i = 0; i < attempts; ++i) { int x = (rand() << 1) - RAND_MAX; int y = (rand() << 1) - RAND_MAX; count += x * x + y * y <= (RAND_MAX * RAND_MAX); } return (count << 2) * (radius *radius) / attempts;}
double get_sphere_volume(const doubleradius, const int attempts){ returnget_circle_volume(radius, attempts) * 4. / 3. * radius;}
구의 외접 정사각형의 모든 점들 중 중심으로 부터 거리가 반지름 이내인 점들의 갯수를 세면 구의 넓이가 나오겠지
하지만 그 모든 점을 다 통과하지 않고 아무 점이나 하나씩 랜덤하게 구의 안인지 판단한다면 여러번 수행할 수록 원넓이에 가깝게 수렴하겠지.
(구 가 아니라 여기선 원)
그렇게 확률적으로 얻어진 원의 근사 넓이에 원과 구의 관계식을 곱한거지 뭐.
구의 체적 구하는 공식이.다 밝혀져 있는데 몬테카를로 사뮬레이션을 왜하는 거임
졸리니까 구랑 원이랑 막 바꿔서 쓰고 있네 ㅋㄷㅋㄷ
구가 아니라 보다 복잡한 적분체일 경우, 점이라는 아주 작은 단위로 전체를 트래킹하지 않고서도 일정시간 내 확률적 체적을 구할 수도 있고
원래 글 쓴 아이의 댓글에 단 여러가지 의의가 있는거야.
이런 쓸데없는 코드 누가 짠거임?
저 함수 이름은 명백히 원인지 구인지 체적 구하는거라고 명시되어있구만 그럼 공식을 써야 맞는거지
아항.. 적분흉내구나 이제이해되네 카운트를왜하지 이랬는데