Vintage Computer Art
An experiment in Processing.
Based on/inspired by this tutorial by @alexmiller: https://www.youtube.com/watch?v=LaarVR1AOvs
Music: Take It Easy by Paul Nagle: https://mynoise.net/NoiseMachines/paulNagleSequenceGenerator.php
Code:
(NB: Youtube doesn't allow angle brackets. To get the code to work, replace [LEFT ANGLE BRACKET] with a left angle bracket and [RIGHT ANGLE BRACKET] with a right angle bracket.)
static final int NUM_LINES = 1;
float hue_lo = random(100.0);
float hue_hi = hue_lo + random(100.0-hue_lo);
float hue = random(hue_lo, hue_hi);
float sat = random(20,100);
float bri = random(50,100);
float alp = random(50,100);
float hueinc = random(.01,.3);
float t;
float tquo = 120.0;
float prod = 50000/tquo;
float graph1x_sin1_tquo = random(-tquo,tquo);
float graph1x_sin1_prod = random(-prod,prod);
float graph1x_sin2_tquo = random(-tquo,tquo);
float graph1x_sin2_prod = random(-prod,prod);
float graph1x_sin3_tquo = random(-tquo,tquo);
float graph1x_sin3_prod = random(-prod,prod);
float graph1y_sin1_tquo = random(-tquo,tquo);
float graph1y_sin1_prod = random(-prod,prod);
float graph1y_sin2_tquo = random(-tquo,tquo);
float graph1y_sin2_prod = random(-prod,prod);
float graph1y_sin3_tquo = random(-tquo,tquo);
float graph1y_sin3_prod = random(-prod,prod);
float graph2x_sin1_tquo = random(-tquo,tquo);
float graph2x_sin1_prod = random(-prod,prod);
float graph2x_sin2_tquo = random(-tquo,tquo);
float graph2x_sin2_prod = random(-prod,prod);
float graph2x_sin3_tquo = random(-tquo,tquo);
float graph2x_sin3_prod = random(-prod,prod);
float graph2y_sin1_tquo = random(-tquo,tquo);
float graph2y_sin1_prod = random(-prod,prod);
float graph2y_sin2_tquo = random(-tquo,tquo);
float graph2y_sin2_prod = random(-prod,prod);
float graph2y_sin3_tquo = random(-tquo,tquo);
float graph2y_sin3_prod = random(-prod,prod);
void setup() {
colorMode(HSB, 100);
background(0);
size(1920, 1080);
strokeWeight(random(.1, 1.0));
fill(0);
}
void draw() {
noFill();
stroke(hue, sat, bri, alp);
translate(width/2, height/2);
point(x1(t), y1(t));
point(x2(t), y2(t));
for (int i = 0; i [LEFT ANGLE BRACKET] NUM_LINES; i++) {
line(x1(t+i),y1(t+i),x2(t+i),y2(t+i));
}
t += .4;
hue += hueinc;
if (hue [RIGHT ANGLE BRACKET] hue_hi || hue [LEFT ANGLE BRACKET] hue_lo) {
hueinc *= -1;
}
if(frameCount == 2000)
initialize();
}
float x1(float t) {
return
sin(t/graph1x_sin1_tquo) * graph1x_sin1_prod +
sin(t/graph1x_sin2_tquo) * graph1x_sin2_prod +
sin(t/graph1x_sin3_tquo) * graph1x_sin3_prod ;
}
float y1(float t) {
return
sin(t/graph1y_sin1_tquo) * graph1y_sin1_prod +
sin(t/graph1y_sin2_tquo) * graph1y_sin2_prod +
sin(t/graph1y_sin3_tquo) * graph1y_sin3_prod ;
}
float x2(float t) {
return
sin(t/graph2x_sin1_tquo) * graph2x_sin1_prod +
sin(t/graph2x_sin2_tquo) * graph2x_sin2_prod +
sin(t/graph2x_sin3_tquo) * graph2x_sin3_prod ;
}
float y2(float t) {
return
cos(t/graph2y_sin1_tquo) * graph2y_sin1_prod +
sin(t/graph2y_sin2_tquo) * graph2y_sin2_prod +
sin(t/graph2y_sin3_tquo) * graph2y_sin3_prod ;
}
void keyPressed() {
initialize();
}
void mousePressed() {
initialize();
}
void initialize() {
frameCount = 0;
background(0);
strokeWeight(random(.05, 1.0));
hue_lo = random(100);
hue_hi = hue_lo + random(100 - hue_lo);
hue = random(hue_lo, hue_hi);
sat = random(20,100);
bri = random(50,100);
alp = random(50,100);
hueinc = random(.01,.3);
tquo = 120.0;
prod = 50000/tquo;
graph1x_sin1_tquo = random(-tquo,tquo);
graph1x_sin1_prod = random(-prod,prod);
graph1x_sin2_tquo = random(-tquo,tquo);
graph1x_sin2_prod = random(-prod,prod);
graph1x_sin3_tquo = random(-tquo,tquo);
graph1x_sin3_prod = random(-prod,prod);
graph1y_sin1_tquo = random(-tquo,tquo);
graph1y_sin1_prod = random(-prod,prod);
graph1y_sin2_tquo = random(-tquo,tquo);
graph1y_sin2_prod = random(-prod,prod);
graph1y_sin3_tquo = random(-tquo,tquo);
graph1y_sin3_prod = random(-prod,prod);
graph2x_sin1_tquo = random(-tquo,tquo);
graph2x_sin1_prod = random(-prod,prod);
graph2x_sin2_tquo = random(-tquo,tquo);
graph2x_sin2_prod = random(-prod,prod);
graph2x_sin3_tquo = random(-tquo,tquo);
graph2x_sin3_prod = random(-prod,prod);
graph2y_sin1_tquo = random(-tquo,tquo);
graph2y_sin1_prod = random(-prod,prod);
graph2y_sin2_tquo = random(-tquo,tquo);
graph2y_sin2_prod = random(-prod,prod);
graph2y_sin3_tquo = random(-tquo,tquo);
graph2y_sin3_prod = random(-prod,prod);
}
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Vintage Computer Art», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.