Построение фрактала "капуста Романеско" в 3d

Данный программный код создает трехмерный фрактал, используя рекурсивное расположение сфер по спирали Фибоначчи с применением золотого угла. Разберем алгоритм пошагово:

1. Инициализация базовых параметров
nbrSpheres = 80 - количество сфер на каждом уровне, baseRadius = 10 - начальный радиус основной сферы, levels = 3 - глубина рекурсии (количество уровней вложенности), goldenAngle - угол, рассчитанный на основе золотого сечения (~137.5°)

2. Принцип работы функции createFractal()
Рекурсивная логика:
Базовый случай: если достигнут 0 уровень или радиус < 0.3, рекурсия прекращается

Расчет параметров: Вычисляется площадь родительской сферы: lgArea = πr². Определяется средняя площадь для дочерних сфер: meanArea = lgArea/nbrSpheres. Задаются минимальная и максимальная площади с вариацией deviation

Генерация сфер. Расположение: Угол рассчитывается как i * goldenAngle (спираль Фибоначчи). Радиус спирали spiralRad увеличивается пропорционально накопленной площади. Глубина z зависит от уровня рекурсии (Math.pow(2, level) * ratio).

Размер сферы. Площадь дочерней сферы: smArea = map(ratio, minArea, maxArea)

Радиус: smRadius = √(smArea/π)
Рекурсивный вызов. Для каждой сферы вызывается createFractal() с параметрами: новый центр (x,y,z), радиус ×0.8, уровень level-1

3. Особенности алгоритма
Использование goldenAngle обеспечивает оптимальное заполнение пространства без перекрытий. Дает естественный, эстетичный вид фрактала. Площади сфер варьируются в диапазоне [minArea, maxArea]. Обеспечивает плавные переходы между уровнями. Компонента z добавляет глубину, создавая объемную структуру. Глубина усиливается с каждым уровнем (Math.pow(2, level)). Каждый следующий уровень имеет радиус ×0.8 от родительского. Создает классический фрактальный паттерн самоподобия

Направление: