x<=1
을 알고있는 경우 sqrt(float32bit x)
을 근사하는 방법은 무엇입니까?알려진 0 <= x <= 1 인 square_root (x)의 근사값
x<=1
범위를 이용하려면 몇 가지 트릭이 있어야합니다.
반환 결과가 정확하지 않아도 최대 오류는 <0.001
일 수 있습니다.
나는 언어를 신경 쓰지 않는다 (0.001
그냥 매직 넘버, 당신은. 그것을 변경할 수),하지만 난 CPU의 (안 GPU), C++를 선호합니다.
나는 명시적인 공식이 테이블 룩업보다 낫다고 생각한다.
내 3D 게임 (VS 2015 + Ogre3D + Bullet)의 입자에 유용하며 이에 대한 단서를 찾을 수 없습니다.
내가 downvote 폭풍의 이유는 그것이 할당/인터뷰처럼 보인다는 것을 의심?
... 또는 해결책은 이미 잘 알려져 있습니까?
[빠른 역 제곱근] (https://en.wikipedia.org/wiki/Fast_inverse_square_root)을 확인하십시오. –
@Mark Ransom 플랫폼 의존적입니까? – javaLover
@javaLover 그 트릭의 효율적이고 표준을 따르는 구현은 없지만 비교적 이식성이 뛰어납니다. –