Главная страница
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.037 c
15-1197193611
Kerk
2007-12-09 12:46
2008.01.13
Посмотри вокруг (Розыч, блин, не трожь, выходной же :-))


2-1197395228
@!!ex
2007-12-11 20:47
2008.01.13
Окно в котором нажа пункт меню. Как узнать?


15-1197024666
class_
2007-12-07 13:51
2008.01.13
Узнать класс


2-1197638738
сосед
2007-12-14 16:25
2008.01.13
Разложить стиль окна


15-1197029259
Dennis I. Komarov
2007-12-07 15:07
2008.01.13
Знатокам Linux