Вернемся к картинкам и коду. Точнее, к процедурному подходу. Подсмотрел тут в твитторе интересный код для процессинга
Вернемся к картинкам и коду. Точнее, к процедурному подходу.
Подсмотрел тут в твитторе интересный код для процессинга. Как бы твари из первой матрицы для демосцены.
Забрал этот 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();
});
7 views
14
3
2 weeks ago 00:28:13 1
ЛУЧШИЙ ПУТЕВОДИТЕЛЬ ПО МУРМАНСКОЙ ОБЛАСТИ И КОЛЬСКОМУ: когда, куда, на чем и сколько это стоит