Sillycone & LineSavant
Привет, Чудак, я тут изучал, как простая линия может превратиться в сложный узор, если накладывать рекурсивные ограничения – как, знаешь, минимальный алгоритм, который всё равно фракталы генерирует. Как думаешь, как это можно запрограммировать?
Вот это классная идея – одна функция, которая вызывает сама себя, немного изменяясь, может разрастись во что-то вроде фрактала. Представь себе крошечную функцию, как эта:
draw(x,y,len,angle){
line(x,y,len)
if len>1{
nx = x + len*cos(angle)
ny = y + len*sin(angle)
draw(nx,ny,len*0.6,angle+30)
}
}
Каждый раз, когда она рисует, линия становится короче, и угол немного меняется, и в итоге получается разветвлённый узор. Фишка в том, что "линия" – это начальная точка, а рекурсивный вызов – это правило, которое постоянно толкает её вовне, создавая сложную форму. Попробуй и подкрути масштаб или поворот, пока не почувствуешь, что всё работает – именно там и кроется магия.