🙄Разминка для ума!
Треугольник Серпинского, интересная фигура которую построить достаточно просто.
Алгоритм такой:
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
Il rappresentante speciale dell'Ue per la regione del Golfo Luigi #DiMaio è stato nominato professore onorario presso il dipartimento di studi sulla Difesa del King's College di Londra. Lo ha annunciato su LinkedIn: "Assumerò questo nuovo ruolo con l'obiettivo di contribuire al dialogo sulla sicurezza internazionale, le relazioni Europa-Golfo e le dinamiche geopolitiche", ha scritto l'ex ministro degli Esteri.
@UltimoraPolitics24
Il Foglio - Luigi #DiMaio sarebbe in pole position per diventare coordinatore speciale dell'Onu per il Medio Oriente e vicesegretario generale Onu. Il governo italiano ha dato l'ok, la procedura è in corso. La carica avrebbe base a Gerusalemme.
@UltimoraPolitics24
Luigi #DiMaio: "Essere italiani, da rappresentanti delle istituzioni in Medio Oriente, è un valore aggiunto grazie alla postura assunta dal nostro Paese nelle principali crisi regionali. La stabilità politica e di governo degli ultimi anni ha permesso all'Italia di essere percepita come un attore affidabile".
@UltimoraPolitics24
Luigi #DiMaio è ufficialmente il nuovo rappresentante speciale dell'Unione europea per la regione del Golfo. L'ex ministro degli Esteri italiano: "Onorato dalla nomina del Consiglio Ue, è una grande responsabilità"
@UltimoraPolitics
Il Comitato Politico e di Sicurezza dell'Unione europea (Cops) ratifica la nomina di Luigi #DiMaio a rappresentante speciale dell'Ue nel Golfo Persico. La nomina dovrà essere ora ratificata dal Consiglio Ue: in caso positivo #DiMaio entrerà in carica dal 1° giugno
@UltimoraPolitics
L'alto rappresentante Borrell ha congedato Luigi #DiMaio durante il Consiglio Europeo, chiamandolo "grande ministro". Lungo applauso di tutti i ministri degli esteri dell'Unione.
@UltimoraPolitics