Пылающий Корабль фрактал, впервые описанный и созданный Майклом Мичелишем и Отто Э. Рёсслером в 1992 году, генерируется путем повторения функции:
в комплексная плоскость , которая либо ускользнет, либо останется ограниченной. Разница между этим вычислением и вычислением для набора Мандельброта состоит в том, что действительная и мнимая составляющие устанавливаются на их соответствующие абсолютные значения перед возведением в квадрат на каждой итерации. Отображение не является аналитическим, потому что его реальная и мнимая части не подчиняются уравнениям Коши-Римана.
Высококачественное изображение небольшого корабля в армаде слева с большим увеличением. Западная антенна основной конструкции корабля
Пылающий Корабль, увеличенное изображение до 2,3 · 10
Фрактал Пылающего Корабля
Увеличенное изображение в левом нижнем углу фрактала Пылающего Корабля, показывая "горящий корабль" и себя. -подобие полному фракталу
Увеличенное изображение линии слева от фрактала, показывающей вложенное повторение (здесь используется другая цветовая схема)
Высококачественное изображение фрактала Burning Ship
Фрактал Burning Ship, представленный в 1K заставке "JenterErForetrukket" группы Youth Uprising; демосцена производство
Корабль-призрак - фрактал Пылающего Корабля, визуализированный с использованием техники Небулаброт
Соответствующий набор Джулии фрактала Пылающего Корабля
Соответствующий набор Джулии Пылающего Корабля Фрактал корабля
Изображение горящего фрактала корабля с очень высоким разрешением
В приведенной ниже реализации псевдокода жестко кодируется сложные операции для Z. Рассмотрите возможность реализации операций комплексных чисел, чтобы обеспечить более динамичный и повторно используемый код. Обратите внимание, что на типичных изображениях фрактала Горящего Корабля корабль отображается в вертикальном положении: реальный фрактал, полученный с помощью псевдокода ниже, инвертирован по оси x.
для каждого пикселя (x, y) на экране, do : x: = масштабированная координата x пикселя (масштабируется так, чтобы лежать в шкале X Мандельброта (-2,5, 1)) y: = масштабированная координата y пикселя (масштабируется, чтобы лежать в шкале Y Мандельброта (-1, 1)) zx: = x // zx представляет действительную часть z zy: = y // zy представляет мнимую часть z итерация: = 0 max_iteration: = 1000 while (zx * zx + zy * zy < 4 и итерация < max_iteration) do xtemp: = zx * zx - zy * zy + x zy: = abs (2 * zx * zy) + y // abs возвращает абсолютное значение zx: = xtemp iteration: = iteration + 1 if iteration = max_iteration then // Принадлежит к набору return insideColor return итерация × цвет
На Викискладе есть материалы, связанные с фракталом Burning Ship. |