Форум программистов, компьютерный форум CyberForum.ru

Дайте пожалуйста формулу для движения стрелки в часах - C++

Восстановить пароль Регистрация
 
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 04:14     Дайте пожалуйста формулу для движения стрелки в часах #1
Хочу написать программку часы, но проблема в том что я ни как не могу понять какая система лежит в движении стрелки в часах.

вообщем какая формула есть чтобы линия шла по кругу, прощу не писать код программы а просто обяснить или дать ссыль на статью об этом. (если что не понятно спрашивайте обясню еще ясней).
P.S думаю те люди которые писали программу часы уже поняли что я имел ввиду.

Добавлено через 1 час 47 минут
есть стрелка, как заставить её вращаться внутри окружности???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2013, 04:14     Дайте пожалуйста формулу для движения стрелки в часах
Посмотрите здесь:

Дайте алгоритм, пожалуйста =)) C++
C++ Дайте пожалуйста ответы
дайте пожалуйста ссылку где скачать Turbo С++ C++
C++ Дайте пожалуйста рабочий пример регулярного выражения c++
C++ Дайте пожалуйста ссылку на сайт с командами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aleks_pilipenko
)))
 Аватар для aleks_pilipenko
602 / 179 / 9
Регистрация: 31.12.2009
Сообщений: 2,291
Записей в блоге: 3
30.08.2013, 04:56     Дайте пожалуйста формулу для движения стрелки в часах #2
x0+r2*Math.Sin(3.14F/30*sek), y0-r2*Math.Cos(3.14F/30*sek));

x0,y0 - центр циферблата, r2 - длина стрелки, sek - время в секундах...
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 05:27  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int w=400, h=400;
int i=0;
int R=2;
 
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 1.0, 0.0);
glBegin(GL_LINES);
glVertex2i(w/2, h/2);
glVertex2i(i+2*sin(3.14F/30*60)+i,i-2*cos(3.14F/30*60)); // ЧТО ТУТ НАДО СДЕЛАТЬ ЧТОБЫ СТРЕЛКА ВРАЩАЛАСЬ ВОКРУГ ЦЕНТРА???
glEnd();
glFlush();
}
 
void timer(int)
{
    i++;
    display();
    glutTimerFunc(10,timer,0);
}
ITDeveloper
 Аватар для ITDeveloper
85 / 85 / 5
Регистрация: 14.01.2011
Сообщений: 263
30.08.2013, 06:05     Дайте пожалуйста формулу для движения стрелки в часах #4
В суть вникать не буду, но на вскидку: x0,y0 - координаты центра, а у вас там переменная i, которая меняет свое значение, затем sec -кол-во секунд - имеется ввиду текущее количество секунд, а у вас там константа 60!
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 08:06  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #5
не получается чтото, может лучше sin и cos использовать?

Добавлено через 49 минут
Почему стрелка крутиться не в том месте и радиус у неё маленький?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#define _USE_MATH_DEFINES
#include <iostream>
#include <gl\glut.h>
using namespace std;
 
int w=400, h=400;
int sek=1;
struct Vec
{
    int x1;
    int y1;
    int x2;
    int y2;
    Vec()
    {
        x1=w/2;
        y1=h/2;
    }
};
Vec vec;
 
 
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.0, 1.0, 0.0);
    glBegin(GL_LINES);
    glVertex2i(vec.x1, vec.y1);
    glVertex2i((vec.x1+30)+2*sin(M_PI/30*sek), (vec.y1+30)-2*cos(M_PI/30*sek));
    glEnd();
    glFlush();
}
 
void timer(int)
{
    sek++;
    display();
    glutTimerFunc(10,timer,0);
}
 
int main()
{
    glutInitDisplayMode(GLUT_SINGLE || GLUT_RGB);
    glutInitWindowSize(w,h);
    glutInitWindowPosition(200,50);
    glutCreateWindow("pinbol");
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0, w, 0, h);
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glutDisplayFunc(display);
    timer(0);
    glutMainLoop();
}
ITDeveloper
 Аватар для ITDeveloper
85 / 85 / 5
Регистрация: 14.01.2011
Сообщений: 263
30.08.2013, 08:39     Дайте пожалуйста формулу для движения стрелки в часах #6
Цитата Сообщение от GoldDragon Посмотреть сообщение
стрелка крутиться не в том месте
Уточните! Или скрин!
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 08:53  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #7
вот
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 08:57  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #8
Ошибка в этих расшетах где то

C++
1
glVertex2i((vec.x1+30)+2*sin(M_PI/30*sek), (vec.y1+30)-2*cos(M_PI/30*sek));
ITDeveloper
 Аватар для ITDeveloper
85 / 85 / 5
Регистрация: 14.01.2011
Сообщений: 263
30.08.2013, 08:59     Дайте пожалуйста формулу для движения стрелки в часах #9
а переменные vec.x1 и vec.y1 и переменные h и w еще где то меняются в проекте?
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 10:37  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #10
нет
aleks_pilipenko
)))
 Аватар для aleks_pilipenko
602 / 179 / 9
Регистрация: 31.12.2009
Сообщений: 2,291
Записей в блоге: 3
30.08.2013, 15:51     Дайте пожалуйста формулу для движения стрелки в часах #11
я после твоего вопроса минут за 20 на C# написал полностью все три стрелки, могу код выложить, если интересно...
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
30.08.2013, 16:30  [ТС]     Дайте пожалуйста формулу для движения стрелки в часах #12
Спасибо формула которую вы дали мне подходит, программа работает как надо, тему можно закрывать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2013, 17:19     Дайте пожалуйста формулу для движения стрелки в часах
Еще ссылки по теме:

C++ Дайте, пожалуйста, контрпримеры
C++ Дайте,пожалуйста, совет по поводу задания
C++ Мой синглтон. Дайте рекомендации, оцените, пожалуйста

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dmitriy_M
1297 / 1178 / 106
Регистрация: 20.03.2009
Сообщений: 4,214
Записей в блоге: 11
30.08.2013, 17:19     Дайте пожалуйста формулу для движения стрелки в часах #13

тоже мне радиотехник Полярная система координат
Yandex
Объявления
30.08.2013, 17:19     Дайте пожалуйста формулу для движения стрелки в часах
Ответ Создать тему
Опции темы

Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru