Всем привет!
Спасибо, Сергей за разъяснения!
...
3. Для определения приблизительного значения корня берём ближайший меньший корень и к нему прибавляем дробь из номера ячейки в "полуцикле" между квадратами, деленного на количество ячеек от меньшего корня к большему.
...
Изначально я подошел к вопросу о нахождении корня с позиции того, что мы не умеем ни возводить в квадрат, ни, тем более, извлекать корень. И, если учесть это неумение, то можно к дробной части добавить либо 2Cn, либо 2Cn-1, в зависимости от положения числа на кв9.
...
Может быть, данные расчёты натолкнут на какие-нибудь мысли по поиску более точного метода определения градуса числа
...
Более точные, чем здесь?
Если да, то да Там, всего то лишь, остается умножить на 180, ну и, если необходимо, прибавить 135 или вычесть 45
А можно и еще точнее, но тогда нужно прикрутить Архимедову спираль, про которую недавно упомянул Василий (Sinoptik)
Доброго времени, Роберт!
Не понял, к чему про неумение... Скорее задача всё-таки была в том, что нужно извлечь корень из числа без привычного нам калькулятора. Приведённый пример продемонстрировал, как можно достаточно быстро получить результат с минимальными усилиями, если у Вас есть под рукой Квадрат Девяти.
В отношении вычисления градуса числа задача будет отличаться.
В этом случае предполагается, что самого Квадрата у нас под рукой нет - иначе задача сводилась бы к правильному расположению (начертанию) оверлеев, - но заложенные в нём структуру и математические принципы мы хорошо знаем. А ещё мы отлично знаем про
фигурные числа, в частности речь о треугольных, и как получать их корни.
Итак, по порядку.
Задача: есть число (NUM), градус которого нужно найти.
1. Нужно определить цикл Квадрата, в котором это число расположено. Мы знаем, что каждый цикл содержит количество восьмёрок кратное номеру цикла. Принимаем стартовую единицу за нулевой цикл, а далее в следующем порядке:
№1 (2-9) - 8 х 1
№2 (10-25) - 8 х 2
№3 (26-49) - 8 х 3 и т.д.
Эта последовательность говорит нам о том, что количество восьмёрок от первого цикла до цикла C
n будет равно треугольнику номера цикла, который заканчивается числом, вычисляемым по следующей формуле:
Trn х 8 + 1 (1)
Например, цикл №5 заканчивается значением Tr
5 х 8 + 1 = (5 х (5+1)) / 2 х 8 + 1 = 121.
К слову, эта формула выступает как ещё один аргумент к недавней дискуссии о стартовой единице как цикле и градусе, на котором она располагается, если принять соответствующую логику. Смотреть также комментарии во втором этапе. Как на основе представленной формулы получить цикл, в котором расположено число? Надеюсь, это вполне очевидно, исходя из формулы (1). Для начала определяем значение треугольника:
Tr ~ (NUM - 1) / 8 (2)
После чего
вычисляем корень треугольника, который укажет нам номер цикла, в котором расположено число:
(Tr x 2 + 0,25)^0.5 - 0,5 (3)
Формулы (2) и (3) объединяются в одну и, с небольшими дополнениями, дают нам полноценный результат в виде номера цикла:
Truncate(((NUM - 1) / 4)^0.5 - 0.5) + 1 (4)
Таким образом, первый этап нашей задачи решён с успехом.
2. Вычислить градус числа, используя номер цикла, в котором оно располагается на Квадрате Девяти. Здесь полное описание вывода конечной формулы приводить не буду, т.к. это больше относится к навыку объединения и сокращения, но некоторые комментарии всё-таки сделаю. Итак, заключительный расчет выглядит следующим образом:
(135 + Cn x 180 + (NUM - 1) x 45 / Cn) % 360, где Cn > 0 (5)
Если мы возьмем полное значение (без сокращения, % 360), то перед нами будет количество градусов пройденное по спирали от стартовой единицы, которая принимается расположенной на 315 градусе. Вычислить это значение для единицы по формуле мы не можем в связи с указанным ограничением, но последующие расчёты по факту поддерживают это априорное предположение. Для примера рассмотрим несколько нечётных квадратов:
а. NUM = 9 >> Degrees = 135 + 1 x 180 + (9 - 1) x 45 / 1 =
675 >> % 360 = 315.
b. NUM = 49 >> Degrees = 135 + 4 x 180 + (49 - 1) x 45 / 4 =
1395 >> % 360 = 315.
Собственно, это ещё один вариант расчёта градуса числа в дополнение к
приведённому ранее. Следует также уточнить, что это поиск градуса
математическим путём (подробнее по ссылке). Также к указанному посту прикреплена утилита для расчётов по Квадрату Девяти.
с уважением,
Сергей