Как определить угол между стрелками часов

Как рассчитать угол между часами и часами?.

Я пытаюсь решить эту проблему, но я все еще пытаюсь понять логику решения этой проблемы.

Итак, в соответствии с этим, я думал, что могу сформулировать следующую функцию в python:

В течение часа он работает нормально, поскольку он имеет 1 = 1-отображение. Но на минуту есть хотя бы одна проблема. Когда это 0 минут, минутная стрелка указывает на 12.

7 вечера: руки указывают на 7 вечера и минуты, указывая на 12

Как правильно рассчитать минуты? Пожалуйста, помогите мне понять формулу.

EDIT: Например, если я вызываю функцию выше с 7pm, например, clockangles (7,0), я получаю значение 210. Однако, согласно эта ссылка угол в 7:00 составляет 150

Хорошо. Вы пытаетесь найти угол между двумя руками. Тогда это:

Это только количество градусов, которое стрелка часа в минуту. Подумайте об этом — минутная стрелка совершает полный 360 часов каждый час. Поэтому в полной революции всего 60 минут. 360/60 = 6 градусов в минуту для минутной стрелки.

Итак, вам нужно найти разницу между часом и минутной стрелкой. Таким образом, теперь функция выглядит следующим образом:

Теперь это действительно так, поэтому мы могли бы остановиться здесь. Однако я должен объяснить, что это может дать ответы на более чем 180 градусов и отрицательные углы. Если вы не хотите, чтобы эти вещи (и из ваших комментариев кажется, что вы этого не сделали), исправьте их.

Теперь нет отрицательных углов.

Теперь, чем короче из двух углов, образованных путем измерения по часовой стрелке и против часовой стрелки.

В следующем решении переменная m относится к минутам, а переменная h — к часам.

Позвольте разделить проблему на ее компоненты.

  • Найдите угол минутной стрелки с 12 часов.
  • Найдите угол часовой стрелки с 12 часов.
  • Найдите абсолютную величину их разницы.

Теперь давайте начнем решать каждый компонент.

    Минутная стрелка делает полный цикл каждый час, или 60 минут. Поэтому мы можем получить завершенный процент цикла минутной стрелки на (m / 60) . Поскольку есть 360 градусов, мы можем получить угол минутной стрелки с 12 часов на (m / 60) * 360 .

Часовая стрелка выполняет полный цикл каждые 12 часов. Поскольку есть 24 часа в сутки, нам необходимо нормализовать значение часа до 12 часов. Это достигается с помощью (h % 12) , который возвращает оставшуюся часть значения часа, деленное на 12.

Теперь, когда минутная стрелка делает свой цикл, часовая стрелка не просто остается на точное значение (h % 12) . Фактически, он перемещается на 30 градусов между (h % 12) и (h % 12) + 1 . Величина, на которую отклоняется часовая стрелка от (h % 12) , может быть рассчитана путем добавления к (h % 12) завершенного процента цикла минутной стрелки, которая равна (m / 60) . В целом, это дает нам (h % 12) + (m / 60) .

Теперь, когда у нас есть точное положение часовой стрелки, нам нужно получить завершенный процент цикла часовой стрелки, который мы можем получить ((h % 12) + (m / 60)) / 12 . Поскольку есть 360 градусов, мы можем получить угол часовой стрелки с 12 часов на (((h % 12) + (m / 60)) / 12) * 360 .

Теперь, когда у нас есть угол минутной и часовой стрелки с 12 часов, нам просто нужно найти разницу между этими двумя значениями и принять абсолютное значение (поскольку разница может быть отрицательной),

Таким образом, мы имеем abs(((((h % 12) + (m / 60)) / 12) — (m / 60)) * 360) .

Ниже приведена функция python, которая вычисляет это значение. Он вернет любое значение угла, который является самым коротким.

Задание 64 (угол между часовой и минутной).

Задание 64

Найдите угол между часовой и минутной стрелками в 7 часов 38 минут.

Полный круг $$360^<\circ>$$, в полном круге 60 минут и 12 часов.

Таким образом, каждая пройденная минута смещает минутную стрелку на $$6^<\circ>$$.

Таким образом, каждый пройденный час смещает часовую стрелку на $$30^<\circ>$$.

Тогда угол между часовой и минутной стрелками можно найти по формуле:

Раскроем скобки, приведем подобные, подставим значения из условия задачи и получим:

Ответ: $$1^<\circ>$$.

Если у Вас возникают трудности, то опытный репетитор (Донецк, онлайн занятия) поможет Вам в подготовке к ГИА (ДПА) или ВНО (ЗНО) по математике.

Найти угол между часовой и минутной стрелками в аналоговые часы.

мне дали этот вопрос интервью недавно:

Учитывая 12-часовой аналоговые часы, вычислить по степени меньший угол между часовой и минутной стрелками. Будьте как можно точнее.

Мне интересно, какой самый простой, наиболее читаемый, самый точный алгоритм. Решение на любом языке приветствуется (но немного объясните, если вы считаете это необходимым).

Я думаю, что это чисто математическая проблема, а также довольно тривиальная. Я не вижу, как этот вопрос может получить четыре голоса . – Andreas Rejbrand 01 май. 10 2010-05-01 12:06:25

Оказывается, что Википедия действительно есть лучший ответ:

  • часовая стрелка движется со скоростью 0.5 градусов в минуту
  • В ту минуту Рука движется со скоростью 6 градусов в минуту

И точность не является проблемой, так как дробная часть либо .0 или .5 , и в диапазоне 0..360 , все эти значения точно представима в double .

Это не совсем верно для h> = 12. – starblue 01 май. 10 2010-05-01 11:03:09

@starblue: Я уточнил, что это 12-часовые аналоговые часы. – polygenelubricants 01 май. 10 2010-05-01 11:34:59

@starblue Могут ли аналоговые часы быть круглосуточными? – AksharRoop 03 сен. 12 2012-09-03 08:20:41

Почему это 30/60 = 0,5D? Почему не 330/60 = 5.5D? – SMUsamaShah 08 июл. 14 2014-07-08 00:10:43

@starblue просто сделать час% 12, и все будет хорошо. – Pubudu Suharshan Perera 24 фев. 16 2016-02-24 18:16:27

Как 12:15 не угол 90 градусов? Не будет ли указывать на 12 угол 90 градусов с 3, если часы — идеальный круг? – Childishforlife 13 май. 16 2016-05-13 18:30:12

, потому что к тому времени, когда прошло 15 минут, часовой указатель проехал бы четверть пути до 1 часа. – Julix 15 окт. 16 2016-10-15 07:06:04

Я не знаю, правильно ли это. -что-то вроде этого?

Создан 01 май. 10 2010-05-01 05:14:28 Anycorn

Ну, это не может быть правильно, если вам не хватает конечной скобки: D – Ponkadoodle 01 май. 10 2010-05-01 05:17:58

Для ‘h = 3′,’ m = 0′, я получаю ’45’. Это должно быть ’90’. – polygenelubricants 01 май. 10 2010-05-01 05:37:26

@poly хорошо, я забыл, что обычные часы составляют 12, а не 24 часа. если вы замените деление на 24 на 12, вы должны получить правильный – Anycorn 01 май. 10 2010-05-01 05:42:56

Код java, который является полигенным смазочным материалом, аналогичным моему. Предположим, что часы составляют 12 часов вместо 24.

Если это 24 часа, то это совсем другая история. Кроме того, еще одно предположение, предположим, что часы остановлены, пока мы вычислим это.

Один тактовый цикл 360 градусов.

Сколько градусов может выполнять минутная стрелка в минуту? 360/60 = 6 градусов в минуту.

Сколько часов может час работать в час? 360/12 = 30 градусов в час (с часовой стрелки работает медленнее, чем минута)

Поскольку это легче вычислить в блоке, «минута», давайте

«сколько градусов может часовая стрелка в минуту »?

30/60 = 0,5 градуса в минуту.

Итак, если вы знаете, как получить эти цифры, проблема в значительной степени решена с помощью решения.

Создан 01 дек. 11 2011-12-01 03:31:21 Mikey

Возможно у Вас есть свои мнения на тему «Как определить угол между стрелками часов»? Напишите об этом в комментариях.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock
detector