Jeśli każdą składową wektora podzieli się przez tę długość, powstanie wektor jednostkowy o takim samym kierunku i zwrocie.
Norma euklidesowa wektora, analogiczna do odległości euklidesowej między dwoma punktami w przestrzeni euklidesowej dana jest wzorem:
a wektor unormowany (jednostkowy):
Zastępując wyrażenie przez otrzymujemy związek:
który łączy wektor jednostkowy z odwrotnością pierwiastka kwadratowego z sumy kwadratów składowych.
Quake III Arena wykorzystuje algorytm szybkiej odwrotności pierwiastka kwadratowego aby przyspieszyć obliczenia procesora graficznego, jednak od tego czasu ten algorytm został już także zrealizowany w niektórych sprzętowych implementacjach Vertex Shader za pomocą FPGA.
Przegląd kodu Poniższy kod zawiera implementację szybkiej odwrotności pierwiastka kwadratowego z Quake III: Arena, z pominięciem dyrektyw preprocesora C, lecz zawierającym oryginalne komentarze:
float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F;
x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) );