Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 271
#1

Рассчитать координаты конца часовой и минутной стрелки - C++

22.05.2015, 01:51. Просмотров 808. Ответов 4
Метки нет (Все метки)

Всем привет.
Вот условие задачи, на которой я застрял:

Есть текстовый файл со следующим содержанием:
3
12:00 15:00 9:30
... где 3 - это количество случиев, а на следующей строке перечисленны сами случии.

Теперь условие:
Центр циферблата имеет координаты O(10; 10). Длина минутной стрелки 9 ед., длина часовой 6 ед. Время имеет форму от 00:00 до 23:59
Вычислить координаты конца минутной и часовой стрелки, которые показывают время указанное в текстовом файле.
Например: если время 15:00, то координаты конца часовой стрелки будут (16; 10), а конца минутной стрелки (10; 19).

Теперь вопрос:
Существует ли какая-то формула или что-либо, чтобы найти координаты конца стрелок имея лишь время, координаты начала стрелок, он же центр циферблата (т.е. (10; 10)) и длину этих стрелок?

Вот результаты (координаты) для проверки:
Input: 12:00
Output: (10.0; 16.0) (10.0; 19.0)

Input: 15:00
Output: (16.0; 10.0) (10.0; 19.0)

Input: 9:30
Output: (4.20444504; 11.55291427) (10.0; 1.0)
P.S. Все что я смог сделать - это преобразовать строку input`а в двумерный массив с часами и минутами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2015, 01:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Рассчитать координаты конца часовой и минутной стрелки (C++):

Определить значение угла для минутной стрелки, если известен угол часовой - C++
Доброго времени суток! В С++ недавно, но в универе уже задали такие задачи: 3)Часовая стрелка образует угол y с лучом, проходящим...

Определить значение угла для минутной стрелки - C++
Помогите пожалуйста немогу решить эту задачу: Часовая стрелка образует угол φ с лучом, проходящим через центр и через...

Определить меньший угол между часовой и минутной стрелками на циферблате часов - C++
Доброго времени суток. Прошу помочь с решением. C++ только начал изучать, поэтому решение здесь несложное. Дано время — два целых...

Поворот матрицы по часовой стрелки - C++
Задан квадратный массив А из N строк и N столбцов. Произвести «поворот по часовой стрелке» массива таким образом, чтобы элементы 1 строки...

Определить значение угла для минутной стрелки, а также количество полных часов и полных минут - C++
вот задание Часовая стрелка образует угол у с лучом, проходящим через центр и через точку, соответствующую 12 часам на циферблате. 0<у ≤...

Заполнение матрицы против часовой стрелки - C++
Заполнить матрицу 9х9 числами, начиная с единицы: вниз - вправо - вверх - влево. Помогите, пожалуйста. Срочно надо...

4
nonedark2008
1012 / 752 / 176
Регистрация: 28.07.2012
Сообщений: 2,091
22.05.2015, 02:02 #2
Цитата Сообщение от Leonman Посмотреть сообщение
Существует ли какая-то формула
Существует. Стрелки принимаются за вектора, центр циферблата (10, 10). Времени 0:0 Соответствует вектор часовой стрелки из цетра циферблата (0, 6), минутной (0, 9). Конкретное значение часов и минут задают поворот соответствующих стрелок на определенный угол в градусах, который можно просто вычислить.

Т.е. твоя задача вычислить необходимые углы поворота для векторов часовой и минутной стрелки и собственно повернуть исходные вектора. Формулу для поворота двумерного вектора предлагаю найти самостоятельно.
1
Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 271
22.05.2015, 02:18  [ТС] #3
nonedark2008, тоесть, для времени 15:00, я просто поворачиваю вектор (0, 6) и (0, 9) на соответствующий времени 15:00 угол?
0
nonedark2008
1012 / 752 / 176
Регистрация: 28.07.2012
Сообщений: 2,091
22.05.2015, 02:43 #4
Цитата Сообщение от Leonman Посмотреть сообщение
тоесть, для времени 15:00, я просто поворачиваю вектор (0, 6) и (0, 9) на соответствующий времени 15:00 угол?
Так точно, для 15:00 часовую стрелку нужно повернуть на 90 градусов, что выливается в (6, 0).
0
Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 271
22.05.2015, 02:48  [ТС] #5
nonedark2008, Большое спасибо!
0
22.05.2015, 02:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2015, 02:48
Привет! Вот еще темы с ответами:

Поворот матрицы против часовой стрелки - C++
Здравствуйте! Я собрал программу для решения этой задачи, но программа всё равно не работает. // Программа_№5.cpp: определяет точку...

Повернуть матрицу против часовой стрелки - C++
Повернуть матрицу против часовой стрелки. Я написал программу, но она не запускается. Где-то я опять ошибся. :-( // Программа_№5.cpp:...

Повернуть массив на 90˚ против часовой стрелки - C++
Здравствуйте. Помогите пожалуйста решить задание по c++. Нужно повернуть массив на 90˚ против часовой стрелки.

Заполнить матрицу с середины против часовой стрелки - C++
Нужно заполнить квадратную матрицу(то есть размер nXn) нужно заполнить по спирали, начиная с центра и продолжая идти против часовой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru