FractalPark
ЭкзотическиеСложно

Rational Map 1

Рациональная итерация второй степени z²/(z + c) с одним нулём и полюсом, который путешествует по мере изменения c.

Открыть в Обзоре
Крупный план Жюлиа Rational Map 1: веер изгибающихся лезвий и размашистых каналов, расходящихся от полюса
Rational Map 1 в рендеринге FractalPark: медленно поворачивающийся веер изогнутых лезвий расходится от полюса, а узкие полосы фиксируют орбиты вблизи полюса.

Обзор

Rational Map 1 итерирует z² / (z + c). У многочлена вроде z² + c нет места, где отказывает знаменатель; у этого отображения есть. При z = −c сидит подвижный полюс. Орбита, задевающая его, может быть выброшена наружу, а затем на следующих шагах пойти совсем другим путём.

Есть один нуль — при z = 0 — и один полюс — при z = −c. Функция по-прежнему имеет степень два, но этот полюс перерисовывает плоскость. Далеко наружу z² / (z + c) растёт примерно как z (при больших |z|, z² / (z + c) ≈ z), так что бесконечность — не единственная командующая неподвижная точка. Бассейны собираются вокруг конечного набора притягивающих циклов, а полюс прорезает между ними изогнутые каналы и веерообразные секторы.

FractalPark показывает плоскости параметра, где движется c, и виды Жюлиа, где c удерживается неподвижным. Эта иллюстрация — крупный план Жюлиа: изогнутые лезвия раскрываются вокруг полюса, а тонкие цветовые полосы следуют за орбитами, скользящими вблизи особенности.

Математика

Rational iteration

z(n+1) = z(n)^2 / (z(n) + c)

Each step squares z, then divides by z + c. The numerator is zero at z = 0; the denominator is zero at z = −c, which makes that point a pole. The map has degree two: (z²)/(z + c) is degree‑2 over degree‑1, and after cancelling a common factor it has one zero and one pole, each counted with multiplicity.

Try the pole at close range. Take c = 0.5, so the pole is at z = −0.5, and start at z₀ = −0.49, just to its right. Then z₁ = (−0.49)² / (−0.49 + 0.5) = 0.2401 / 0.01 = 24.01. One step has thrown the orbit far out. Since |z₁| is large, the next step gives z₂ ≈ z₁² / z₁ = z₁ = 24.01: the large value persists instead of snapping back as in the magnet family. Pixel colour records the steps before the orbit crosses the escape threshold.

Unlike polynomial maps, where infinity always attracts escaping orbits, this map is nearly linear far out (z → z). Thrown-out orbits may drift. The escape-time colours therefore spread into broad, gradual bands rather than the abrupt jumps familiar from z² + c.

Визуальные особенности

This is a Julia close-up. Around the pole, curved blades open into sweeping channels that follow the map's local direction. Tight colour bands between them mark orbits that graze the pole and need many steps to cross the escape threshold.

Because large-z motion is nearly linear rather than explosive, the bands change colour slowly and broadly. It reads as a turning fan with the pole for its hub. Move c and the pole moves too; the whole fan reorganizes.

Ремиксы и примеры

Начните с канонического документа

Откройте то же утверждённое состояние формулы, которое используется в этом руководстве, а затем измените вид, раскраску, трансформации или анимацию в интерактивном Обзоре.

Часто задаваемые вопросы

What makes this a rational map?

Its rule is a quotient of two complex polynomials, z² divided by z + c, not one polynomial alone. That permits poles: places where the denominator vanishes and the value becomes infinite. Polynomial maps have no such places, so their dynamics lack this particular detour.

Where is the pole?

Set z + c to zero: the pole is at z = −c. It moves with c and helps draw the curved fan and blades. An orbit passing close by is thrown to a large value, then may drift because the map grows only linearly far from the origin.

Разбор исходного кода

  1. frm-v1:69a7d072638f6981ee8e06c85d03831c9a53fb549337605eb35bb3cdf1db4e10:init/0

    В rationalMap1, узел инициализации выполняет только: если ismand, то z = 0; иначе z = pixel.

  2. frm-v1:69a7d072638f6981ee8e06c85d03831c9a53fb549337605eb35bb3cdf1db4e10:loop/0

    В rationalMap1, этот узел цикла выполняет только: numer = z * z.

  3. frm-v1:69a7d072638f6981ee8e06c85d03831c9a53fb549337605eb35bb3cdf1db4e10:bailout

    В rationalMap1, узел bailout проверяет только: |z| <= 256.

Синтаксические особенности

initialization-flow

В rationalMap1, признак инициализации выделяет единственную начальную операцию если ismand, то z = 0; иначе z = pixel.

iteration-flow

В rationalMap1, признак итерации выделяет единственное присваивание numer = z * z.

bailout-test

В rationalMap1, признак завершения выделяет сравнение |z| <= 256.

Эксперимент с параметрами

Шаги

  1. Выполните рендер rationalMap1 с закреплённой базой плоскости параметров: центр (0, 0), масштаб 0.25, поворот 0, и 96 итераций.
  2. Не меняя базу, кроме числа итераций, выполните один рендер с 48 итерациями и сравните его с базой в 96 итераций.

Что наблюдать

В rationalMap1, запишите, меняется ли что-либо при сравнении 48 и 96 итераций, и отметьте ограничение исходника |z| <= 256.

Упражнение

В rationalMap1, найдите три аннотации и объясните если ismand, то z = 0; иначе z = pixel, numer = z * z и |z| <= 256 и объясните, почему соседние инструкции не относятся к аннотации цикла.

Проверка выполнения

В rationalMap1, вы завершили задание, если перечислили все 3 ключа аннотаций и точно объяснили numer = z * z и |z| <= 256.

Источники и права

Происхождение указано в английском фактологическом блоке.

Права указаны в английском фактологическом блоке.

Карточка формулы

rationalMap1

Эта каноническая реализация FractalPark опубликована и готова к запуску.

Детерминированный предпросмотр rationalMap1

Канонический исходный код

Язык
frm-like/1
Стандартная библиотека
1
Режим профиля
parameter-plane
Центр профиля
0, 0
Масштаб профиля
0.25
Итерации профиля
96
Основание профиля
family

Параметры

Объявленных параметров нет

Канонический исходный код

Эта проверенная каноническая ревизия доступна только для чтения. Remix создаёт отдельную редактируемую копию.

Загрузка канонического кода…

Источник и текущая реализация

ID формулы
37425fb2-8542-502f-94ac-94c0ccb6e508
Каноническое имя
rationalMap1
Исходное имя
rationalMap1
Исторический источник
FractalPark
Текущая реализация
Собственность проекта

Это собственная реализация проекта FractalPark. Ссылка ведёт на зафиксированный канонический файл Definition.

Есть вопрос о правах или атрибуции?

Отправьте ID формулы и подтверждающие материалы. На время проверки сопровождающий может приостановить или отозвать реализацию. contact@fractalpark.com