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

Вниз

часы...   Найти похожие ветки 

 
sat ©   (2007-02-13 21:21) [0]

вопрос у меня следующего плана и скорее относится к математике:
мне надо написать прототип механических часов. должны двигаться секундная часовая и минутная стрелки.
я получаю сис время и секундная стрелка у меня двигается, но у меня при переходе в систему координат связанную с центром часов произошел двиг и теперь моя секундная стрелка сместилась на 1 четверть( т.е время 0 секунд-стрелка показывае 15, время 30 секунд - стрелка показывае 45)
координаты стрелки вычисляются так:

 xs := rs*cos(s*Pi/30)+x0;
 ys := rs*sin(s*Pi/30)+y0;

где rs - радиус стрелки, s - время в секундах, x0 , y0 - центр часов

помогите как решить проблемму сдвига?


 
DrPass ©   (2007-02-13 21:26) [1]

Не знаю, что за хрень ты сочинил, но я бы на твоем месте сделал так:

>  xs := rs*cos((s-15)*Pi/30)+x0;
>  ys := rs*sin((s-15)*Pi/30)+y0;


 
@!!ex ©   (2007-02-13 21:28) [2]

Ну отними от угла pi/4  и все встанет куда надо. нет? :)


 
sat ©   (2007-02-13 21:29) [3]

классно
но у меня получилось сейчас лучше
 xs := rs*cos(s*Pi/30-Pi/2)+x0;
 ys := rs*sin(s*Pi/30-Pi/2)+y0;

причем правильно работает, пока не знаю почему...

>  xs := rs*cos((s-15)*Pi/30)+x0;
>  ys := rs*sin((s-15)*Pi/30)+y0;
тоже работает но это скорее заплатка нежели решение проблеммы
все равно спасибо


 
sat ©   (2007-02-13 21:30) [4]

с Pi/4 не так работает..


 
DrPass ©   (2007-02-13 21:44) [5]


> тоже работает но это скорее заплатка нежели решение проблеммы

М-да :))))
Математика, третий или пятый класс
(s-15)*Pi/30.
Раскрываем скобки
s*Pi/30 - 15*Pi/30
Сокращаем
s*Pi/30 - Pi/2
Вот и твое "решение проблемы"


 
begin...end ©   (2007-02-13 21:51) [6]

> sat ©   (13.02.07 21:29) [3]

> причем правильно работает, пока не знаю почему...

Синус угла Alpha -- это ордината точки, полученной поворотом точки с координатами (1; 0) на угол Alpha. Когда s = 0, этот угол равен -Pi/2 (стрелка указывает вертикально вверх), а не 0, как это предполагается в Ваших исходных уравнениях. То же и с косинусом.


 
TRUNK ©   (2007-02-14 10:31) [7]

cos(a-Pi/2) = sin(a)
sin(a-Pi/2) = -cos(a)



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

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

Наверх




Память: 0.48 MB
Время: 0.137 c
15-1171213081
RASkov
2007-02-11 19:58
2007.03.04
Принтеры


15-1170684108
WondeRu
2007-02-05 17:01
2007.03.04
Как выяснить нужно dpi у принтера?


2-1171315248
koha
2007-02-13 00:20
2007.03.04
Ни как не могу добиться работы отфункции CPlApplet


2-1171356867
Gydvin
2007-02-13 11:54
2007.03.04
доступ к сетевому ресурсу


2-1171619292
Astronom
2007-02-16 12:48
2007.03.04
DirectoryListBox