Source Code. Projects. Nerd Stuff. Art Stuff.

Intro to Computational Media

[gn_pullquote align="right"]Tutorials available for a primer on the Processing IDE[/gn_pullquote]

 

Week 1 Topics: Drawing, variables, and simple animation with mouseX and mouseY

Week 2 Topics: Arrays, while() and for() Loops, and the color() and random() functions

Week 3 Topics: Strings, Text, PFont, Parsing Strings, loadstrings() and comma separation

Week 4 Topics: Functions, Objects, Modularity, Parameter Passing, Constructors

Week 5 Topics: Advanced Objects, Polymorphism, Array Lists

Week 6 Topics: Images and Camera

Week 7 Topics: Pixel Tracking, Background Subtraction, Frame Differencing

Week 8 Topics: Loading External Data, loadStrings(), XML, JSON

Week 9 Topics: P3D, Translate, Rotate and Scale, Textures, Lighting

 

 

Music Visualizer

Posted on December 3rd, by amoeboar in classes, icm. No Comments

For my ICM final, I elaborated on last week’s assignment, by working with the minim library to turn it into a music visualizer. Read more

Atoms

Posted on November 25th, by amoeboar in classes, icm. No Comments

For this assignment I made use of Processing’s built-in 3D shapes, camera and lighting methods. Read more

Space Invaders

Posted on November 15th, by amoeboar in classes, icm. No Comments

My midterm project was to begin working on a classic Space Invaders-style game. Read more

Underwater

Posted on October 16th, by amoeboar in classes, icm. No Comments

A sketch that puts you underwater!
 

[gn_spoiler title="underwater source code:" open="0" style="1"]

[gn_tabs style="3"]

[gn_tab title="underwater"]

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172/********************************
 / John Capogna
 / underwater.pde
 / ITP, 2012
 ********************************/

import processing.video.*;

Capture cam;
PImage displayImg;
//int greenX = 0;
//int greenY = 0;
//float mostGreenPixel = 10000;  // start green value very high

ArrayList images;

void setup() {
  size(640, 480);

  cam = new Capture(this, 640, 480);
  cam.start();

  displayImg = new PImage(640, 480);

  // Initialize the ArrayList
  images = new ArrayList();

  // Make bubbles and fishes
  for (int i = 0; i < 25; i++) {
    if (i < 20) {
      Bubble tempBubble = new Bubble(random(width), random(height), random(-1, 1), random(-1, 1));
      images.add(tempBubble);
    }
    else {
      Fish tempFish = new Fish(random(width), random(height), random(-1, 1), random(-1, 1));
      images.add(tempFish);
    }
  }
}  

void draw() {
  if (cam.available()) {
    cam.read();

    for (int x = 0; x < cam.width; x++) {
      for (int y = 0; y < cam.height; y++) {
        // (width – x – 1) refers to a reversed image
        int dIndex = x + y * cam.width;  // display index
        int cIndex = (width – x – 1) + y * cam.width;  // camera index

        color currentPixel = cam.pixels[cIndex];

        displayImg.pixels[dIndex] = cam.pixels[cIndex];
      }
    }

    displayImg.updatePixels();

    image(displayImg, 0, 0);
  }

  // We go through the images ArrayLIst
  for (int i = 0; i < images.size(); i++) {
    // We cast every object we pull out as a Bubble. Read more

Many Objects

Posted on October 9th, by amoeboar in classes, icm. No Comments

Making use of objects and ArrayLists.
Class BaseShape sets the parameters for all shapes, which contains movement properties and contains a “Bouncing Shape” check for walls. Read more

Moving Storybook

Posted on October 2nd, by amoeboar in classes, icm. No Comments

I created an animated storybook. A collection of nouns, adjectives, and verbs is stored in a word array, and each time the user clicks the mouse, a random word is chosen. Read more

LHC

Posted on September 25th, by amoeboar in classes, icm. No Comments

This assignment is inspired by Large Hadron Collider (see the second image here). Read more

Super Mario

Posted on September 6th, by amoeboar in classes, icm. No Comments

Using mouseX and mouseY I made a simple interaction between Mario and Boo. Hovering the mouse either to the left or right of Mario causes him to face different directions. Read more