Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
15-1171056753
vasIZmax
2007-02-10 00:32
2007.03.04
Глюк?! или ...


4-1160660875
red_imp
2006-10-12 17:47
2007.03.04
Работа с com портами


15-1170765503
Unknowing
2007-02-06 15:38
2007.03.04
Использование баз данных


2-1171338047
ryslan56
2007-02-13 06:40
2007.03.04
НЕлп


15-1171025896
IMHO
2007-02-09 15:58
2007.03.04
Вспоминая прошлое





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский