ISMA303


Articles

Kinect Inspiration
Radiohead’s “House of Cards” video (done with LIDAR not Processing as I originally thought) Kinect Teleoperation of Humanoid Robot Augmented Reality Camille Scherrer: Le Monde des Montagnes (http://www.chipchip.ch/) Emily Gobeille & Theo Watson: Boards Magazine Cover (http://vimeo.com/10078874) Zachary Lieberman & Marco Tempest, Projection Tracking Julian Oliver: LevelHead The Artvertiser Siddarth Batra, Stanford: http://www.youtube.com/watch?v=CR3tQmxrPo8 Markerless Augmented […] Read more – ‘Kinect Inspiration’.
Arrays
Arrays are used to store data, but unlike the other data storage types we have been using (such as variables) arrays have the ability to store more than just a single value. Arrays can store multiple values of the same datatype in much the same way that an ordinary list (such as a grocery list) […] Read more – ‘Arrays’.
Why use Object-Oriented Programming
One of the fundamental concepts that makes OOP (Object-Oriented Programming) so popular is known as data encapsulation. We have already discussed how a variable can have a greater or lesser scope depending on where it is declared, that is to say that when a variable is not declared within the global variable scope it can […] Read more – ‘Why use Object-Oriented Programming’.
The Blueprint Analogy
By creating classes we categorize the data we are representing and give these representations a context by associating them with features in the programming languages API. However a class is never used in the main program, it must first be instantiated as an object and the object is what we would use in our main […] Read more – ‘The Blueprint Analogy’.
Object-Oriented Programming
Object Oriented Programming Object Oriented Programming is a modern day programming paradigm, meaning that it is a fundamental style that suits the task of creating modern software. Most popular modern programming languages support OOP (Object Oriented Programming), and as a result understanding the fundamental concepts that define it within Processing can help in implementing it, […] Read more – ‘Object-Oriented Programming’.
More Random Circles
This example builds on the random circle exercise by constraining the random colour aspect of the sketch and only draws circles not ellipses. size(600,600); smooth(); int circleNum = 50; noStroke(); for (int i = 0; i<= circleNum; i += 1) { fill(random(200, 255), random(100,200), random(100,200), random(100,255)); float randomDiam = random(width); ellipse(random(width), random(height), randomDiam, randomDiam); } […] Read more – ‘More Random Circles’.
Inspiration I
The Artvertiser – Julian Oliver, Damian Stewart, et al (video) The Artvertiser is a software platform for replacing billboard advertisements with art in real-time. It works by teaching computers to ‘recognise’ individual advertisements so they can be easily replaced with alternative content, like images and video. Newstweek – Julian Oliver (video) Security experts discover a […] Read more – ‘Inspiration I’.
Libraries
importing libraries     Read more – ‘Libraries’.
Randomness
It’s arguable that all generative art includes some degree of randomness: without randomness, there can be no unpredictability. Almost all programming languages include a function equivalent to Processing’s random function, but returning a truly random number is an impossibility for a predictable machine. Computer-generated randomness is always pseudo-random, using mathematical formulae, often including a reference to […] Read more – ‘Randomness’.
Datatyping
You might have noticed something else that’s new about the active mode structure of a sketch, that being the usage of the void keyword preceding both the setup() and draw() functions. The keyword void is used for defining functions that do not return a value, all other user defined functions must return a value of […] Read more – ‘Datatyping’.
Structure, Logic & Animation
Until now our scripts have been nothing more than a short list of instructions to perform, after which they stop. But with anything beyond the most basic level of programming, we will need to go further and group instructions and provide some decisions. It’s time to step it up a notch. The Frame Loop The […] Read more – ‘Structure, Logic & Animation’.
Visual Representations of Code
The Cartesian Graph and the Processing Coordinate System As mentioned earlier the Display Window’s dimensions are determined within the size() function via the parameters that it accepts. Those dimensions are measured in pixels. Later, when we start drawing to the Display Window we need to tell Processing where exactly we are attempting to draw to […] Read more – ‘Visual Representations of Code’.
An Analysis of a Computer Program
As we are already aware Binary is a conceptual model that people have invented to represent the workings of a machine. Binary resultantly forms the basis of all software because as mentioned earlier no matter what programming language you use that code must be translated into a machine readable format before it can be interpreted […] Read more – ‘An Analysis of a Computer Program’.
Lower Level Languages and Higher Level Languages
Generally speaking higher level programming languages are closer to human spoken languages and lower level programming languages are closer to machine code, or binary. However this classification might not always be so clear. C++ is one language that some might argue challenge this programming language stereo type. C++ is a programming language that has all […] Read more – ‘Lower Level Languages and Higher Level Languages’.
The Unique Qualities of a Programming Language
At the simplest level a programming language should be Turing complete. Turing complete refers to a set of data manipulation rules that, can simulate a Turing machine. This begs the question to be asked, who is Turing and what is his machine? Alan Turing was a British mathematician that is heralded as the father of […] Read more – ‘The Unique Qualities of a Programming Language’.
Efficiency & Disambiguation
Efficiency Like any natural language, computer languages are built around their environments. Human cultures have developed languages as a means of communicating their perceptions of internal, conceptual and external environments. However what exists in one environment might not be a part of another. Subsequently, a string of words might be used to describe something that […] Read more – ‘Efficiency & Disambiguation’.
Abstraction
Abstraction Representing the abstract concept of something like data in the form of high and low voltages with a series of 1’s and 0’s can be quite useful, but still very difficult to read and understand. Imagine having to memorize all of those sequences in order to be an efficient programmer. It would take exorbitant […] Read more – ‘Abstraction’.
Hardware and Software Theory
What is programming? A software program is a set of instructions issued to a computer via source code. Source code is data that usually resembles a text document which is typed in a specific programming language that is somewhere between a language that computers can process efficiently and humans can understand. The task of creating […] Read more – ‘Hardware and Software Theory’.