Ily – [OLD SEMESTER] 15-104 • Introduction to Computing for Creative Practice https://courses.ideate.cmu.edu/15-104/f2022 Professor Tom Cortina • Fall 2022 • Introduction to Computing for Creative Practice Sun, 20 Nov 2022 23:13:45 +0000 en-US hourly 1 https://wordpress.org/?v=6.0.8 Looking Outwards 11 https://courses.ideate.cmu.edu/15-104/f2022/2022/11/20/looking-outwards-11-14/ https://courses.ideate.cmu.edu/15-104/f2022/2022/11/20/looking-outwards-11-14/#respond Sun, 20 Nov 2022 23:13:45 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=75978 Continue reading "Looking Outwards 11"]]>

I chose to look at the article about the Beeple sale by Sebastian Smee. The piece discusses the ongoing issue of the value of NFTs (non-fungible tokens), which is digital art made to be owned by individuals through blockchain security. (Note that any digital artist who has ever done commissions has likely found ways to maintain the commission-holder’s ownership of the work without all this extra stuff.)

The Image of the Beeple piece “Everydays: The First 5000 Days” from the Washington Post


I found the piece to be overall quite interesting, as it posits that art must be to a degree anti-capitalist, as it is a thing without a functional purpose (necessarily, there can certainly be functional things which are artistic, but generally it is not meant to carry out a menial task like say sweeping the floor, or something) and because it is without functional purpose, the purchase and sale of it is purely what Smee says Marxists call “commodity fetishizing.” While I agree that the concept of any piece of art being sold for such an exorbitant amount of money as an NFT is certainly a yawn, and that the piece isn’t particularly interesting, what I think is more interesting perhaps is the argument that Smee is being very careful to word in the good American way:


Art shouldn’t need money to be interesting. Art isn’t a commodity to be bought, sold, traded, and appreciated in value for some hack who didn’t even make it to make millions off the piece a hundred years after the artist is dead. Nor is it a vehicle for capitalist expansion, as much as capitalists may want this, because the work of an artist is not meant to become a stock. There is art meant to be sold, there is art meant to help prop up an artist’s livelihood, but art hadn’t been made with the intent to manipulate the market (necessarily) until now. I think that’s what’s interesting. We’ve entered such a stage of capitalism where we are cautious to not assign something a monetary value, even garbage made by an AI. Imagine where we would be, artistically, if we supported our creatives monetarily through social welfare and encouraged them to create freely, and explore the limits of their potential?


I guarantee you the world would be full of artists. The argument against the decapitalizing of art and granting it public support is often that the “quality of art would decrease” because we aren’t pushing people to compete. But if this sale proves anything, the opposite is true. The commodification of art has led to a decline in quality, not the other way around. The fear of poor quality art is ridiculous especially coming from people who have no artistic background. Were I to choose, I’d rather have a world of half-hearted artists than a world of unwilling and unwitting soldiers, corrupt corporations and morally bankrupt politicians.

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/11/20/looking-outwards-11-14/feed/ 0
Looking Outwards 09 https://courses.ideate.cmu.edu/15-104/f2022/2022/11/06/looking-outwards-09-11/ https://courses.ideate.cmu.edu/15-104/f2022/2022/11/06/looking-outwards-09-11/#respond Sun, 06 Nov 2022 04:03:02 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=75288 Continue reading "Looking Outwards 09"]]>

The artist I looked into was one Marina Zurkow, who I became interested in because I saw that she does interactive cartoons. I’ve always wanted to experiment with interactive cartoons, ever since I started becoming interested in animation. So it felt like a good fit.


Marina Zurkow is a media artist who likes delving into issues that are typically controversial and often have a sort of activist bent, but takes a wildly different approach. I couldn’t see where she went to school or anything, but she appears to have worked with a number of universities. She is based out of the United States.


The project of hers I focused on was the animation Mesocosm, which depicts a large man and a number of animals, people, and other paraphernalia all moving around. According to her website, it is an algorithmic work, meaning that “One hour of world time elapses in each minute of screen time, so that one year lasts 146 hours. No cycle is identical to the last, as the appearance and behavior of the human and non-human characters, as well as changes in the weather, are determined by a code using a simple probability equation” I found this fascinating, and it reminds me of the clock project I had worked on earlier this year. At certain parts of the animation the man does get eaten, (by birds, but only nibbles I think, not sure. No way to completely tell how far it gets) which is kinda graphic, but that’s okay its not horrid.

*NOTE, the animation requires Adobe Flash Player to view

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/11/06/looking-outwards-09-11/feed/ 0
Looking Outwards 08 https://courses.ideate.cmu.edu/15-104/f2022/2022/10/30/looking-outwards-08-15/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/30/looking-outwards-08-15/#respond Sun, 30 Oct 2022 21:39:37 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74935 Continue reading "Looking Outwards 08"]]>

Their name is Dr. Lucianne Walkowicz, they are an astronomer at the Adler Planetarium in Chicago and the co founder of the JustSpace Alliance, an organization focused on making learning about, studying, and the exploration of space a more equitable and “just” field.


Dr. Walkowicz is also an artist, and they have a pretty large range of art styles and media. I admire in particular the work which connects with their astronomical background, as when I was little I was obsessed with the stars and wanted desperately to know about them, the people who might live around them, and what their stories might be. That another artist has pondered these questions from the perspective of actual astrophysics is really cool!


They often use humor and comedy in their presentations, keeping everything relatively lighthearted even when talking about difficult or serious subjects. It helps maintain their flow and character.

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/30/looking-outwards-08-15/feed/ 0
Looking Outwards 07: Information Visualization https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/looking-outwards-07-information-visualization-8/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/looking-outwards-07-information-visualization-8/#respond Sun, 16 Oct 2022 01:43:12 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74572 Continue reading "Looking Outwards 07: Information Visualization"]]>

I chose to look at Flight Patterns by Aaron Koblin. This visualization of the flight data over North America was interesting to me because of how non-geometric it is. The closer you zoom into the maps, the more mycelial the shape of the flight paths become. I think we commonly believe that planes move from point A to point B along a straight line, but as we look at this map, it’s clear that that image is incorrect. I think for me it’s the mycelial nature of these flight paths, having nexuses and crisscrossing to create this intricate web that I find really intriguing. Such nonlinear patterns replete with random elements always fascinate me. The algorithms seem fairly simple and easy to understand. A flight path is charted from its beginning to its end, its x and y coordinates (latitude and longitude) mapped out using point based lines. It’s just an interesting exploration of randomness to me.

Flight Patterns (in color) by Aaron Koblin
]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/looking-outwards-07-information-visualization-8/feed/ 0
Looking Outwards 06: Randomness https://courses.ideate.cmu.edu/15-104/f2022/2022/10/09/looking-outwards-06-randomness-10/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/09/looking-outwards-06-randomness-10/#respond Mon, 10 Oct 2022 02:25:05 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74194 Continue reading "Looking Outwards 06: Randomness"]]>

For my blog I chose to look at Rami Hammour’s “A Text of Random Meaning.”

A text of Random Meaning (2015)

According to Hammour: “This text-like visualization is a mapping of a “Register and Taps” random number generator in action. The drawing compares three registers: 9, 11 and 13. It shows the difference in values, and counting of the generated numbers while highlighting the taps.”

As a person who loves orthography and considerations of language, this idea of a meaningless or random meaning text is fascinating. Semantics being such an important part of the way we understand language, how can we confront the randomness of meaning to a computer? How do we subconsciously assign meaning to these things? I think these questions are interesting to ponder, and while looking at this piece I found myself thinking quite a bit about that. It reminds me of similar pieces which attempt to recreate “language” in random forms. For instance the Library of Babel project, or Vulgarlang. Similarly, the use of random number generation (while not present in the Library of Babel or Vulgarlang) creates a sense of interconnected forms from which one might attempt to derive meaning. That is perhaps the most interesting part of randomness to me, to try to derive meaning from the noise, because undoubtedly what you find will never be the same twice. 

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/09/looking-outwards-06-randomness-10/feed/ 0
Looking Outwards 05: 3D Computer Graphics https://courses.ideate.cmu.edu/15-104/f2022/2022/10/02/looking-outwards-05-3d-computer-graphics-11/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/02/looking-outwards-05-3d-computer-graphics-11/#respond Mon, 03 Oct 2022 02:41:04 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=73703 Continue reading "Looking Outwards 05: 3D Computer Graphics"]]>

For my work I chose another work/series by artist Andy Lomas. I’ve always been fascinated by the physical properties and designs of cells and the intricate geometry of the microcosm, and Andy Lomas has created a series which tickles that one specific part of my brain. This is the Cellular Forms series, which explores generalizable natural forms which create these cell-like three dimensional structures. I find this incredibly interesting just because of the uniqueness of each cell. From one which looks like it’s composed of petals, to another which looks like a baseball made of brain. The amazing variety of natural forms which were analyzed and recreated to generate these structures is mind boggling. 

But not only that, there’s a full explanation of the algorithms used in the piece. It’s a really fascinating concept which attempts to simulate the natural development of a colony of cells into a sort of organism using various factors like nutrition, light, and proximity. The simulations are also staggeringly detailed, as they’re actually composed of what seem like millions of generated cells. This approach to generating naturalistic forms is really unique, and it is just so satisfying to look at, wouldn’t you agree?

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/02/looking-outwards-05-3d-computer-graphics-11/feed/ 0
Project 4: String Art https://courses.ideate.cmu.edu/15-104/f2022/2022/09/25/project-4-string-art-5/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/25/project-4-string-art-5/#respond Sun, 25 Sep 2022 04:03:59 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72991

Just try to imagine waking up to this in the middle of the night. Best 70s themed dreamscape ever. That’s the whole piece. That’s it. A portal to the disco dimension.

sketch
//Ilyas Khan
//Section D
//Entitled "Disco Portal"
//Why, you may ask, did I make it disco? Because I like disco, and I like random color changes.

count = 0;
function setup() {
    createCanvas(400, 300);
    background(0);
}
function draw() {
    background(0); //keeps the loop from getting messy
    frameRate(5); //makes it possible for one to perceive the color changes
    stroke(random(100,255),random(100,255),random(100,255)); //Makes this the portal to the disco dimension
    let count = 0;
    let y1 = 0;
    let y2 = 0;
    let x1 = 0;
    let x2 = 0;
    let x3 = 0;
    var limitX1 = 150;
    var limitX2 = 250;
    var limitY1 = 50;
    var limitY2 = 250;
    strokeWeight(0.5);
    for(y1 = -400; y1 < limitY1; y1 += 4.75){ //top of doorframe
        x3 = limitX2-(1.25*count);
        x1 = limitX1+(1.25*count);
        y2 = limitY1-(0.25*count);
        line(x1,y2,x1+300,y1);
        line(x3,y2,x3-300,y1);
        count += 1;
    }
    for(y1 = limitY1; y1 < limitY2+100; y1 += 7.75){ //left side of doorframe
        x1 = limitX1;
        x2 -= 4.5;
        y2 -= 7.75;
        line(x1,y1,x2,y2+300);
        count += 1;
    }
    for(y1 = limitY1; y1 < limitY2+100; y1 += 7.75){ //right side of doorframe
        x1 = limitX2;
        x2 = limitX2-(4.5*count);
        y2 += 7.75;
        line(x1,y1,1.05*-x2,-y2+50);
        count += 1;
    }
    for(y1 = 800; y1 > limitY2; y1 -= 9){ //floor
        x3 = limitX2;
        x1 = limitX1;
        y2 = limitY2-(0.05*count);
        line(x1,y2,x1+300,y1);
        line(x3,y2,x3-300,y1);
        count += 1;
    }

}
]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/25/project-4-string-art-5/feed/ 0
Project 3: Dynamic Drawing https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/project-3-dynamic-drawing-7/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/project-3-dynamic-drawing-7/#respond Sun, 25 Sep 2022 03:49:28 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72273
sketch
//Ilyas Khan
//Section D
//this program focuses on the y axis with minimal to no change in the x

let yChange = 0; //the rate of change for most of the shape dimensions in this program.
function setup() {
    createCanvas(600, 450);
    background(0);
}
function draw() {
    yChange = mouseY/50 //the rate of change for most of the shape dimensions in this program.
    background(0);

    fill(255, 231, 179);
    stroke(240, 203, 158);
    quad(300,175/yChange,220,150,300,130,380,150); //top
    //dome (made of ellipses to appear dome-like from a distance)
    fill(119, 199, 195); 
    stroke(240, 176, 0)
    strokeWeight(0.1);
    ellipse(300,150,100,25);
    ellipse(300,148,100,25);
    ellipse(300,146,100,25);
    ellipse(300,144,96,24);
    ellipse(300,142,96,24);
    ellipse(300,140,92,23);
    ellipse(300,138,92,23);
    ellipse(300,136,84,22);
    ellipse(300,134,84,22);
    ellipse(300,132,74,21);
    ellipse(300,130,74,21);
    ellipse(300,128,62,18);
    ellipse(300,126,62,16);
    ellipse(300,124,46,14);
    ellipse(300,122,36,12);
    ellipse(300,120,26,10);
    ellipse(300,118,16,8);
    fill(255, 231, 179);
    stroke(240, 203, 158);
    quad(220,150,300,175/yChange,300,300/yChange,220,275/yChange); //left side
    quad(300,300/yChange,300,175/yChange,380,150,380,275/yChange); //right side
    
    if (mouseY < 50) { //the top view of the cube
        scaleY = (20-mouseY)/5; //"zoom factor" for zooming in on the cube
        if (scaleY < 1) {
            scaleY = 1;
        }
        background(0);
        translate(300,175); //translation to the center of the cube for "zooming"
        newY = 175;
        scale(scaleY);
        quad(0,0,-80,-25,0,-45,80,-25); //top
        quad(-80,-25,0,0,0,125,-80,100); //left side 
        quad(0,125,0,0,80,-25,80,100); //right side
        //dome (composed of ellipses to appear dome-like from a distance)
        fill(119+(mouseY),199+(mouseY),195+(mouseY)); 
        stroke(240, 176, 0)
        strokeWeight(0.1);
        ellipse(0,150-newY,100,25);
        ellipse(0,148-newY,100,25);
        ellipse(0,146-newY,100,25);
        ellipse(0,144-newY,96,24);
        ellipse(0,142-newY,96,24);
        ellipse(0,140-newY,92,23);
        ellipse(0,138-newY,92,23);
        ellipse(0,136-newY,84,22);
        ellipse(0,134-newY,84,22);
        ellipse(0,132-newY,74,21);
        ellipse(0,130-newY,74,21);
        ellipse(0,128-newY,62,18);
        ellipse(0,126-newY,62,16);
        ellipse(0,124-newY,46,14);
        ellipse(0,122-newY,36,12);
        ellipse(0,120-newY,26,10);
        ellipse(0,118-newY,16,8);
    }
    if(mouseY >= 91){  //the beginning of the interior cube view
        background(mouseY-91*(mouseY/91)+(mouseX/10),mouseY-27*(mouseY/91)+(mouseX/10),mouseY-38*(mouseY/91)+(mouseX/10)); //a background that changes color
        quad(300,175/(91/50),220,150,300,300/(91/50)+(mouseY-91),380,150); //bottom
        quad(220,150-(mouseY-91),300,175/(91/50)-(mouseY-91),300,300/yChange-(yChange*10),220,275/(91/50)); //left side
        quad(300,300/yChange-(yChange*10),300,175/(91/50)-(mouseY-91),380,150-(mouseY-91),380,275/(91/50)); //right side
        //pillar
        fill(mouseY-100);
        stroke(240, 176, 0)
        beginShape();
        vertex(270,140-(yChange*10));
        vertex(285,150-(yChange*10));
        vertex(315,150-(yChange*10));
        vertex(330,140-(yChange*10));
        vertex(315,130-(yChange*10));
        vertex(285,130-(yChange*10));
        endShape(CLOSE);
        quad(270,140,285,150,285,150-(yChange*10),270,140-(yChange*10));
        quad(315,150,330,140,330,140-(yChange*10),315,150-(yChange*10));
        noStroke();
        quad(285,150-(yChange*10),315,150-(yChange*10),315,150,285,150);
        if(mouseY >= 124){ //the filling out of the interior cube view
            background(mouseY-91*(mouseY/91)+(mouseX/10),mouseY-27*(mouseY/91)+(mouseX/10),mouseY-38*(mouseY/91)+(mouseX/10));
            fill(255, 231, 179);
            stroke(240, 203, 158);
            quad(220,150-(mouseY-91),300,175/(91/50)-(mouseY-91),300,300/(91/50),220,275/(91/50)); //left side
            quad(300,300/(91/50),300,175/(91/50)-(mouseY-91),380,150-(mouseY-91),380,275/(91/50)); //right side
            quad(300,175/(91/50),220,150,300,300/(91/50)+(mouseY-91),380,150); //bottom
            //pillar
            fill(mouseY-100);
            stroke(240, 176, 0)
            beginShape();
            vertex(270,140-(mouseY-91));
            vertex(285,150-(mouseY-91));
            vertex(315,150-(mouseY-91));
            vertex(330,140-(mouseY-91));
            vertex(315,130-(mouseY-91));
            vertex(285,130-(mouseY-91));
            endShape(CLOSE);
            quad(270,140,285,150,285,150-(mouseY-91),270,140-(mouseY-91));
            quad(315,150,330,140,330,140-(mouseY-91),315,150-(mouseY-91));
            noStroke();
            quad(285,150-(mouseY-91),315,150-(mouseY-91),315,150,285,150);
            if (mouseY >= 185){ //the zooming part of the inner cube view
                background(mouseY-91*(mouseY/91)+(mouseX/10),mouseY-27*(mouseY/91)+(mouseX/10),mouseY-38*(mouseY/91)+(mouseX/10));
                scaleY = -1*(185-mouseY)/8; //the "zoom" factor for the zoom in on the cube
                if (scaleY < 1) {
                    scaleY = 1;
                }
                fill(255, 231, 179);
                stroke(240, 203, 158);
                translate(300,175/(91/50)); //translates to the center of the cube for "zooming"
                scale(scaleY); 
                quad(-80,150-(185-91)-175/(91/50),0,175/(91/50)-(185-91)-175/(91/50),0,300/(91/50)-175/(91/50),-80,275/(91/50)-175/(91/50)); //left side
                quad(0,300/(91/50)-175/(91/50),0,175/(91/50)-(185-91)-175/(91/50),80,150-(185-91)-175/(91/50),80,275/(91/50)-175/(91/50)); //right side
                quad(0,175/(91/50)-175/(91/50),-80,150-175/(91/50),0,300/(91/50)+(185-91)-175/(91/50),80,150-175/(91/50)); //bottom
                //pillar
                fill(mouseY-100);
                stroke(240, 176, 0)
                beginShape();
                vertex(-30,140-(mouseY-91)-175/(91/50));
                vertex(-15,150-(mouseY-91)-175/(91/50));
                vertex(15,150-(mouseY-91)-175/(91/50));
                vertex(30,140-(mouseY-91)-175/(91/50));
                vertex(15,130-(mouseY-91)-175/(91/50));
                vertex(-15,130-(mouseY-91)-175/(91/50));
                endShape(CLOSE);
                quad(-30,140-175/(91/50),-15,150-175/(91/50),-15,150-(mouseY-91)-175/(91/50),-30,140-(mouseY-91)-175/(91/50));
                quad(15,150-175/(91/50),30,140-175/(91/50),30,140-(mouseY-91)-175/(91/50),15,150-(mouseY-91)-175/(91/50));
                noStroke();
                quad(-15,150-(mouseY-91)-175/(91/50),15,150-(mouseY-91)-175/(91/50),15,150-175/(91/50),-15,150-175/(91/50));
            }
            
        }
    }
    print(mouseY);

}
]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/project-3-dynamic-drawing-7/feed/ 0
LO: Sound Art https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/lo-sound-art/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/lo-sound-art/#respond Sun, 25 Sep 2022 03:44:12 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72970 Continue reading "LO: Sound Art"]]>

I wanted to talk about the app Trope by Brian Eno (yes I know he’s like the generative sound guy, but I like his work!) and Peter Chilvers, the interactive generative sound-art experience. As one traces abstract forms onto the screen, the program will vary the tone. There are also additional instruments so that one can vary sounds and create a whole symphony of interesting sounds whose generated existence emerges from the human interaction with the program. I personally admire the interactive nature of it. I love randomness, but when you give people a way to experience that, to watch it unfold under their fingertips, that I find really satisfying. As the tone shifts randomly (in accordance with the laws of generative music, randomness being a key to making it “last forever”) you create songs that are entirely unique to your own experience at that moment, and can’t be perfectly recreated by someone else with ease. Likely tone and pitch are related to things like x and y on the screen, and potentially pressure and tilt, as the program is for smartphones and tablets and the like. This is another of Brian Eno’s apps, of which I think he’s made a few, and seems to be a spiritual successor to his previous work, Bloom.

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/lo-sound-art/feed/ 0
LO: Computational Fabrication https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/lo-computational-fabrication-2/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/lo-computational-fabrication-2/#respond Sun, 18 Sep 2022 04:02:46 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72217 Continue reading "LO: Computational Fabrication"]]>

I’m not sure how much this counts, but I decided to look into the architectural aspect of the generative design question, because both of my parents are architects who have worked on many generative related projects. What I found was the Heydar Aliyev Center in Baku, designed by Zaha Hadid Architects. This structure, designed and built between 2007 and 2012, is a physical representation of the early integration of AI and generative design with standard architectural design and practice. It’s a gorgeous building, with an amazing fusion of traditional Islamic design concepts and a more organic and futuristic form, done mostly in white with the exception of the Theater I believe. It was in the geometry of the “skin” of the building, as in certain walls and the exterior, where AI was used to geometrically model based on certain parameters what the best position for say, an opening, would be, or the dimensions and shape of a tile of cladding to be manufactured.

The building structure itself is fascinating, and looks sleek and futuristic in classic Zaha Hadid style. What algorithms and how they were created and used I guess are trade secrets, but they must have really tweaked them, because this is the most elegant and efficient example of generated architecture that I have seen so far. I do know though that those algorithms seemed to be less in relation to the physical form of the building, and was only really mentioned in its external cladding and some of the internal features.

https://www.zaha-hadid.com/architecture/heydar-aliyev-centre/

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/lo-computational-fabrication-2/feed/ 0