Цитата:
Скриншот не могу прикрепить, форум режет урлы (
|
добавьте нижние пробелы, и все примет.
Цитата:
Видимо это как-то связано с вашей проблемой.
|
это не только моя проблема, это проблема всех ГО, которые стоят не прямо.
Код:
void UnpackRotation(ulong data, ref float[] rotation)
{
double v1 = 0.000000476837158203125;
double v2 = 0.000000953674316406250;
rotation[0] = (float)( (data >> 42) * v1);
rotation[1] = (float)(((data << 22 >> 32) >> 11) * v2);
rotation[2] = (float)( (data << 43 >> 43) * v2);
float temp = (float)(Math.Pow(rotation[2], 2) + Math.Pow(rotation[1], 2) + Math.Pow(rotation[0], 2));
if (Math.Abs(temp - 1.0f) >= v2)
rotation[3] = (float)(Math.Sqrt(1.0f - temp));
else
rotation[3] = 0.0f;
}
но ожидаемого результата так и не получилось, во первых, насколько я понял значение ротации должно быть в диапазоне -1 до 1, а тут немного не то.
я еще попробую помучить это все.