Вернемся к картинкам и коду. Точнее, к процедурному подходу. Подсмотрел тут в твитторе интересный код для процессинга

Вернемся к картинкам и коду. Точнее, к процедурному подходу. Подсмотрел тут в твитторе интересный код для процессинга. Как бы твари из первой матрицы для демосцены. Забрал этот write-only код, скинул его в chatGPT и говорю: “братиш, дай мне html код с рульками для входных параметров(не назвал их), чтобы я мог в браузере порезвиться“ -Апажалста.. (с первого раза). Сижу, резвлюсь. В общем забираете код ниже, сохраняете его как , идете в хром, Ctrl-O, выбираете этот файл и ну крутить рульки. А я вам сейчас напишу пространный пост про нейропроцедурное моделирование. Interactive Processing Visualization .controls { margin: 10px; font-family: Arial, sans-serif; } label { margin-right: 15px; } k Factor: Time Increment: Stroke Weight: let a = (x, y, d = mag(k = x / 8 - 25, e = y / 8 - 25) ** 2 / 99) => [ (q = x / 3 k * kFactor / cos(y * 5) * sin(d * d - t)) * sin(c = d / 2 - t / 8) e * sin(d k - t) 200, (q y / 8 d * 9) * cos(c) 200 ]; let t = 0; let kFactor = 0.5; let timeIncrement = ; let strokeW = 2; function setup() { createCanvas(400, 400); background(6); stroke(255, 96); } function draw() { t = timeIncrement; strokeWeight(strokeW); background(6, 20); // Add slight fading to create a trailing effect for (let y = 99; y < 300; y = 5) { for (let x = 99; x < 300; x ) { point(...a(x, y)); } } } // Listen for slider input changes (’kFactor’).addEventListener(’input’, (e) => { kFactor = parseFloat(); }); (’timeIncrement’).addEventListener(’input’, (e) => { timeIncrement = parseFloat(); }); (’strokeWeight’).addEventListener(’input’, (e) => { strokeW = parseInt(); });
Back to Top