Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
5-1149350300
setik
2006-06-03 19:58
2007.03.04
как в поле edit написать текст справа?


3-1165501071
alsov
2006-12-07 17:17
2007.03.04
Какая функция отработает быстрее


2-1171526671
vitv
2007-02-15 11:04
2007.03.04
Проблема выборки большого числа записей(100 000).


15-1171123281
GeLLeR
2007-02-10 19:01
2007.03.04
Ещё раз про сокеты


2-1170873071
Yozch1
2007-02-07 21:31
2007.03.04
Некорректная работа wsMaximized




   Наверх