🙄Разминка для ума!
Треугольник Серпинского, интересная фигура которую построить достаточно просто.
Алгоритм такой:
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
🍃Dr. Bryan Ardis - The Nicotine Lie
Nicotine belongs to a family of compounds called Alkaloids and occurs naturally in several varieties of plant – including Tomatoes, Aubergines and Potatoes – but is found at its highest levels in the Tobacco plant.
#tobacco#nicotine
AETATESOLIS
Из рубрики «Для эрудитов»
Сергей Рубинштейн не курил и полностью отказался от алкоголя, ведя аскетичный, строго сосредоточенный на работе образ жизни. Это соответствовало его пониманию психологии деятельности: сознание трактовалось им как внутреннее условие детерминизма субъекта, этической ответственности и глубокого единства с миром через рефлексивный анализ. Он прожил 70 лет и скоропостижно скончался 11 января 1960 года.
Алексей Леонтьев, напротив, курил интенсивно и постоянно, превратив сигарету в неотъемлемую часть общения, семинаров и повседневной атмосферы факультета психологии МГУ; данных о заметном потреблении алкоголя нет. Его деятельность носила преимущественно организационный, эмпирический и коллективный характер с акцентом на структуру мотивов, целей и операций, что сформировало его сознание как динамичное, практическое отражение реальности в непрерывных научных и административных процессах. Несмотря на вредную привычку, он прожил 76 лет и умер 21 января 1979 года от разрыва аорты после нескольких месяцев тяжёлой болезни.
Таким образом, различия в их деятельностях предопределили и различия их сознания: у Рубинштейна — философски углублённого, ориентированного на истину и этику, что обеспечивало ясность до конца, но сократило жизнь; у Леонтьева — деятельного, коммуникативного организатора, где даже курение органично вплеталось в ткань взаимодействия, продлевая продуктивный период.
#дляэрудитов#курение#smoking#tobacco#alcohol#табак#алкоголь#психология#psychology