Interactive Authoring – Digital Landscape

Screen Shot 2016-09-28 at 8.42.38 PM.pngScreen Shot 2016-09-25 at 1.13.44 PM.png

Processing, Java, 2016

The digital landscape is made up of the interaction between both a machine and input from a human observer. Anything that involves code exists in an abstract state, which is then interpreted by the user. Here, I illustrated that relationship between this abstract digital machine, and the physical observer that is uncomfortably non-abstract.

I feel as though including human elements to a depiction of a ‘digital landscape’ is essential, since humans have been responsible and developing this technology. Unlike the systems of chemistry or physics, computer science is shaped by the thoughts, feelings, and desires of mankind, they are forever a part of the code.

int rectYBSize = 422, rectYHue = 422, rectYSat = 422, rectYBrit = 422, rectYAlpha = 406;
float brushSize = 20, brushOpacity= 255, strokeOpacity=255;
int freeOn = 0, upOn=0, sideOn=0, rectOn=0, circOn=0;
int buttonTextX = 51;
int lineX=0, lineY=0;
int bg;
float randHue=0, randBrit=0, randSat=0;
float work = random(200, 400);
float counter=200;
boolean mouseLockBSize = false, mouseLockHue = false, mouseLockSat = false;
boolean mouseLockBrit = false, mouseLockAlpha = false;
boolean freeLine = true, upLine = false, sideLine = false, rectLine=false, circLine=false;
boolean noClick = true;
PFont font;
PImage vertBrit, vertColor, vertSat, transBlock, alphaSlider, freeImg, upImg, sideImg, rectImg, circImg;
void setup () {
size (720, 480);
fill(255);
background(255);
font = createFont(“Times”, 20);
textFont(font);
colorMode(HSB, 360, 100, 100, 100);
bg = color(180, 50, 50);
vertColor=loadImage(“vertColor.png”);
vertBrit=loadImage(“vertBrit.png”);
vertSat=loadImage(“vertSat.png”);
transBlock=loadImage(“transparencyBlock.png”);
alphaSlider=loadImage(“alphaSlider.png”);
freeImg=loadImage(“Free.png”);
upImg=loadImage(“Up.png”);
sideImg=loadImage(“Side.png”);
rectImg=loadImage(“rect.png”);
circImg=loadImage(“circle.png”);
}

void draw() {
counter++;
if (mousePressed && mouseX>674 && mouseX<714 && mouseY>450 && mouseY<470) {
background (4430-(rectYHue*10), 1330-(rectYSat*3), 1330-(rectYBrit*3), brushOpacity);
}

stroke (197, 77, 76);
fill (330);
rect (-10, 396, 800, 200); //panel
fill (0);
rect (58, 405, 6, 63, 15);//slider BrushSize
rect (602, 405, 6, 63, 15); //slider Opacity
image(alphaSlider, 603, 412, 5, 50);
rect (620, 405, 6, 63, 15);//slider Hue
image(vertColor, 621, 412, 5, 50);
fill(0);
rect (638, 405, 6, 63, 15);//slider Saturation
image(vertSat, 639, 412, 5, 50);
rect (656, 405, 6, 63, 15);//slider Brightness
image(vertBrit, 657, 412, 5, 50);
fill (360);
rect (46, rectYBSize, 30, 20, 5); //button BrushSize
rect (616, rectYHue, 14, 20, 5);//button Hue
rect (598, rectYAlpha, 14, 20, 5); //button Opacity
rect (634, rectYSat, 14, 20, 5); //button Saturation
rect (652, rectYBrit, 14, 20, 5); //button Brightness

fill(0, 0, 0, freeOn);
image(freeImg, 561, 401, 29, 21);
rect (561, 401, 29, 21, 5); //button freeLine
fill(0, 0, 0, upOn);
image(upImg, 561, 426, 29, 21);
rect (561, 426, 29, 21, 5); //button upLine
fill(0, 0, 0, sideOn);
image(sideImg, 561, 451, 29, 21);
rect (561, 451, 29, 21, 5); //button sideLine
fill(0, 0, 0, rectOn);
image(rectImg, 88, 405, 42, 30);
rect (88, 405, 42, 30, 5); //button rect
fill(0, 0, 0, circOn);
image(circImg, 88, 440, 42, 30);
rect (88, 440, 42, 30, 5); //button circ

fill(360);
rect (674, 450, 40, 20, 5); //button Fill
fill (0);

text(brushSize, buttonTextX, rectYBSize+17); //BrushSizeText
text (“H”, 616, rectYHue+17);
text (“S”, 636, rectYSat+17);
text (“B”, 653, rectYBrit+17);
text (“A”, 598, rectYAlpha+17);
text (“Fill”, 680, 467);

image(transBlock, 674, 403, 40, 40);
fill((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, brushOpacity);
rect (674, 403, 40, 40, 2);
if ((brushSize)<=9) { //realigns brushSize text
buttonTextX=56;
} else {
buttonTextX=51;
}
if (mousePressed && mouseX>46 && mouseX<76 && mouseY>rectYBSize && mouseY<rectYBSize+20) {
mouseLockBSize=true; //brush
mouseLockHue=false;
mouseLockSat=false;
mouseLockBrit=false;
mouseLockAlpha=false;
}
if (mousePressed && mouseX>616 && mouseX<630 && mouseY>rectYHue && mouseY<rectYHue+20) {
mouseLockBSize=false;
mouseLockHue=true; //hue
mouseLockSat=false;
mouseLockAlpha=false;
mouseLockBrit=false;
}
if (mousePressed && mouseX>634 && mouseX<648 && mouseY>rectYSat && mouseY<rectYSat+20) {
mouseLockBSize=false;
mouseLockHue=false;
mouseLockBrit=false;
mouseLockAlpha=false;
mouseLockSat=true; //sat
}
if (mousePressed && mouseX>652 && mouseX<667 && mouseY>rectYBrit && mouseY<rectYBrit+20) {
mouseLockBSize=false;
mouseLockAlpha=false;
mouseLockHue=false;
mouseLockSat=false;
mouseLockBrit=true;//brightness
}
if (mousePressed && mouseX>598 && mouseX<612 && mouseY>rectYAlpha && mouseY<rectYAlpha+20) {
mouseLockBSize=false;
mouseLockHue=false;
mouseLockSat=false;
mouseLockBrit=false;
mouseLockAlpha=true;//Opacity
}

if (mouseLockBSize&&mousePressed) { //first slider
noClick=false;
if (mouseY>415&&mouseY<455) {
rectYBSize=mouseY-10;
brushSize= 445-(rectYBSize);
if (mouseY>418) {
stroke(0, 2, 0);
fill(0, 0, 0, 0);
ellipse(mouseX, mouseY, brushSize, brushSize);
}
}
strokeOpacity=0;
} else {
strokeOpacity=255;
mouseLockBSize=false;
}
if (mouseLockHue&&mousePressed) {
noClick=false;
strokeOpacity=0;
randHue=0;
if (mouseY>415&&mouseY<455) {
rectYHue=mouseY-10;
}
} else {
mouseLockHue=false;
}
if (mouseLockSat&&mousePressed) {
noClick=false;
strokeOpacity=0;
randSat=0;
if (mouseY>415&&mouseY<455) {
rectYSat=mouseY-10;
}
} else {

mouseLockSat=false;
}
if (mouseLockBrit&&mousePressed) {
strokeOpacity=0;
noClick=false;
randBrit=0;
if (mouseY>415&&mouseY<455) {
rectYBrit=mouseY-10;
}
} else {

mouseLockBrit=false;
}
if (mouseLockAlpha&&mousePressed) {
strokeOpacity=0;
noClick=false;
if (mouseY>415&&mouseY<455) {
rectYAlpha=mouseY-10;
}
} else {

mouseLockAlpha=false;
} //end of sliders

if (mouseY>=390-(brushSize/2)&&pmouseY>=390-(brushSize/2)) { //paintLimits
strokeOpacity=0;
}
if (mouseY<390-(brushSize/2)&&pmouseY<390-(brushSize/2)) {
strokeOpacity= 1330-(rectYAlpha*3);
}

if (mousePressed&&freeLine) { //paintStrokes
smooth();
stroke((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3)) +randBrit, strokeOpacity);
fill((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3)) +randBrit, brushOpacity);
strokeWeight(brushSize);
line(mouseX, mouseY, pmouseX, pmouseY);
strokeWeight(1);
fill(0, 96, 0);
}
if (mousePressed&&upLine) { //paintStrokes upLine
smooth();
stroke((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, strokeOpacity);
fill((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, brushOpacity);
strokeWeight(brushSize);
line(lineX, mouseY, lineX, pmouseY);
strokeWeight(1);
fill(0, 96, 0);
}
if (mousePressed&&sideLine) { //paintStrokes sideLine
smooth();
stroke((4430-(rectYHue*10)+randHue), (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, strokeOpacity);
fill((4430-(rectYHue*10)+randHue), (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, brushOpacity);
strokeWeight(brushSize);
line(mouseX, lineY, pmouseX, lineY);
strokeWeight(1);
fill(0, 96, 0);
}
if (mousePressed&&rectLine&&mouseY<400) { //paintStrokes rectLine
smooth();
stroke((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, strokeOpacity);
fill((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, brushOpacity);
strokeWeight(brushSize);
rect(lineX, lineY, mouseX-lineX, mouseY-lineY);
strokeWeight(1);
fill(0, 96, 0);
}
if (mousePressed&&circLine&&mouseY<400) { //paintStrokes circLine
smooth();
stroke((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, strokeOpacity);
fill((4430-(rectYHue*10))+randHue, (1330-(rectYSat*3))+randSat, (1330-(rectYBrit*3))+randBrit, brushOpacity);
strokeWeight(brushSize);
ellipseMode(CENTER);
ellipse(lineX, lineY, (mouseX-lineX)*2, (mouseY-lineY)*2);
strokeWeight(1);
fill(0, 96, 0);
}
if (keyPressed) {
if (key == ‘s’ || key== ‘S’) { //sideKeybind
sideLine=true;
upLine=false;
freeLine=false;
freeOn=0;
upOn=0;
sideOn=50;
}
if (key == ‘d’ || key== ‘D’) { //up/DownKeybind
sideLine=false;
upLine=true;
freeLine=false;
freeOn=0;
upOn=50;
sideOn=0;
}
if (key == ‘f’ || key== ‘F’) { //freeKeybind
sideLine=false;
upLine=false;
freeLine=true;
freeOn=50;
upOn=0;
sideOn=0;
}
if (key == ‘+’|| key==’=’&&brushSize<39) {
rectYBSize=rectYBSize-1;
brushSize=brushSize+1;
}
if (key == ‘_’|| key==’-‘&&brushSize>1) {
rectYBSize=rectYBSize+1;
brushSize=brushSize-1;
}
}
if (mousePressed && mouseX>88 && mouseX<130 && mouseY>405 && mouseY<435) {
freeLine=false;
upLine=false;
sideLine=false;
rectLine=true;
circLine=false;
freeOn=0;//RectLineButton
upOn=0;
sideOn=0;
rectOn=50;
circOn=0;
}
if (mouseX>561&&mouseX<590&&mouseY>401&&mouseY<422&&mousePressed) {
freeLine=true;
upLine=false;
sideLine=false;
rectLine=false;
circLine=false;
freeOn=50;//freeLineButton
upOn=0;
sideOn=0;
rectOn=0;
circOn=0;
}
if (mouseX>561&&mouseX<590&&mouseY>426&&mouseY<447&&mousePressed) {
freeLine=false;
upLine=true;
sideLine=false;
rectLine=false;
circLine=false;
upOn=50;//upLineButton
freeOn=0;
sideOn=0;
rectOn=0;
circOn=0;
}
if (mouseX>561&&mouseX<590&&mouseY>451&&mouseY<472&&mousePressed) {
freeLine=false;
upLine=false;
sideLine=true;
rectLine=false;
circLine=false;
sideOn=50;//sideLineButton
freeOn=0;
upOn=0;
rectOn=0;
circOn=0;
}
if (mouseX>88&&mouseX<130&&mouseY>440&&mouseY<470&&mousePressed) {
freeLine=false;
upLine=false;
sideLine=false;
rectLine=false;
circLine=true;
sideOn=0;//circ Button
freeOn=0;
upOn=0;
rectOn=0;
circOn=50;
}
if (counter > work) {
counter=200;
work=random(200, 1000);
brushSize=random(1, 9);
randHue=random(-50, 50);
randBrit=random(-25, 25);
randSat=random(-25, 25);
}
noStroke();
fill(100);
rect (-7, 381, 730, 16);
}

void mousePressed() {
lineX=mouseX;
lineY=mouseY;
}

Advertisements
This entry was posted in Uncategorized and tagged , , , . Bookmark the permalink.

2 Responses to Interactive Authoring – Digital Landscape

  1. mvok says:

    Absolutely incredible Aidan!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s