2014-05-10 2 views
1

많은 구현을 보았지만 확실하지 않은 새로운 아이디어가 있습니다. 그래서 여기에 의견이 필요합니다.arctan 계산을위한 찾아보기 테이블 생성

arctan(gy/gx)에 대한 표를 찾는 대신 한 테이블에서 1/gx을 찾아 결과에 gy을 곱하면됩니다. 그런 다음 arctan을 조회합니다. 그렇게하는 이유는 부서가 곱셈보다 비싸기 때문에 하드웨어 비용을 줄이는 것입니다. 그러나 한계는 내가 maximum of 10 address bits 일 수 있다는 것입니다. 반면 곱셈을 사용하면 gx에 2 배의 비트 수가 표시됩니다. gx 자체는 8 비트입니다. 만약 오른쪽 비트로 gy*(1/gx)을 6 비트 씩 이동하면 10 비트 주소를 얻을 수 있습니다.

오류 정도는 무엇입니까?

+1

힌트 : 일부 값은 다른 값보다 유용합니다. 유용한 것만 유지하십시오. –

+0

1/gx 룩업 테이블을 사용하면 약간의 정밀도가 느슨해집니다 (부동 소수점이 고정되어 있지 않기를 바랍니다). 또한 당신이 사용하는 FP 부서는 무엇입니까? 몇 가지 근사 접근 방식은이 하나의 http://stackoverflow.com/a/18398246/2521214와 같은 조회 테이블 런타임과 비교할 수 있습니다. 빠른 곱셈을 사용하지 않으면 조회 테이블이 더 적합합니다 ... – Spektre

+0

범위 란 무엇입니까 gx와 gy? 또한, 승산 비용은 대상 머신에서의 부서에 비해 상대적으로 얼마입니까? – Alex

답변

1

gy > gxarctan(gy/gx)=90-arctan(gx/gy) (양수 좌표로 계산한다고 가정)이라고 생각하면됩니다. 이로 인해 부서별 오류가 줄어들 수 있습니다.

관련 문제