Главная страница
    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.46 MB
Время: 0.04 c
15-1171273167
vasIZmax
2007-02-12 12:39
2007.03.04
Save.... Good


2-1171358625
misere
2007-02-13 12:23
2007.03.04
Конвертация массива из byte-ов в integer


2-1171181909
Alex7
2007-02-11 11:18
2007.03.04
Как использовать PickList колнки DBGrid для ввода данных выбором


15-1170735844
Demon__
2007-02-06 07:24
2007.03.04
Во сколько оцените разработку этого сайта?


15-1170155727
Vlad Oshin
2007-01-30 14:15
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский