Project-09

sketch
//Jasmin Kim
//Section D

var img;
var emo= ["•ᴥ•", "☉_☉", "◕‿‿◕", "。◕‿◕。", "✿◠‿◠"];

function preload() {
    var myURL = "https://i.imgur.com/gS9jRCI.jpg";
    img = loadImage(myURL);

}
function setup() {
    createCanvas(480, 480);
    background(0);
    img.loadPixels();
    img.resize(480,480);
    frameRate(200);
}

function draw() {
    // pixels appear
    var px = random(width);
    var py = random(height);
    var xx = constrain(floor(px), 0, width);
    var yy = constrain(floor(py), 0, height);
    var base = img.get(xx, yy);
    //emoji drawn
    fill(base);
    var ee = int(random(0,9));
    var rrandom = emo[ee]; 
    textSize(5)
    text(rrandom, px,py);
    //shape drawn
    noStroke();
    ellipse(px, py, random(0, 8), random(0, 8));
    rect(px, py, random(0, 10), random(0, 10));

}

For this project, I wanted to make something where emojis and shapes can be created at the same time. Rectangles and circles are random sized and emojis are selected from the emo arrays.

Looking Outwards 09: Eggdog

This looking outward is to honor and spread awareness of Eggdog, a CG character based off of a real Pomeranian that was groomed to look like an egg. Personally I find this 3D-model-turned-meme a very interesting, intriguing, and very relevant to Week 5’s Looking Outwards topic of 3D Computer Graphics. Eggdog’s prevalence on social media shows how 3D modeling, rendering, and animation has become so accessible over just the past decade. Almost anyone can download free 3D modeling software like Blender and learn how to create something as simple, elegant, and beautiful as Eggdog. This point was also made by the student who wrote about Eggdog.

Eggdog represents both today’s widespread availability and accessibility to 3D modeling software, and today’s ease of transferring information through social media. Any individual in the world can create anything, from Eggdogs, to feature films, to hit video games, all by themselves, and share it with the rest of the world. Eggdog, at its very core, represents the creative power of technology in the hands of everyday citizens.

eggdog : iamveryrandom

Looking Outwards 9

For this looking outwards assignment, I chose to look at Sarah’s LO-7 on data visualization. What really caught my eye about the visualization of color themes in Pixar films is that it was essentially showing non-numerical data about movies that we watched growing up. Although it seems like non-numerical data, Sarah’s description got in detail as to how they extracted the color themes using python. I agree with what Sarah said about each of the color wheels closely resembling a disc that the movies would normally be played on.

Something relevant that came to mind when I saw this project is how nowadays there are branding consultants that look at everything about a brand and design logos, office color schemes, and website color in order to convey a certain story or emotion. Here, we know what the general theme of each movie is and seeing the color wheel is still able to transfer some of those emotions as well.

Looking Outwards 09: on Looking Outwards

I chose to look at yoli’s Week 03 post about computational fabrication used in Iris Van Herpen’s fashion pieces. I love yoli’s commentary about the fashion industry, pointing out how fashion is always pushing the “cutting edge” while also repeating itself in many ways. I find this repetition as a mechanism for forward-thinking to be really profound and perfectly exemplified by Van Herpen’s work. While Van Herpen is pushing the field forward in her forms and novel fabrication methods, she also references traditional fashion with the soft sculpture elements and dress bases of her looks.

Iris Van Herpen’s Sensory Seas collection shown at Cirque d’hiver Bouglione on January 20, 2020.

I find that not only are fashion professionals repeating themselves in their methods and designs, but repetition, as in Van Herpen’s work, has become a central principle to the designs themselves. For instance, in her “Sensory Seas” collection, she references human anatomy systems through repetition of physiological shapes.

Look 4 from Iris Van Herpen’s couture collection, Sensory Seas (2020)

Looking Outwards-09

I looked at Hayoon’s Looking Outwards 07: information Visualization post on Jonathan Harris’ work “We feel fine”. I think the work is very well presented and visually stunning, but I question the artistic decision for how the algorithm attributes emotions to the text strings. I think more nuanced aspects of speech inflection (like sarcasm) and other semantics are lost when converted to text, especially in different contexts. I think Hayoon does a good job of addressing the complexity of the topic and admiring the creators’ sensibilities. I think she could’ve gone more into speculating the algorithmic or functional aspects of the project, but she captures and describes the project and the artistic influences well.

“We feel fine” by Jonathan Harris, 2009, c/o Seth Kamvar
http://number27.org/wffbook

Project 09 Computational Landscape

sketchDownload="">
let img;
let smallPoint, largePoint;

function preload() {
  img = loadImage('https://pbs.twimg.com/profile_images/640666088271839233/OTKlt5pC_400x400.jpg');
}

function setup() {
  createCanvas(300, 300);
  smallPoint = 4;
  largePoint = 40;
  imageMode(CENTER);
  noStroke();
  background(255);
  img.loadPixels();
  //frameRate(20);
}

function draw() {
  let pointillize = map(mouseX, 0, width, smallPoint, largePoint);
  let x = floor(random(img.width));
  let y = floor(random(img.height));
 
  let xx = x;
  let yy = y;
  let count = 0;
  while (xx <img.width & yy 0 && yy>0) {
        let pix = img.get(xx, yy);
        fill(pix);
        ellipse(xx, yy, pointillize, pointillize);

        count = count +1;
        xx = xx+1;
        yy=yy+1;
    }
}

If you move the mouse around, you can alter how the landscape is being drawn.

LO-09

This post is a response to Xander’s Looking Outwards post on randomness, about the website thispersondoesnotexist.com. This website generates hyper-realistic photographs of people that do not exist. It is powered by AI and GAN (generative adverbial network).

this person does not exist

To some degree, I agree with Xander’s post and find it really cool and inspiring that AI and technology is able to create such realistic looking faces. I am really interested to learn how this program works and how it is able to create such realistic faces with so much detail.

this person does not exist

However, this website is also scary because the power of this technology can have many positive and negative implications. If this type of software can alter the face so realistically, any portrait photo can easily be edited to a “non-existing person’ without anyone noticing the difference. This could be really dangerous if mugshot photos or criminal photos were altered, or any important photo identification was altered.

LO-08

Nicole Aptekar is a sculpture that went through different media and found her calling in digital fabrication through laser cutting. With experience in various ways of fabrication, Aptekar challenges the boundaries of shapes and voids relationships to develop interesting forms that tell her artistic intentions. Aptekar uses codes and scripts in a Rhino compatible software called grasshopper to push the limits of the abstraction of the shapes she’s developing. Her coding allowed her to develop her workflow and refine her bodies of work more easily in the long term. Aptekar’s “It’s no longer safe here” took over her body of work and she struggled to top that piece; that lead her to develop new tools to help reinvent her style. I really admire her constant drive to rework her pieces and explore new shape relationships. During the presentation, I really appreciated the use of sound that accompanies her work. I think that brings a new dimension to her art.
http://nicoleaptekar.com/

My Portrait

I wanted to create a portrait that used random points from the canvas to generate the image, while being modified by the cursor position.

sketch
let img;
let thin, thick;

function preload() {
  img = loadImage('https://i.imgur.com/l7MihtV.jpg');
}

function setup() {
  createCanvas(536, 600);
  thin = 5;
  thick = 45;
  imageMode(CENTER);
  noStroke();
  background(255);
  img.loadPixels();
}

function draw() {
  //Maps mouseX and mouseY to 5 and 45 to scale both dimensions of the rectangle
  let sizeX = map(mouseX, 0, width, thin, thick);
  let sizeY = map(mouseY, 0, height, thin, thick)
  //Picks random points from the image and stores them in x and y
  let x = floor(random(img.width));
  let y = floor(random(img.height));
  //Gets the exact pixel
  let pixel = img.get(x, y);
  //Draws rectangle according to randomly chosen position
  //and cursor position
  fill(pixel, 128);
  rect(x, y, sizeX, sizeY);
}

PROJECT-09(portrait)

sketch
// SEAN CHEN
// 15-104 A

var img;
var widthSml = 4; // width parameters
var widthBig = 10;
var lengthSml = 2; // length parameters
var lengthBig = 10;
var mode = 1; // modes keeper

function preload() { // preload image
  img = loadImage('https://i.imgur.com/HNOE05S.png?1');
}

function setup() {
  frameRate(300);
  createCanvas(480, 788);
  imageMode(CENTER);
  background(255);
  img.loadPixels();
  mode = int(random(1, 4)); 
}

function rotAng(x, y) { // calculating rotation angle
    var distX, distY, ang;
    distX = mouseX - x;
    distY = mouseY - y;
    ang = atan(distX/distY);
    if (mode == 1) { // changing line mapping rotation
        return PI - ang; 
    } else if (mode == 2) {
        return PI / 2 - ang;
    } else if (mode == 3) {
        return ang;
    }
}

function border() { // instructions text
    push();
    stroke(0);
    fill(255);
    rectMode(CENTER);
    textAlign(CENTER);
    rect(width/2, 20, 200, 35, 10);
    noStroke();
    fill(0);
    text('double click to change modes!\n*hold for text rendering*', width/2, 17.5);
    rect()
    pop();
}

function draw() {
    let thickness = map(mouseX, 0, width, widthSml, widthBig);
    let len = map(mouseY, 0, height, lengthSml, lengthBig);
    let x = floor(random(img.width));
    let y = floor(random(img.height));
    let pix = img.get(x, y);
    push(); 
    var rot = rotAng(x, y);
    translate(x, y);
    rotate(rot);
    if (mouseIsPressed) { // render in rotated text
        fill(pix, 128);
        textSize(thickness); // size based on mouse
        textAlign(CENTER);
        text('face', 0, 0)    
    } else { // rotate in rotated lines
        rotate(radians(90));
        stroke(pix, 128);
        strokeWeight(thickness); // thickness based on mouse
        line(0, -len, 0, len); // length of line based on mouse
    }
    pop();
    border();
}

function doubleClicked() { // changing mode
    if (mode == 3) {
        mode = 1;
    } else {
        mode++;
    }
}