- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
if (axis[0] == vector[0] && axis[1] == vector[1] && axis[2] == vector[2])
{
this->anglex = 0.0f;
}
else if (vector[1] >= 0.0f)
{
this->anglex = 360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
}
else
{
this->anglex = -360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
}
tirinox 23.12.2013 03:45 # +3
inkanus-gray 23.12.2013 15:01 # 0
WGH 23.12.2013 15:06 # +2
Вот то, что они про atan2 забыли - это говно, ага.
inkanus-gray 23.12.2013 15:22 # 0
Говно ещё в том, что они поленились написать atan2x. Да, у них и asinx нет, всё через арккосинус.
TarasB 25.12.2013 12:01 # 0
anonimb84a2f6fd141 24.12.2013 21:28 # 0
Все равно гавно, причем уровня лаб.
Pythoner 25.12.2013 02:58 # +1
this->anglex = -360.0f* (GLfloat)acos (VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
if (vector[1] < 0.0f) this->anglex = -this->anglex;
kegdan 25.12.2013 07:43 # 0
а вообще вычисление угла должно быть отдельно от присвоения.
Pythoner 25.12.2013 09:53 # 0
1024-- 25.12.2013 10:09 # 0
Не факт, что дипломированные программисты умеют программировать.
>> вычисление угла должно быть отдельно от присвоения.
Напоминает эталонную реализацию инкапсуляции - оператор + в HQ9+.
Если хоть кто-то узнал значение угла, то это уже не инкапсуляция, мы написали говнокод.
kegdan 25.12.2013 12:43 # 0