
Итак, приступим.
Довожу здравый смысл до абсурда
История этого проекта начинается в 2014 году, когда я учился на 4-м курсе в ведущем техническом вузе России на кафедре «Робототехнические системы». В это время я уже начал задумываться над темой диплома и искал проект, который был бы интересен мне, и при этом в нем присутствовала некоторая новизна. И вот однажды, увидев видео шаробота Rezero, я с друзьями захотел попробовать повторить успех. Кому интересно, что из этого получилось — прошу под кат.
float FastInvSqrt(float x) {
float xhalf = 0.5f * x;
int i = *(int*)&x; // представим биты float в виде целого числа
i = 0x5f3759df - (i >> 1); // какого черта здесь происходит ?
x = *(float*)&i;
x = x*(1.5f-(xhalf*x*x));
return x;
}