Introducción al algoritmo inverso rápido de raíz cuadrada
El algoritmo rápido de raíz cuadrada recíproca es un algoritmo para calcular rápidamente la raíz cuadrada recíproca de un producto, en este caso un número de punto flotante de 32 bits en formato IEEE 754. Raíz cuadrada inversa rápida (inglés: raíz cuadrada inversa rápida, también conocida como "raíz cuadrada inversa rápida"): raíz cuadrada inversa rápida (también llamada a menudo "Fast InvSqrt()" o constante hexadecimal 0x5f3759df) es un algoritmo para cálculo rápido (recíproco de la raíz cuadrada de un producto, que en este caso requiere un número de coma flotante de 32 bits en el formato estándar IEEE 754) que probablemente fue inventado por primera vez por SGI a principios de la década de 1990, se utilizó más tarde en el código fuente de Quake III Arena. en 1999, pero no apareció en foros públicos (como Usenet) hasta 2002-2003. La ventaja de este algoritmo es que reduce la enorme sobrecarga computacional que implica encontrar la raíz cuadrada recíproca de las operaciones de punto flotante. En los gráficos por computadora, las operaciones de punto flotante a menudo son necesarias para lidiar con los ángulos de fluctuación y los reflejos de la iluminación y la proyección. Este algoritmo primero recibe un número de coma flotante de 32 bits con signo, luego lo toma como un entero de 32 bits, lo divide por la mitad desplazándolo lógicamente hacia la derecha y lo resta del "número mágico" hexadecimal 0x5f3759df, de modo que la primera aproximación Se puede obtener el recíproco de la raíz cuadrada del número de punto flotante de entrada; luego se restablece a un número de punto flotante y se itera repetidamente utilizando el método de Newton para obtener una aproximación más precisa hasta que la aproximación cumpla con los requisitos de precisión. Este algoritmo es cuatro veces más rápido que la división directa en punto flotante al calcular la aproximación con la misma precisión de la raíz cuadrada recíproca de un número en punto flotante.