Главная страница
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.067 c
2-1171552053
@gent
2007-02-15 18:07
2007.03.04
Ламовский вопрос по текстовым файлам.


2-1171454709
Nija
2007-02-14 15:05
2007.03.04
Как создать Webbrowser в RunTime


15-1171019492
ПЛОВ
2007-02-09 14:11
2007.03.04
Подскажите компонент


2-1171538984
_Inkognito_
2007-02-15 14:29
2007.03.04
БД И ДЕЛФИ


3-1165386636
bmv
2006-12-06 09:30
2007.03.04
quick report под delphi2006