LINUX.ORG.RU

Python, Qt, PySide, matplotlib и множество Мандельброта

 , , , ,


0

1

Праздного расширения кругозора для, решил посмотреть в сторону связки Python + Qt. В качестве упражнения выбрал множество Мандельброта, из matplotlib позаимствовал готовые цветовые схемы.

В остальном, Arch и почти дефолтная KDE.

PNG в полном размере.

>>> Просмотр (1796x1010, 1293 Kb)

★★★

Проверено: JB ()

С таким набором можно две панельки в одну схлопнуть. А картинки красивые, да :)

Deleted
()

Фракталы красивые. Панели толстые.

bubblecore ★★★★
()

Красиво. Но вот с панелями и правда надо что-то делать.

najlus ★★★★★
()
Ответ на: комментарий от Deleted

Привычка иметь часы сверху, а панель задач снизу.

И потом, во-первых, при наличии 1440 пикселей по вертикали, и без того места предостаточно, и, во-вторых, мне не понять как народ работает без интервалов между панелями и окнами (т.е. с «тонкими» панелями).

omegatype ★★★
() автор топика
Ответ на: комментарий от thunar

Угу, если будет свободное время, доведу до ума, что бы «путешествовать» по фракталу комфортно - пока только увеличение выделенной мышкой области.

omegatype ★★★
() автор топика
Ответ на: комментарий от thunar

Плохо - каждая отрисовка пересчитывается полностью с фиксированным качеством в один поток :) Есть желание реализовать отрисовку по фрагментам с плавающим качеством в несколько потоков, но пока нет времени на реализацию.

omegatype ★★★
() автор топика

Спасибо, мои глаза вытекли из-за твоих шрифтов.

rtvd ★★★★★
()

Кусочек кода маловат, но судя по возвращаемому из window2complex кортежу, встроенную в питон поддержку комплексных чисел не пользуете. Почему?

antiPooH
()

Шрифты — какое-то совершенно ужасное мыло. Надеюсь на твоем мониторе они лучше смотрятся.

Deleted
()
Ответ на: комментарий от antiPooH

complex использую там, где нужно производить операции с комплексными числами, в отрисовщике точка на коплексной плоскости суть тоже, что и координаты пикселя - просто два числа, кортежей под это дело хватает.

omegatype ★★★
() автор топика
Ответ на: комментарий от karmich

Тривиальный код (не оптимизировал вообще, оставил так просто и близко к записи на бумаге, как только можно):

def mandelbrot(real, imag, N = 200):
    c = complex(real, imag)
    i = 0
    z = c
    while (i < (N - 1)) and (abs(z) < 4):
        i += 1
        z = pow(z, 2) + c
    return i

omegatype ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.