Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.13;
Скачать: CL | DM;

Вниз

Фиксация углов куба.   Найти похожие ветки 

 
@!!ex ©   (2007-12-11 14:38) [0]

Есть куб.
Он по оси Z повернут на какой то угол. Нужно найти ближайший к этому углу угол, кратный 90 градусам.
углы от 0 до 360.
Делаю поворот вот так:
     if (Round(Angle) mod 90)<45 then begin
       Angle:=Angle-DelayTime/AnimationTime*45;
       if not ((Round(Angle) mod 90)<45) then
         NeedFixAngle:=false;
     end
     else begin
       Angle:=Angle+DelayTime/AnimationTime*45;
       if not ((Round(Angle) mod 90)>45) then
         NeedFixAngle:=false;
     end;

а оно не работает, :(


 
@!!ex ©   (2007-12-11 14:41) [1]

вернее оно работает, но только если угол 45<X<315


 
Sonia ©   (2007-12-11 14:46) [2]


> только если угол 45<X<315

А откуда именно такие данные?


 
palva ©   (2007-12-11 14:48) [3]

n угол в градусах. Округляем так:
Round(n/90)*90


 
MBo ©   (2007-12-11 14:54) [4]

((Angle + 45) div 90) * 90;


 
palva ©   (2007-12-12 09:55) [5]

uses Math;
((Angle + Sign(Angle) * 45) div 90) * 90;


 
@!!ex ©   (2007-12-12 10:01) [6]

Уже все решил. Вчера еще.



Страницы: 1 вся ветка

Текущий архив: 2008.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1197443733
F@T@L_Err0r
2007-12-12 10:15
2008.01.13
Chart


2-1197741528
Elec3C
2007-12-15 20:58
2008.01.13
Проверка клавиш


9-1165269799
-=Kirill=-
2006-12-05 01:03
2008.01.13
DirectX


2-1197398005
Евгений Р.
2007-12-11 21:33
2008.01.13
Раскрытое окно в TDateTimePicker


6-1178270779
Lobach
2007-05-04 13:26
2008.01.13
Обработка ошибки