Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
Множество Мандельброта с использованием только целочисленной математики в Blender.

Эта нода появилась не так давно. Она работает с 32-битными целыми числами (32-bit integer), что обеспечивает точные вычисления.

Тема оказалась очень интересной. Именно поэтому сейчас публикую посты гораздо реже.

@osipenkovarts
Так выглядит мантисса Imaginary части множества Мандельброта.

Последние два месяца я работал над кастомной математикой внутри Blender и изучил много интересного. В основном это касалось стандарта IEEE-754, на котором основаны числа с плавающей запятой (floating point), используемые нами ежедневно, а также знаковых и беззнаковых 32-битных целых чисел (signed/unsigned integer 32). Над последними я долго ломал голову, но в итоге всё получилось.

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

Теперь есть больше времени для новых постов, а пока можете посмотреть занимательный онлайн-конвертер стандарта IEEE-754.

@osipenkovarts
Продолжение этого поста.

Парсинг стринга в Blender — на выходе четыре канала signed integer 32-bit. Теперь предстоит продумать, как корректно объединить эти каналы и преобразовать их в единое значение.

Остальное уже сделано: точка 2^127, на которой, как пишут, почти все сдаются, пройдена.

@osipenkovarts
Шах и мат геометры
Media is too big
VIEW IN TELEGRAM
Продолжаю тему глубоких зумов в множество Мандельброта.

Запись с экрана в реальном времени — наконец доделал сетап, на котором возможны зумы с масштабом 1 / 2^840 и даже меньше.

Опорная точка просчитывается в Python (библиотеки gmpy2 и mpfr) и передаётся в шейдер через текстуру с помощью Animation Nodes.

Рендер делается в Blender EEVEE NPR Prototype — только там есть Repeat Zone в шейдере для итераций (2048 в этой демонстрации).

@osipenkovarts
This media is not supported in your browser
VIEW IN TELEGRAM
Множество Мандельброта — зум до 1:2¹³⁶

4096 итераций, координаты центра: -1.7489047201202873520283799134843031838019741737997091, 0.00000000000724885499696872307560120751923056175818569.

Всем хороших выходных!

@osipenkovarts
This media is not supported in your browser
VIEW IN TELEGRAM
Soft Float с использованием только целочисленной математики и множество Мандельброта на нём.

Первый канал (Integer 32): мантисса (для контроля переполнения он интерпретируется как беззнаковый - при отрицательном значении требуется коррекция). Второй канал (Integer 32): экспонента. Третий канал (Boolean): знак числа (True → отрицательное, False → положительное).

Углубился в тему для понимания низкоуровневых принципов вычислений и реализации сверхглубоких зумов.

@osipenkovarts
2025/06/28 07:35:57
Back to Top
HTML Embed Code: