🙄Разминка для ума!
Треугольник Серпинского, интересная фигура которую построить достаточно просто.
Алгоритм такой:
1. создаём любые 3 точки на плоскости
2. из этих точек случайно выбираем любую, как начальную
3. случайно выбираем любую точку из этих же трёх точек как цель
4. перемещаемся в сторону цели на половину расстояния
5. повторяем бесконечно с пункта 3
Если сделать достаточно много итераций то вырисовывается интересная фигура. Треугольник, в который вписаны более мелкие треугольники. Это самый настоящий фрактал!
Я собрал пример построения такой фигуры на базе Qt.
🌎 Код можно посмотреть здесь.
С помощью paintEvent я рисую точки по озвученному алгоритму. Каждые 10 секунд либо по клику на виджете строится следующий треугольник.
Особенности примера:
🔸 Атрибут Qt.WA_OpaquePaintEvent позволяет сохранить то, что было нарисовано в прошлой итерации. Таким образом мы видим постепенное наполнение точек а не мелькающую одну точку.
🔸QTimer позволяет создавать отложенные вызовы один раз или с повторением через интервал.
🔸QColor.fromHsv() позволяет создать рандомный но предсказуемый цвет с помощью HSV схемы. Не слишком светлый и не слишком тёмный но всегда с разный. Рандомизации подвергается только смещение по цветовому кругу (Hue), яркость (Value) и насыщенность (Saturation) можно контролировать отдельно в своих пределах или оставить статичными. Обычный рандом цвета по RGB не даёт такой предсказуемый результат.
🔸 Каждый новый цикл с новым треугольником предварительно затемняет предыдущие через этот вызов
painter.fillRect(rec, QColor(0, 0, 0, 100))
То есть полупрозрачный цвет. Таким образом, чем старше треугольник, тем он темней.
Если сделать виджет фулскрин, то у нас получится некий ScreenSaver)))
🔸 Да, я знаю, что рисование в Qt не самый лучший способ сделать этот пример) Скорее всего самый НЕподходящий. Попробуйте сделать тоже самое но другими средствами.
#qt#source#tricks
🍀127-я Кантонская ярмарка.: Стенд номер 10.3K21. Расписание прямых трансляций на 15-е июня, Пекинское время:
1. 10:00 - 11: 00 (7:00 - 8:00 по Ташкентскому времени) Средства автоматизации и контроля: контакторы CJХ2 и CJX2i, магнитный пускатель YCQC7, контактор для цепей компенсации реактивной мощности CJ19i и аксессуары для контакторов;
2. 14:00 - 15: 00 (11:00 - 12:00 по Ташкентскому времени) Модульный автоматический выключатель серии YCB6H и аксессуары;
3. 16:00 - 17: 00 (13:00 - 14:00 по Ташкентскому времени) Модульный автоматический выключатель серии YCB9 и аксессуары;
4. 19:00 - 20: 00 (16:00 - 17:00 по Ташкентскому времени) Распределительные устройства: Автоматические выключатели в литом корпусе YCM1 и YCM7, Воздушный автоматический выключатель и др.
Добро пожаловать в CNC Electric!
‼️Перейдите по ссылке в QR-код!‼️
#cnc#cncelectric#cncuzbekistan#cnctashkent#digitop#digitopuzbekistan#автоматика#электрика#электрик#электрощит#электротехническаяпродукция#electric#сборкащитов
Переключатель фаз PS-63A предназначен для питания промышленной и бытовой однофазной нагрузки 220/230В 50Гц от одной из фаз трехфазной сети, с целью обеспечения питания особо ответственного однофазного оборудования от наиболее качественной фазы и защиты его от повышенного или пониженного напряжения.
📱Телефоны:
(99) 844-00-30 Эргаш
(99) 843-00-30 Сардор
📠факс/офис: (71) 228-02-11
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
Youtube —»» https://www.youtube.com/channel/UCUmHJIxHuQtre1MG6XQ_12w
#cnc#cncelectric#cncuzbekistan#cnctashkent#digitop#digitopuzbekistan#автоматика#электрика#электрик#электрощит#электротехническаяпродукция#electric#сборкащитов
Реле напряжения Vp-16
предназначено для защиты оборудования и различных устройств от перепадов напряжения. При управлении большей мощностью нагрузки необходимо применять контактор. Монтаж на DIN-рейку.
📱Телефоны:
(99) 844-00-30 Эргаш
(99) 843-00-30 Сардор
📠факс/офис: (71) 228-02-11
🌐website: www.cncele.uz, www.elcom.uz
📧e-mail: [email protected]
Instagram —»» https://www.instagram.com/cnc_uzbekistan/
Facebook —»» https://www.facebook.com/electromaxgroup/
Telegram —»» https://t.me/electromaxgroup
Youtube —»» https://www.youtube.com/channel/UCUmHJIxHuQtre1MG6XQ_12w
#cnc#cncelectric#cncuzbekistan#cnctashkent#digitop#digitopuzbekistan#автоматика#электрика#электрик#электрощит#электротехническаяпродукция#electric#сборкащитов