🙄Разминка для ума!
Треугольник Серпинского, интересная фигура которую построить достаточно просто.
Алгоритм такой:
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
🔠
🔠
🔠
🔠
🔠
🔠В новом году мы с вами еще не виделись, давайте исправлять!
У нас есть для вас 3 квеста!
1 - дожить до субботы, 2 и 3 - поволонтёрить на полезных мероприятиях
С утра в субботу предлагаем поучаствовать в подготовке компостных ям-траншей и прилегающей территории к последующему приему органики в Ботсаду, а днём в Ковчеге поиграть в сортировку крышечек по цветам на скорость!* И там, и там пригодится помощь 7-10 волонтёров
♻
* Мы вместе собрали очень много крышечек от пластиковых бутылоки теперь хотим сделать из этих крышечек красивую мозаику (#reuse) в одной из армянских школ. Дизайн мозаики разработает известный художник Арман Степанян. Для реализации нам необходимо рассортировать собранные крышечки по цвету
Ждем вас 21 января на одном или сразу двух мероприятиях!
🕚 11:00
📍 Ботанический сад, центральный вход, ул. Грачья Ачаряна
🛠 задачи: обрезка кустарников, перенос камней, уборка мусора
🕒 15:00
📍 ресурсный центр Ковчега, ул. Павстоса Бузанда 1/3
🛠 задача: сортировка пластиковых крышечек по цветам
Также просимподдержать нас, отправив пожертвование на комфортную сумму сюда
➡️
➡️
➡️
5471280030147752 (Ардшинбанк)
IVAN DIVILKOVSKIY
2200700168433976 (Тинькофф)
As we prepare for Christmas, let's transform and reuse our old decor for a fresh festive look.
Instead of buying new decorations, wrapping paper and cards, we can:
🎄 Paint a fresh coat on old ornaments
🎁 Reuse empty food jars or cookie tin cans as gift boxes
📱 Swap Christmas paper cards for heartfelt e-greetings
How are you getting creative with upcycling and recycling this Christmas? Share your tips in the comments below.
#TowardsZeroWaste#3Rs#Reduce#Reuse#Recycle
Our 2023 Wrapped is in!
'Bringing Your Reusable Bag for Shopping' is the chart-topping single we all need.
From reusable essentials to recycling mastery, we've built an eco-habit playlist that's pure chart green. Top tracks include 'Reusable Bag Groove', 'Recycling Rhythm', and 'Energy-Saving Melody'.
Fellow eco-warriors, let’s keep this #SustainableSG chart-topper habit going strong!
#TowardsZeroWaste#BYOB#BringYourOwnBag#BringYourOwn#BYO#3Rs#Reduce#Reuse#Recycle#EnergyEfficiency
Что это такое своп и шеринг группы («swap» и “sharing” в переводе с англ. “обмен”) ?
⠀
🍀это обмен ненужными, но хорошими вещами. Свопы проходят в виде фримаркета: вы приносите ненужную вам вещь, а забирайте нужную или вовсе ничего не забираете. Главный принцип свопа — никаких денег #nomoney
🍀 можно делиться информацией о ненужных вещах и договариваться об обмене в шеринг-группах или чатах в соцсетях.
⠀
⠀
🍀🍀🍀
#foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing