Looking Outwards 07

For this week’s Looking Outwards, I looked at the works of Stephanie Posavec. I was intrigued by her works simply by the color visuals I saw when first opening up her website. Her goals are set around visualizing and communicating data in new ways. The project of hers I chose to focus on was Data Murmurations: Points in flight. This project visualized data samples, but connected them back to the people who actually donated samples. The title murmuration comes from a group of birds in the sky following a path. They converge and diverge in their journey. One thing lacking from Posavec’s description of her work is a description of the more technical tools she used to create her work. She uses sorting algorithms to sort all of her data and then visualize it, but I am not too sure about the specifics. I could assume there are some simple if statements about the data, such as if it is one thing it goes somewhere and if it is another it goes somewhere else.

LookingOutwards-07

This program collected various data sets concerning COVID and its transmission. Studio NAND created this software to bring into perspective the true impact of COVID without false information or exaggerations. Using this application people can understand not only how quickly COVID can spread and how it spreads, but they can also see its effects on those who are vaccinated against those who are not. Users also have the option of choosing the vaccination rate to allow them to observe the influences of such a rate in a population.  Overall, I think this software is a great tool that allows people to understand COVID transmission and the importance of vaccination. With so much misinformation involved in this pandemic, along with those who are apathetic, I believe simulations such as this can bring light to how important it is to understand how much of an effect the decisions a single individual can have on the population.

Visualization of Infection and Death Rate

Project-07-curves


The most difficult part of this project is to find out how which curve formula to use for my design. I played around with different colors and shape overlapping and I like the flower shape it makes.

sketch

//Jenny Wang
//sectionB
//jiayiw3@andrew.cmu.edu
//project - 07 - curves

var nPoints = 150;

function setup() {
    createCanvas(480, 480);
    background(29,7,79);//dark purple
    frameRate(10);
}

function draw() {
    push();
    //make the center of canvas the origin
    translate(width/2,height/2);

    //draw loop for the curves 1 & 2
    background(29,7,79);//dark purple
    curve1();
    curve2();
    curve3();
    pop();
}

function curve1(){

    //Epicycloid Involute
    //https://mathworld.wolfram.com/EpicycloidInvolute.html
    
    //set varibale
    var x;
    var y;
    var a = mouseX/8
    var b = mouseY/8
    
    beginShape();
    noFill();
    stroke(247,246,208);//light yellow
    for(var i=0; i<nPoints; i++){
            var t = map(i,0,nPoints,0,TWO_PI);
            x = (a+b)*cos(t)-b*cos(((a+b)/b)*t);
            y = (a+b)*sin(t)-b*sin(((a+b)/b)*t);
            vertex(x,y);
            
        endShape(CLOSE);
    }
}

function curve2(){

    //Epicycloid Involute
    //https://mathworld.wolfram.com/EpicycloidInvolute.html
    
    //set variable
    var x;
    var y;
    var a = mouseX/5
    var b = mouseY/5
    
    beginShape();
    noFill();
    stroke("white");//white
    for(var i=0; i<nPoints; i++){
            var t = map(i,0,nPoints,0,PI+QUARTER_PI);
            x = (a+b)*cos(t)-b*cos(((a+b)/b)*t);
            y = (a+b)*sin(t)-b*sin(((a+b)/b)*t);
            vertex(x,y);
            
        endShape(CLOSE);
    }
}

function curve3(){

    //Epicycloid Involute
    //https://mathworld.wolfram.com/EpicycloidInvolute.html
    
    //set variable
    var x;
    var y;
    var a = mouseX/3
    var b = mouseY/3
    
    beginShape();
    noFill();
    stroke("pink");//pink
    for(var i=0; i<nPoints; i++){
            var t = map(i,0,nPoints,0,PI);
            x = (a+b)*cos(t)-b*cos(((a+b)/b)*t);
            y = (a+b)*sin(t)-b*sin(((a+b)/b)*t);
            vertex(x,y);
            
        endShape(CLOSE);
    }
}

Blog 07

Jen Lowe, an artist and researcher, through her creative technology studio Maximal Expression, creates artistic data visualizations and looks at new ways to represent data that could open up brand new paths in data visualization. For example, her work “early particle flow lidar wind visualization,” is an incredibly smooth wind flow visualization. From the current wind flow diagrams in Architecture, which are static and more general wind visualizations, Lowe’s work opens up a new world for wind flow diagrams. The brightly colored work was made by taking raw, remotely sensed lidar data, filtering it, and putting it through an algorithm that creates wind vectors. The switch from static to animated flow fields inspires lots of new possibilities, personally, about integrating dynamic data visualizations with architecture to make it easier to read. I love how smoothly the colors and lines change, different from the usual static data visualizations. Lowe’s creativity in data visualization is seen all throughout her projects, but this one specifically sparked my interest due to its possible implementations in architecture.

Wind Data Visualization

Jen Lowe

Looking Outwards 07

http://www.stefanieposavec.com/

Stefanie Posavec is an artist, designer, writer, teacher, and data visualizer who finds satisfaction in representing large amounts of data in physical and experiential artworks. Her artistic practice involves collecting data manually and gradually, and although laborious, I personally really admire artists who enjoy working manually in conjunction with digitally produced components, in contrast to those who find the quickest (often fully digital) approach. Posavec’s process is extremely experimental and takes many forms, whether that is through dance, hopscotch, fine art, sculpture, auditory or wearable art, she never is tied down to one singular style or medium. However, her overarching goal, woven into each project, is to make the layperson understand and connect to data, even if they have never had an interest or experience with any data previously.

Blog 06

Shimon is a musical improvisation robot developed at the Georgia Tech Center for Music Technology. The robot plays marimba following the performance of a human musician where, after hearing chords the musician plays, Shimon can then quickly take in the information and play a tune similar to what a human might improvise if given the same task. Jazz music, though known for its improvisation and “randomness,” so to speak, actually follows a series of rules that can be bent/structured in certain ways to find new creative sounds. Shimon works in a similar way where, although the improvisation can seem random, it actually works based on similar “rules” or detailed algorithms/ artificial intelligence that allows him to play a beat based on those already human-developed rules for improvisation. I find this project especially interesting due to its ability to connect humanity and robots through music, while still preserving the improvisational qualities of genres like jazz.

Shimon Robot

Project 7 Curves – Flower Blossom

sketch
//SRISHTY BHAVSAR
//15-104 SECTION C
//PROJECT 7

var nPoints = 500;

function setup() {
    createCanvas(400, 400);

}


function draw() {
    createCanvas(480, 480);
    background(0);
    // draw the curve

    fill(154,205,40,70); // yellow green color
    ranunculoid(10,20);
    hypotro();
    noFill();
    ranunculoid(30,50);
    ranunculoid(40,60);


}

//--------------------------------------------------
function hypotro() {
    // Hypotrochoid
    // https://mathworld.wolfram.com/Hypotrochoid.html
    
    push();
    noFill();
    stroke('magenta');
    strokeWeight(1);
    translate(width/2 , height/2);
    var x = constrain(mouseX, 0, width);
    var y = constrain(mouseY, 0, height);
    var a = map(x, 0, width, 60, 160); //radius of still circle
    var b = map(y, 0, height, 1, 8); // radius b of rolling circle inside still circle
    var h = constrain(a/2, 100, 100); //
    beginShape();
    for (var i = 0; i < nPoints; i++) {
        var t = map( i, 0, nPoints, 0, TWO_PI); // tangent?
        //PARAMETRIC EQUATIONS
        x = (a - b) * cos(t) + (h * cos(((a-b)/b)*t)); 
        y = (a - b) * sin(t) - (h * sin(((a-b)/b)*t));
        vertex(x,y); // connected to center vertex

    }
    endShape();
    pop();
}

//--------------------------------------------------

function ranunculoid(xsize,ysize) {
    // https://mathworld.wolfram.com/Ranunculoid.html
    push();
    stroke('green');
    strokeWeight(1);
    translate(width/2 , height/2);  
    var x = constrain(mouseX, 0, width);
    var y = constrain(mouseY, 0, height);
    var a = map(mouseX, 0, width, xsize, ysize); 
    beginShape();
    for (var i = 0; i < nPoints/10; i++) {
        var t = map(i, 0, nPoints/10, 0, TWO_PI);

        x = a * (( 6 * cos(t)) - cos(6*t))
        y = a * (( 6 * sin(t)) - sin(6*t))
        vertex(x, y);
    }
    endShape();
    pop();
}

equations

Looking Outwards 7: Information Visualization – Stefanie Posavec

Writing Without Words

Drawing The Dictionary

Stefanie Posavec is an artist and designer experimenting and researching ways to visualize and communicate computational data to all ages and audiences. What I like and find most special about Stefanie’s work is that it is very colorful, fun, and visually appealing. Usually when I think of computational data, I don’t necessarily imagine something animated, cartoon-like, or age friendly. Stefanie’s visualizations deliver themselves like artwork in a children’s book.
In her work, “Drawing the Dictionary,” Stefanie responds to a theme of collections including parts of speech, syllables, first letter of the words, and alphabet. The words in the collection are specifically the 1000 most frequently used words. And used 1000 different colored index cards for each word. The words paper colors were organized by part of speech, background shape by syllables, placement by how frequently they are used, pattern by part of speech, and the pen color by first letter in word.
In her work, “Writing without words,” Stefanie visually showcased text in order to highlight the similarities and differences in writing styles when comparing different authors. She wanted to create a data visualization that was straight forward and one with a subject that was emotionally connecting to humans. To create this, she focused on a book called “On the Road,” by Jack Kerouac and its themes. She did not want to use expressive typography or imagery but rather a subjective representation of information. She wanted the graphics to be quantifiable. She gathered data related to the english language structure.She wanted to visualize the novel as a living element full of energy and thus the novel is split into chapters, paragraphs, sentences, and words like a plant structure. Shorter sentences mean a choppy text and stiff writing style while longer sentences mean they are more free and leisurely. She gathered all data by hand and used math and a calculator to find final sums. Finally she used a computer graphics program instead of a data information one to watch the data generate bit by bit.

Sources:

http://www.stefanieposavec.com/work

Looking Outwards 07: Information Visualization

Chris Harrison – Amazon Book Map (2008)

I really admired Chris Harrison’s project named Amazon Book Map. Which is basically a synthesis of the type of book data available on amazon. Every genre of book is color coded and displayed in a map format which looks more or less like a gradient. I really like the fact that the data is clustered on the map in the form of many small mosaics. I also enjoyed reading about the various approaches Harrison took in order to get to his final form, like making mosaics of the book covers. The fact that the map took 140 hours to be generated on wikiviz is also astonishing as it managed to map out more than 700,000 books on Amazon’s interface. The books began to cluster together because of their respective color codes, turning them into clusters of similar natured color dots and binding the entire map together.  I do not know much about the algorithms that generated this synthesized piece of art representing a particular data set, but I do admire the intricate details it depicts. In my opinion, the artist himself is confused whether the piece manifested his ideals and motives as he claimed it to be ‘hard to read’ however, I feel that it is a wonderful piece to look at which amalgamates an unconventional data set.

Link

Project 07 – srauch – curves

Here is my program that runs on curves. I call it “laser ballerinas”. Move your mouse left to right to increase the size of the curves and the overall rotation, and move your mouse up and down to change the number of “lobes” on each curve. Click to change the colors of each lobe!

sketch

//Sam Rauch, section B, srauch@andrew.cmu.edu, project 07
//This code produces a "laser ballerinas" using epicycloid curves. Ten epicycloid curves of decreasing
//size and random colors are drawn on top of each other to produce "nested curves", and six nested curves
//are drawn in a hexagon pattern around the center of the canvas, which spins. MouseX controls the size of
//the curves and the rotation of the hexagon pattern, while mouseY controls the number of "lobes" produced
//in each epicycloid curve. Click to change the colors of the ballerinas!

var coloroptions;

function setup() {
    createCanvas(400, 400);
    background(220);
    text("p5.js vers 0.9.0 test.", 10, 15);

    coloroptions = [];
    for (var i = 0; i < 9; i++) {
        coloroptions[i] = color(random(255), random(255), random(255));
    }

}

function draw() {
    background(0);
    translate(width/2, height/2);
    
    //create spin the hexagon of curves around the center of the canvas according to mouseX
    push();
    var spinamt = map(mouseX, 0, width, 0, 2*PI)
    rotate(spinamt);


    //draws six nested curves in a hexagon pattern
    for (var i = 0; i < 6; i++){
        push();
        translate(100, 0);
        nestedCurve();
        pop();
        rotate(radians(60));
    }

    pop();

}

//generates epicycloid curve (https://mathworld.wolfram.com/Epicycloid.html) with center at 0,0
function drawCurve(color){ 
    
    noFill();
    stroke(color);
    strokeCap(ROUND);
    strokeJoin(ROUND);
    strokeWeight(3);

    var points = 80;
    var xValues = [];
    var yValues = [];
    var a = mouseX/4; //radius of larger inner circle 
    var b = constrain(mouseY/10, 0, a) ; //40; //radius of smaller outer circle
    var theta = 0;

    //generating x and y values based on epicycloid curve forumla, and increasing the center angle
    //by a small amount
    for (var i = 0; i < points; i++) {
        theta += radians(5);
        xValues[i] = (a+b)*cos(theta) - b*cos(((a+b)/b)*theta);
        yValues[i] = (a+b)*sin(theta) - b*sin(((a+b)/b)*theta);
    }
    
    //plotting x and y values
    beginShape();
    for (var i = 0; i <points; i++) {
        vertex(xValues[i], yValues[i]);
    }
    endShape();
}

//draws ten epicycloid curves of random colors nested inside each other
function nestedCurve() {
    push();

    var size = 1;
    var sizeIncrement = 0.1;

    //draws ten epicycloid curves, but for each one, decreases scale and change color
    for (var i = 0; i < 9; i++) {
        scale(size);

        var col = coloroptions[i];
        drawCurve(col);
        size -= sizeIncrement;
    }

    pop();
}

function mousePressed(){
    for (var i = 0; i < 9; i++) {
        coloroptions[i] = color(random(255), random(255), random(255));
    }
}