Голосование

Используете ли Вы Квадрат 9?

Да
123 (79.9%)
Нет
31 (20.1%)

Проголосовало пользователей: 152

Автор Тема: Квадрат Девяти  (Прочитано 363714 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Svoresh

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 650
  • Репутация: 3977
  • Ekam Sat Vipra Bahudha Vadanti
Re: Квадрат Девяти
« Ответ #1020 : 04 Май 2021, 13:23:07 »
   Доброго всем времени!

   По просьбе расширен диапазон расчётов в программе S9 до квадрата 999 (998001).
   Желаю приятного использования!

   с уважением,
  Сергей
Lokah Samasta Sukhino Bhavantu

   Поддержка форума:  
   Карта Visa - 4893 4704 3726 9472
Подробнее

LIKE

stani, Sting, sid, Филько, juve23, fomzarius, Leo111, SERPANTIN, Трейд, meritaim, jack6, Андрей 2, verst, Berouz, Bro144, silver

DISLIKE

0 пользователей


Оффлайн verst

  • non suffragium
  • Пользователь
  • *****
  • Сообщений: 60
  • Репутация: 43
Re: Квадрат Девяти
« Ответ #1021 : 04 Май 2021, 13:30:37 »
   Доброго всем времени!

   По просьбе расширен диапазон расчётов в программе S9 до квадрата 999 (998001).
   Желаю приятного использования!

   с уважением,
  Сергей

БлагоДарю.Нижайший поклон.

Оффлайн profcomtel

  • Старожил
  • ****
  • Сообщений: 335
  • Репутация: -13
Re: Квадрат Девяти
« Ответ #1022 : 04 Май 2021, 22:01:21 »
   Доброго всем времени!

   По просьбе расширен диапазон расчётов в программе S9 до квадрата 999 (998001).
   Желаю приятного использования!

   с уважением,
  Сергей
Винда че то ругается. Говорит троян. Блокирует.
С уважением, Владимир.
Подробнее

LIKE

verst

DISLIKE

0 пользователей


Оффлайн sid

  • Ветеран
  • *****
  • Сообщений: 596
  • Репутация: -4
Re: Квадрат Девяти
« Ответ #1023 : 05 Май 2021, 09:24:16 »
У меня Аваст несколько часов проверял, потом зелёный свет дал.
Кто проведёт в размышлении один час, получит такое же воздаяние, как от нафиле - молитв, совершённых за тысячу лет.
Небо становится ближе с каждым днём..
Подробнее

LIKE

verst

DISLIKE

0 пользователей


Оффлайн verst

  • non suffragium
  • Пользователь
  • *****
  • Сообщений: 60
  • Репутация: 43
Re: Квадрат Девяти
« Ответ #1024 : 05 Май 2021, 09:29:39 »
   Доброго всем времени!

   По просьбе расширен диапазон расчётов в программе S9 до квадрата 999 (998001).
   Желаю приятного использования!

   с уважением,
  Сергей
Винда че то ругается. Говорит троян. Блокирует.
Винда она веселая.проверьте сторонними антивирусниками,добавьте в исключения и пользуйтесь на здоровье

Оффлайн profcomtel

  • Старожил
  • ****
  • Сообщений: 335
  • Репутация: -13
Re: Квадрат Девяти
« Ответ #1025 : 05 Май 2021, 11:05:42 »

Винда она веселая......
Да, понятно, победил я ее, при помощи палки и веревки. :)
С уважением, Владимир.

Оффлайн Svoresh

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 650
  • Репутация: 3977
  • Ekam Sat Vipra Bahudha Vadanti
Re: Квадрат Девяти
« Ответ #1026 : 05 Май 2021, 14:06:01 »
   Доброго времени, господа присяжные!

   Интересная реакция "окошек" и антивирей на софтинку  ;D  И всё-таки странно, т.к. утилита не требует каких-то разрешений, выхода в инет и прочего. Наверное, это реакция на тригонометрические расчёты с большеньким числом 8-D  Если на предыдущую версию не было никакой "ругани" и не требовалось расчётов для чисел больше квадрата 289 (83521), то можно и не мучиться с обновой. Хотя изменения затронули, по факту, только "морду" утилиты.

   Надеюсь, эти странности не испортят удовольствия от использования программы.

   с уважением,
  Сергей
Lokah Samasta Sukhino Bhavantu

   Поддержка форума:  
   Карта Visa - 4893 4704 3726 9472
Подробнее

LIKE

sid, Филько, profcomtel, verst

DISLIKE

0 пользователей


Оффлайн mscorlib

  • Постоялец
  • ***
  • Сообщений: 159
  • Репутация: 216
Re: Квадрат Девяти
« Ответ #1027 : 14 Июнь 2021, 23:36:06 »
Доброго времени.

Пишу в тетрадке карандашом. Стираю. Снова пишу, пока насквозь не протрётся.
Положу сюда суть геометрического метода, т.к. пора стирать эту страницу.
Чтоб не пропало.

Ну и алгоритм, ежели кто восхочет что-нибудь состряпать.

        /// <summary>
        /// Вычисляет градусы квадрата 9
        /// </summary>
        /// <param name="size">размер квадрата включая центральный элемент</param>
        /// <returns></returns>
        public static double[] CalcSQ9Degrees(int size)
        {
            int i = 1;//текущее число, в центре 1, если нужно смещение, вычисляйте отдельно
            int w = 2 * size - 1;
            // градусы. числа нам здесь не нужны, т.к. они соответствуют индексу
            double[] degrees = new double[w * w];
            // координаты ячейки
            int x = size - 1;
            int y = size - 1;
            // размер текущего квадрата
            // каждый последующий больше на 2
            int curWidth = 2;
            // центр
            degrees[i - 1] = 0;
            i++;
            x--;
            // номер квадрата, он же равен высоте треугольника с вершиной в центре
            int nSquare = 0;
            // для расчёта используем теоремы синусов, косинусов и Пифагора
            // например, для левого треугольника (0-315-45):
            //
            // угол alpha - всегда 45 (верхний)
            // угол beta - угол между вертикалью и прямой из центра квадрата к искомой ячейке
            // угол gamma - угол в центре
            // противоположные им стороны соответственно: a, b, c
            for (; ; )
            {
                if (x < 0)
                    break;
                nSquare++;
                // вверх с левой нижней
                // на 45, 135, 225 мы поворачиваем,
                // а после 315 отсчитывается ещё одна ячейка влево

                // это для подсчёта ячеек
                double wx = curWidth;
                double a; // угол
                double c; // сторона c треугольника, уменьшается на каждой ячейке
                // вынесем общие
                double sin_45 = Math.Sin(45 * Math.PI / 180);
                double cos_45 = Math.Cos(45 * Math.PI / 180);
                double b = Math.Sqrt(2 * nSquare * nSquare); // сторона b
                for (int j = 0; j < curWidth; j++, i++)
                {
                    // первая вылезающая в следующий квадрат ячейка:
                    // 2, 10, 26, 51, 84, ...
                    wx--;
                    c = wx;
                    a = (c * sin_45) / (Math.Sqrt(b * b + c * c - 2 * b * c * cos_45));
                    // переводим в градусы
                    a = Math.Asin(a) * 180 / Math.PI;
                    // это левый треугольник (0-315-45)
                    a = (315 + 90 - a) % 360;
                    degrees[i - 1] = a;
                    y--;
                }
                y++;
                x++;
                wx = curWidth;
                // вправо
                for (int j = 0; j < curWidth; j++, i++)
                {
                    wx--;
                    c = wx;
                    a = (c * sin_45) / (Math.Sqrt(b * b + c * c - 2 * b * c * cos_45));
                    a = Math.Asin(a) * 180 / Math.PI;
                    a = (45 + 90 - a) % 360;
                    degrees[i - 1] = a;
                    x++;
                }
                x--;
                y++;
                wx = curWidth;
                // вниз
                for (int j = 0; j < curWidth; j++, i++)
                {
                    wx--;
                    c = wx;
                    a = (c * sin_45) / (Math.Sqrt(b * b + c * c - 2 * b * c * cos_45));
                    a = Math.Asin(a) * 180 / Math.PI;
                    a = (135 + 90 - a) % 360;
                    degrees[i - 1] = a;
                    y++;
                }
                y--;
                x--;
                wx = curWidth;
                // влево
                for (int j = 0; j < curWidth; j++, i++)
                {
                    wx--;
                    c = wx;
                    a = (c * sin_45) / (Math.Sqrt(b * b + c * c - 2 * b * c * cos_45));
                    a = Math.Asin(a) * 180 / Math.PI;
                    a = (225 + 90 - a) % 360;
                    degrees[i - 1] = a;
                    x--;
                }
                curWidth += 2;
            }
            return degrees;
        }


Для автовыделения квадрата любого размера "по требованию", если предыдущий используемый квадрат окажется маловат:
        /// <summary>
        /// Вычисляет градус указанного числа на квадрате 9 геометрическим методом.
        /// Числа квадрата начинаются с nFirst в центре.
        /// Если нужны другие числа, преобразуйте их отдельно
        /// </summary>
        /// <param name="value">искомое число</param>
        /// <param name="degrees">массив вычисленных градусов</param>
        /// <param name="nFirst">число в центре квадрата</param>
        /// <returns>градус числа <paramref name="value"/></returns>
        public static double CalcSQ9Degree(double value, ref double[] degrees, int nFirst = 1)
        {
            if (value <= 0)
                return 0;
            // отрежем целую часть
            int lowValue = (int)value;
            int highValue = lowValue + 1;
            // найдём градусы
            int n = lowValue - nFirst;
            if (degrees == null || degrees.Length == 0 || n + 1 >= degrees.Length)
            {
                int size = 9;
                do
                {
                    size++;
                } while (n + 1 >= (2 * size - 1) * (2 * size - 1));
                degrees = CalcSQ9Degrees(size);
            }
            double degreeLow = degrees[n];
            if (lowValue == value)
                return degreeLow;
            // есть дробная часть
            double degreeHigh = degrees[n + 1];
            double delta = degreeHigh - degreeLow;
            if (delta < 0) // проход через 0
                delta += 360;
            // добавим дробную часть и вернём
            return degreeLow + (value - lowValue) * delta;
        }

« Последнее редактирование: 15 Июнь 2021, 16:57:25 от mscorlib »
С уважением, Евгений.
Подробнее

LIKE

Svoresh, insider1, Трейд

DISLIKE

0 пользователей


Оффлайн SERPANTIN

  • Ветеран
  • *****
  • Сообщений: 1802
  • Репутация: 727
Re: Квадрат Девяти
« Ответ #1028 : 15 Июнь 2021, 11:41:41 »
   Доброго времени, господа присяжные!

   Интересная реакция "окошек" и антивирей на софтинку  ;D  И всё-таки странно, т.к. утилита не требует каких-то разрешений, выхода в инет и прочего. Наверное, это реакция на тригонометрические расчёты с большеньким числом 8-D  Если на предыдущую версию не было никакой "ругани" и не требовалось расчётов для чисел больше квадрата 289 (83521), то можно и не мучиться с обновой. Хотя изменения затронули, по факту, только "морду" утилиты.

   Надеюсь, эти странности не испортят удовольствия от использования программы.

   с уважением,
  Сергей

Серега, там глюк в проге, а именно в оверлее.

Знание - Сила! Незнание - рабочая сила.
Меньше пафоса, господа!
EVERY WALL IS A DOOR...
Подробнее

LIKE

verst

DISLIKE

0 пользователей


Оффлайн Svoresh

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 650
  • Репутация: 3977
  • Ekam Sat Vipra Bahudha Vadanti
Re: Квадрат Девяти
« Ответ #1029 : 15 Июнь 2021, 13:06:16 »
   Доброго времени, господа присяжные!

   Интересная реакция "окошек" и антивирей на софтинку  ;D  И всё-таки странно, т.к. утилита не требует каких-то разрешений, выхода в инет и прочего. Наверное, это реакция на тригонометрические расчёты с большеньким числом 8-D  Если на предыдущую версию не было никакой "ругани" и не требовалось расчётов для чисел больше квадрата 289 (83521), то можно и не мучиться с обновой. Хотя изменения затронули, по факту, только "морду" утилиты.

   Надеюсь, эти странности не испортят удовольствия от использования программы.

   с уважением,
  Сергей

Серега, там глюк в проге, а именно в оверлее.

   Доброго времени, тёзка!

   Тебя смутило, что при смещении оверлея на градус получаются настолько отличающиеся числа? В действительности нет ничего удивительного.
   Число 11881 завершает 54 цикл. Это квадрат 109, находящийся на 315 градусах. Если мы сместимся на градус дальше и рассмотрим этот же - 54-й - цикл, то мы получим именно 11450, т.е. число начинающее этот самый цикл сразу после замыкающего 53-й - 11449 (квадрат 107).
   Такие дела  ;)

   с уважением,
  Сергей
Lokah Samasta Sukhino Bhavantu

   Поддержка форума:  
   Карта Visa - 4893 4704 3726 9472
Подробнее

LIKE

SERPANTIN

DISLIKE

0 пользователей


Оффлайн Prophet (Игорь)

  • Ветеран
  • *****
  • Сообщений: 600
  • Репутация: 309
Re: Квадрат Девяти
« Ответ #1030 : 15 Июнь 2021, 22:35:17 »
Всем привет. Есть у кого просто калькулятор времени?

Оффлайн Vadim

  • Ветеран
  • *****
  • Сообщений: 2496
  • Репутация: 1511
  • Skype:  hurox@mail-hub.info
Re: Квадрат Девяти
« Ответ #1031 : 16 Июнь 2021, 18:57:30 »
Мда, код написан на твердую двойку с минусом :) Попробуйте через месяц, другой вернуться к нему и понять что-нибудь. Просто дружеский совет, почитайте https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

Насчет точных градусов, есть же натуральные циклы, можно посмотреть в них расположение экстремума, эти числа и будут точными градусами.

С уважением
Вадим

« Последнее редактирование: 16 Июнь 2021, 19:28:43 от Vadim »
Подробнее

LIKE

verst

DISLIKE

0 пользователей


Оффлайн Vadim

  • Ветеран
  • *****
  • Сообщений: 2496
  • Репутация: 1511
  • Skype:  hurox@mail-hub.info
Re: Квадрат Девяти
« Ответ #1032 : 16 Июнь 2021, 19:28:23 »
Небольшой пример, последняя вершина на фунте, первого июня
вершина: 142.5
закрытие: 141.5

От начала года 1 июня дает 151 день календарный и 107 дней торговых, причем обратите внимание, вычитаются только выходные, но не праздники, коих было 5 штук в этот период.
На кв 9 от квадрата нечетного числа 121 отмеряем 152 градуса и приходим на 107 градус круга. Это и будет точное положение вершины на 3х знаках.

До конца года 365 - 151 = 214
214/2 = 107, опять
и тут же пункты 121 + 21.4 = 142.4

С уважением
Вадим
« Последнее редактирование: 16 Июнь 2021, 19:32:10 от Vadim »
Подробнее

LIKE

tilimili, Андрей 2, Seriy76

DISLIKE

0 пользователей


Оффлайн SERPANTIN

  • Ветеран
  • *****
  • Сообщений: 1802
  • Репутация: 727
Re: Квадрат Девяти
« Ответ #1033 : 17 Июнь 2021, 13:49:30 »
Мелкий негодник завелся, шпалит всех. НигадЯй)
Знание - Сила! Незнание - рабочая сила.
Меньше пафоса, господа!
EVERY WALL IS A DOOR...
Подробнее

LIKE

0 пользователей

DISLIKE

Edgr


Оффлайн mscorlib

  • Постоялец
  • ***
  • Сообщений: 159
  • Репутация: 216
Re: Квадрат Девяти
« Ответ #1034 : 10 Июль 2021, 16:37:34 »
Доброго времени.

47 к.д. + (3,9р.=)39* - > 25 к.д.
22 .д. + (5,5р.=)55* - > 70 к.д.
Алгоритм раньше написал.

Не знаю, почему.
Но знаю две вещи:
1. это продолжает работать
2. это, вероятно, не правильно, поскольку это только работает на рубле. Но это работает. Пока работает. Возможно, просто это часть связей, действующих в этом диапазоне.
3. Правда, не всем сверху положено зарабатывать, даже если что-то работает.

PS. Символ градуса в знак вопроса превратился.
« Последнее редактирование: 10 Июль 2021, 16:41:49 от mscorlib »
С уважением, Евгений.
Подробнее

LIKE

Филько, tilimili, Андрей 2, Bro144

DISLIKE

0 пользователей