fom@andrew.cmu.edu – [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 Sat, 19 Nov 2022 22:00:33 +0000 en-US hourly 1 https://wordpress.org/?v=6.0.8 Blog 11 https://courses.ideate.cmu.edu/15-104/f2022/2022/11/19/blog-11-2/ https://courses.ideate.cmu.edu/15-104/f2022/2022/11/19/blog-11-2/#respond Sat, 19 Nov 2022 22:00:33 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=75863 Continue reading "Blog 11"]]>

The article “Women in Media Arts: Does AI think like a (white) man?” addresses the biases in Ai, specifically regarding gender and race. “Gender Shades,” just one of the many artists’ works mentioned in the story, explores the differences in how AI facial recognition works for different races and genders. Through the research Joy Buolamwini and Timnit Gebru, the creators of the investigation, have done has led them to the conclusion that women, especially women of color, when using facial recognition, have a higher error rate than when recognizing other genders and races. They found that the developers used incorrect or incomplete data sets to train the programs, and, in turn, created the first data set that includes all skin color types and can test face-based gender recognition.

Another set of artists mentioned in the article, Birgitte Aga and Coral Manton, focus on gender-specific AI through their project, “Women Reclaiming AI.” The pair learned that AI language assistants are usually developed by teams that lack diversity and, through AI, reinforce stereotypes that reinforce traditional gender roles. In their project, they attack these biases and created a “feminist data set” for future AI systems. The artists mentioned are taking the steps to address the downfalls of AI and bring up questions around and problems to be solved with equality and AI.

Women in Media Arts: Does AI think like a (white) man?

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/11/19/blog-11-2/feed/ 0
Blog 09 https://courses.ideate.cmu.edu/15-104/f2022/2022/11/05/blog-09/ https://courses.ideate.cmu.edu/15-104/f2022/2022/11/05/blog-09/#respond Sat, 05 Nov 2022 13:29:38 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=75080 Continue reading "Blog 09"]]>

Camille Utterback is an artist focusing on interaction between humans and technology. Using software she writes herself, she aims to capture human movement as it is – ever-changing – through technology. With a degree from Williams College in Massachusetts, she continues to develop her body of work while teaching at schools like Stanford, Parsons, and even CMU. Her work Precarious, I think, is an incredible example of what she sets out to do. Exhibited in 2018 at the Smithsonian, Precarious is an interactive installation that translates human movement and silhouettes into continuous lines that never create a closed shape, to replicate the living, breathing, moving nature of viewers through technology. Being that the digital drawings are never fixed, the work continues to grow and change with every person that interacts with the artwork, making each viewer seem to become apart of the artwork themselves. I think this work by Utterback specifically finds the qualities that make people human and tries to reimagine it using technology that changes with the humans that view the installation. Her work begins to connect humans with technology, making technology something almost human itself. Eerie.

Camille Utterback

Precarious

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/11/05/blog-09/feed/ 0
Blog 08 https://courses.ideate.cmu.edu/15-104/f2022/2022/10/29/blog-08/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/29/blog-08/#respond Sat, 29 Oct 2022 17:38:17 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74843 Continue reading "Blog 08"]]>

Ron Morrison, an interdisciplinary artist with degrees from universities all over the globe including Parsons and University of Ghana-Legon, is currently a PhD fellow at USC and continues to build a body of work that is inherently personal to them. Their pieces seek to understand and represent “residual black data,” meaning the pieces of black history that have been erased through data visualizations that, though correct, do not encapsulate the experience of what is shown. For exmaple, their map piece, which uses glasses you might get at a 3-D movie showing, uses blue and red linework as a way of showing people how information is filtered for data visulization. Their Eyeo 2019 presentation uses 20th century U.S. river cartography to express the difference between viewing a river as a boundary or object used for transportation and using a different visual representation to see it as a meaningful form to represent change overtime. I thought this was especially effective in getting their point across that, depending on how you view things, you might see them entirely differently, and I will certainly use this to guide my work in architecture. Morrison’s work, especially their pieces focusing on redlining and slow violence in black communities are incredibly powerful and show new ways that we can view information with the tenderness that is necessary when dealing with difficult issues.

Ron Morrison

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/29/blog-08/feed/ 0
Blog 07 https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-07/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-07/#respond Sat, 15 Oct 2022 15:34:59 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74384 Continue reading "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

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-07/feed/ 0
Blog 06 https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-06-3/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-06-3/#respond Sat, 15 Oct 2022 12:39:03 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=74377 Continue reading "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

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/15/blog-06-3/feed/ 0
Blog 05 https://courses.ideate.cmu.edu/15-104/f2022/2022/10/01/blog-05/ https://courses.ideate.cmu.edu/15-104/f2022/2022/10/01/blog-05/#respond Sat, 01 Oct 2022 17:51:20 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=73381 Continue reading "Blog 05"]]>

Erik Bean, an architect based in the UK, uses 3D modeling/rendering and digital illustration to comment on political issues in the UK and how it relates to the idea of a perfect society or “utopia.” His thesis work, Capital for the Collective: The Labour Miracle, uses a unique rendering style based loosely on old maps to bring together the real and imagined to propose a new way in which the public should interact with public space. In architecture, algorithms and certain computational technology is used to create larger renders such as Grasshopper, which help to simplify the work to build something digitally. I imagine that he used tools like this as well as digital illustration/editing tools and 3D modeling tools in order to create his detailed works. I appreciate the thought given to how public space/architecture interacts with politics and his addition of climate-focused architecture. Bean’s representations of the uniformity and chaos of people engaging in public spaces is a very interesting twist on traditional photorealistic renderings that have become so popular in architecture, and push usual student work into a whole new realm.

Capital for the Collective: Labour Miracle

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/10/01/blog-05/feed/ 0
Looking Outwards Blog 04 https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/looking-outwards-blog-04/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/looking-outwards-blog-04/#respond Sat, 24 Sep 2022 19:14:40 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72697 Continue reading "Looking Outwards Blog 04"]]>

The FORMS string quartet is a string quartet performance that includes digital visual elements based on sounds played during performances. As shown in the link below, they use various shapes and colors to interpret the noises from the string instruments to visual data that is played to create a more engaging experience for classical music than ever before. The scores are created previous to the performance using generative graphic algorithms that allow each sound to be interpreted into a visual shape/color. The FORMS creators allow the audience to view what is to come through visuals, making it an interactive experience, one that I would love to experience, as current classical music performances do not encourage some of the amazing visuals that have been reached by more “casual” concerts.

FORMS String Quartet 

Below is a link to information on Alexander Scriabin and his use of color in creating his circle of fifths. I found it interesting that these ideas of relating music to color can be traced back to the 1800’s and, through technology, can become musical performances similar to what Scriabin expected – though he imagined one performance with lights flashing colors related to their notes would end the world completely! This performance by FORMS seems like something that could be created with the P5.js program and inspires me to learn about the possibilities connecting sound, art, and technology.

Alexander Scriabin and Color

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/24/looking-outwards-blog-04/feed/ 0
Looking Outwards Blog 03 https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/looking-outwards-blog-03/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/looking-outwards-blog-03/#respond Mon, 19 Sep 2022 01:04:44 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=72349 Continue reading "Looking Outwards Blog 03"]]>

Arclight: https://www.matsys.design/arclight

Andrew Kudless, the founder of Matsys, his design studio, focuses on material sciences to combine digital and physical craftsmanship. Projects the studio has released like “Arclight,” developed as part of the Sydney, Australia Vivid Light Festival in 2015, show off the exact connection between digital and physical that they strive to achieve. The interactive lighting installation mimics natural mangroves found in Australia and uses LED lights with various colors to light up the structures. While the actual structures are made of bent plastic sheets, the light seems to move up and down the forms in lines to create a dynamic installation. I greatly admire Kudless’ dedication to combining the physical and digital worlds in such a dynamic and entertaining way, as the algorithms used to construct the installation probably use LEDs connected in some way so that when the “string” of lights reaches the bottom of the structure, another begins. As someone just beginning to learn about lighting LEDs using Arduino boards, it is especially inspiring to think of the possibilities that await when combining physical architecture with digital developments.

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/18/looking-outwards-blog-03/feed/ 0
Project 02 https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/project-02-7/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/project-02-7/#respond Sun, 11 Sep 2022 03:14:08 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=71348 Continue reading "Project 02"]]>

For our second project of the semester, I chose to edit the self-portrait from the first project, changing parts of the figure like the height of the face, shape of the mouth and eyebrows, and even added the ability to switch through some accessories. The self-portrait, after this process, feels much more lively due to the use of the mousePressed function.

fom Project 02Download
// Francesca Menendez, fom, Section C

var mouth = 1;
var faceHeight = 365;
var eyebrows = 1;
var accessory = 1;

function setup() {
    createCanvas(480, 640);
    background(252, 181, 104); // background orange
}

function draw() {
	// background ornament
	strokeWeight(3);
	stroke(255);
	fill(116, 203, 200); //teal stripe
	rect(220, 0, 45, 500);
	strokeWeight(3);
	stroke(255);
	fill(79, 141, 241); // blue stripe
	rect(127, 0, 45, 500);
	strokeWeight(3);
	stroke(255);
	fill(255, 190, 214); // pink stripe
	rect(32, 0, 45, 700);
	strokeWeight(3);
	stroke(255);
	fill(192, 226, 148); // green stripe
	rect(315, 0, 45, 500);
	strokeWeight(3);
	stroke(255);
	fill(255, 246, 140); // yellow stripe
	rect(410, 0, 45, 700);

	// hair
	noStroke();
	fill(40, 24, 15); // hair color
	ellipse(240, 280, 380, 420); // furthest back ellipse
	noStroke();
	fill(40, 24, 15);
	rect(51, 295, 378, 400); // extension rectangle
	noStroke();
	fill(40, 24, 15);
	triangle(0, 640, 90, 640, 90, 540); // left triangle
	noStroke();
	fill(40, 24, 15);
	triangle(480, 640, 390, 640, 390, 540); // right triangle

	// ears
	strokeWeight(5);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	ellipse(90, 340, 60, 80); // left ear
	strokeWeight(5);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	ellipse(390, 340, 60, 80); // right ear

	// neck
	strokeWeight(5);
	stroke(247, 150, 107); // shadow color edge
	fill(244, 218, 188); // shadow color
	rect(180, 365, 125, 300);

	// body and shirt
	strokeWeight(5);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	triangle(70, 650, 200, 650, 200, 550);

	strokeWeight(5);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	triangle(410, 650, 280, 650, 280, 550);

	noStroke();
	fill(244, 218, 188);
	rect(183, 500, 119, 200);

	strokeWeight(7)
	stroke(0);
	line(150, 585, 150, 690); // left top strap

	strokeWeight(7)
	stroke(0);
	line(335, 585, 335, 690); // right top strap


	// face (between 310 and 375)
	strokeWeight(5);
	stroke(247, 150, 107); // skin color edge
	fill(255, 237, 213); // skin color
	ellipse(240, 320, 300, faceHeight); //EDIT OUT ellipse: (center x,y), width, height

	// eyes
	strokeWeight(3);
	stroke(0, 34, 68); // eye color edge
	fill(238, 239, 248); // eye color
	ellipse(170, 280, 75, 55); // left eye
	strokeWeight(3);
	stroke(0, 34, 68);
	fill(238, 239, 248); 
	ellipse(310, 280, 75, 55); // right eye

	strokeWeight(3);
	stroke(0, 34, 68);
	fill(91, 32, 1); // iris color
	circle(170, 275, 45); // left
	strokeWeight(3);
	stroke(0, 34, 68);
	fill(91, 32, 1);
	circle(310, 275, 45); // right

	noStroke();
	fill(0); // pupil color
	circle(170, 275, 15); // left
	noStroke();
	fill(0);
	circle(310, 275, 15); // right

	strokeWeight(10);
	stroke(255); // reflection color
	point(175, 270);
	strokeWeight(10);
	stroke(255);
	point(315, 270);

	strokeWeight(7);
	stroke(0, 34, 68); // eyelash color
	line(170, 255, 170, 230);
	strokeWeight(7);
	stroke(0, 34, 68);
	line(310, 255, 310, 230);
	strokeWeight(7);
	stroke(0, 34, 68);
	line(155, 257, 155, 232);
	strokeWeight(7);
	stroke(0, 34, 68);
	line(325, 257, 325, 232);
	strokeWeight(7);
	stroke(0, 34, 68);
	line(185, 257, 185, 232);
	strokeWeight(7);
	stroke(0, 34, 68);
	line(295, 257, 295, 232);

	// glasses
	strokeWeight(6);
	stroke(82, 76, 69); // glasses color
	noFill();
	ellipse(165, 285, 123, 100);
	strokeWeight(6);
	stroke(82, 76, 69);
	noFill();
	ellipse(315, 285, 123, 100);
	strokeWeight(6);
	stroke(82, 76, 69);
	line(230, 285, 254, 285);

	// bangs
	noStroke();
	fill(40, 24, 15); // bang color
	square(200, 110, 100, 15); // center

	noStroke();
	fill(40, 24, 15);
	square(125, 130, 80, 15); // left

	noStroke();
	fill(40, 24, 15);
	square(275, 130, 80, 15); // right

	noStroke();
	fill(40, 24, 15);
	rect(155, 105, 190, 60);

	// normal brow
	if (eyebrows == 1) {
		noStroke();
		fill(0); // eyebrow color
		triangle(200, 230, 200, 200, 110, 230);
		noStroke();
		fill(0);
		triangle(280, 230, 280, 200, 365, 230);

	// angry brow
	} else if (eyebrows == 2) {
		noStroke();
		fill(0);
		circle(210, 215, 20); // left angled brow
		noStroke();
		fill(0);
		triangle(204, 223, 150, 195, 221, 209);
		noStroke();
		fill(0);
		circle(270, 215, 20); // right angled brow
		noStroke();
		fill(0);
		triangle(276, 223, 330, 195, 259, 209);

	// suspicious brow
	} else if (eyebrows == 3) {
		noStroke();
		fill(0);
		circle(210, 215, 20); // left curved brow
		noStroke();
		fill(0);
		triangle(204, 223, 170, 190, 221, 209);
		noStroke();
		fill(0);
		triangle(170, 190, 130, 210, 190, 200);
		noStroke();
		fill(0);
		circle(270, 215, 20); // right angled brow
		noStroke();
		fill(0);
		triangle(276, 223, 330, 195, 259, 209);

	}

	//nose
	strokeWeight(4);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	circle(220, 355, 24);
	strokeWeight(4);
	stroke(247, 150, 107);
	fill(244, 218, 188);
	circle(260, 355, 24);

	strokeWeight(5);
	stroke(247, 150, 107);
	fill(255, 237, 213);
	circle(240, 355, 27);

	noStroke();
	fill(255, 237, 213);
	ellipse(240, 345, 30, 40);

	// happy mouth
	if (mouth == 1) {
		strokeWeight(8);
		stroke(229, 162, 153); // lip color
		fill(255); // teeth color
		arc(240, 395, 155, 100, 0, HALF_PI)
		strokeWeight(8);
		stroke(229, 162, 153);
		fill(255);
		arc(240, 395, 155, 100, HALF_PI, PI);
		strokeWeight(8);
		stroke(229, 162, 153);
		line(165, 395, 319, 395);

	// surprised mouth
	} else if (mouth == 2) {
		strokeWeight(8);
		stroke(229, 162, 153); // lip color
		fill(255); // teeth color
		arc (240, 430, 125, 90, 0, 0, 0);

	// nervous mouth
	} else if (mouth == 3) {
		strokeWeight(8);
		stroke(229, 162, 153); // lip color
		fill(255);
		rect(167, 400, 150, 45, 10);

	}

	// earrings
	strokeWeight(3);
	stroke(224, 135, 73); // earrings edge color
	fill(232, 190, 64); // earrings color
	rect(70, 350, 25, 60, 20); // left earring
	strokeWeight(3);
	stroke(224, 135, 73);
	fill(232, 190, 64);
	rect(385, 350, 25, 60, 20); // right earring

	strokeWeight(4);
	stroke(255); // earrings reflection color
	fill(255);
	rect(77, 360, 2, 32, 10); // left
	strokeWeight(4);
	stroke(255);
	fill(255);
	rect(392, 360, 2, 32, 10); // right

	// accessories
	// collar
	if (accessory == 1) {
		noStroke();
		fill(0); // collar color
		rect(170, 520, 145, 50);

	// bow
	} else if (accessory == 2) {
		strokeWeight(4);
		stroke(10, 44, 84); // bow stroke color
		fill(30, 45, 110); // bow color
		triangle(295, 160, 245, 110, 230, 150);
		strokeWeight(4);
		stroke(16, 44, 84); // bow stroke color
		fill(30, 45, 110); // bow color
		triangle(295, 160, 373, 200, 320, 220);
		strokeWeight(4);
		stroke(16, 44, 84); // bow stroke color
		fill(30, 45, 110); // bow color
		circle (295, 160, 35);

	// pearl earring addition
	} else if (accessory == 3) {
		strokeWeight(3);
		stroke(202, 196, 176);
		fill(255);
		circle(83, 410, 30); // left pearl
		strokeWeight(3);
		stroke(202, 196, 176);
		fill(255);
		circle(397, 410, 30); // right pearl

	}
}

function mousePressed() {
	faceHeight = random (310, 375);
	mouth = round(random (1, 3));
	eyebrows = round(random (1, 3));
	accessory = round(random (1, 3));
}
]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/project-02-7/feed/ 0
Blog 02 https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/blog-02-4/ https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/blog-02-4/#respond Sun, 11 Sep 2022 02:39:41 +0000 https://courses.ideate.cmu.edu/15-104/f2022/?p=70981 Continue reading "Blog 02"]]>

Roman Verostko, originally a traditional painter, moved to generative art using simple programming techniques and pen plotting tools. Since then, he has spent his artistic career expanding upon these tools which he deems “elementary,” and has built a vast portfolio of pieces with many differences in techniques that make them look visually different, but are all developed from the same principles. His work, Epigenesis: The Growth of Form, shows off, in a 40 foot long mural, the range in aesthetics his algorithmic process can create. From pen marks that create almost blurry-looking works to clear, contrasting, brushstrokes, the mural uses symmetry and subtle changes in color and orientation to create eleven panels of artworks. Though it is possible this work could be created by hand, Verostko’s passion lies in the mastery of one ultimately, simple, technique that can be expanded upon to create a body of work that shows off its range through changes in material, but not in process.

Epigenesis: The Growth of Form

]]>
https://courses.ideate.cmu.edu/15-104/f2022/2022/09/10/blog-02-4/feed/ 0