<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computational Artwork &#187; kkb210</title>
	<atom:link href="http://matthewbrown.net.au/tag/kkb210/feed/" rel="self" type="application/rss+xml" />
	<link>http://matthewbrown.net.au</link>
	<description>by Matthew Brown</description>
	<lastBuildDate>Sun, 20 Jun 2010 02:37:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Fractals and Influences</title>
		<link>http://matthewbrown.net.au/misc/fractals-and-influences/</link>
		<comments>http://matthewbrown.net.au/misc/fractals-and-influences/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 12:31:03 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[Fractals]]></category>
		<category><![CDATA[Influences]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Lines]]></category>
		<category><![CDATA[QUT]]></category>
		<category><![CDATA[Scott Draves]]></category>
		<category><![CDATA[Visuals]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/misc/fractals-and-influences/</guid>
		<description><![CDATA[Fractals have always particularly appealed to me. They seem chaotic and yet orderly. I actually focussed on this concept in year 12 for my major art work which was selected to be featured in 5 galleries across NSW. If you look at my Deviant Art account at all, you&#8217;ll notice that it is absolutely full [...]]]></description>
			<content:encoded><![CDATA[<p>Fractals have always particularly appealed to me. They seem chaotic and yet orderly. I actually focussed on this concept in year 12 for my major art work which was selected to be featured in 5 galleries across NSW.</p>
<p><a href="http://blog.stillaslife.com/wp-content/gallery/00-single/trisymmetryglow1280.jpg" title="One of my fractals"><img src="http://blog.stillaslife.com/wp-content/gallery/00-single/normal_trisymmetryglow1280.jpg" alt="One of my fractals" style="border: 0pt none ; margin-left: 10px" /></a></p>
<p>If you look at <a href="http://raolain.deviantart.com/" title="Matt's Deviant Art Account">my Deviant Art account</a> at all, you&#8217;ll notice that it is absolutely full of fractal stills. I also had some big A1 and A2 fractal prints on exhibition, as well as an animation, at a recent inter-university festival between QUT and UQ. So I can easily say that fractals are definitely where my love in art is at. Since I first began experimenting with fractals, there has been one particularly big influence in my work, and that has been the work of Scott Draves aka <a href="http://draves.org" title="Scott Draves aka Spot">Spot</a>.</p>
<p>Spot&#8217;s work has been of interest to me basically since I began working with fractals and it continues to do so.</p>
<p>He has done a lot of work in fractals and started the <a href="http://flam3.com/" title="Flam3">Flam3</a>, <a href="http://electricsheep.org/" title="Electric Sheep">Electric Sheep</a> and <a href="http://hifidreams.com/" title="Dreams in High Fidelity">Dreams in High Fidelity</a> projects, all of which are quite influential on my work, both in fractals and in other computational arts.</p>
<p>Not all of his work has been focused on fractals, but many of his idea&#8217;s share similarities with them. One example of this are his <a href="http://draves.org/dub/" title="Dub Visuals">Dub Visuals</a> which take chaotic still images and morph them, to form other still images in a flow similar to that of the evolution of his fractal animations.</p>
<p>I have previously done fractal animations where they are synced with music, both music performed by another artist and music that I have composed myself. However, this hasn&#8217;t been done in real time and has been a long process to setup each portion of the animation and sync it up with the music. Ultimately, I would love to develop a way of rendering fractals, even low quality or low resolution fractals in real-time based on audio input. Basically this would be combining the work I have done previously with the basic concepts of what I did for KKB210 where I did a series of <a href="http://matthewbrown.net.au/programming/audio-responsive-lines-2/" title="Audio Responsive Lines">lines</a> and <a href="http://matthewbrown.net.au/programming/audio-responsive-particles-3/" title="Audio Responsive Particles">boxes</a> that responded to audio input. The lines one was probably getting close, though ultimately no where near as detailed as I would like it to be, and definitely nowhere near as chaotic and fractal-like as I want.</p>
<p>That is my aim though and hopefully I will get to it sooner or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/misc/fractals-and-influences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KKB211 &#8211; Computational Arts 2</title>
		<link>http://matthewbrown.net.au/misc/kkb211-computational-arts-2/</link>
		<comments>http://matthewbrown.net.au/misc/kkb211-computational-arts-2/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 01:08:30 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[Kelvin Grove]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[kkb211]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[QUT]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/misc/kkb211-computational-arts-2/</guid>
		<description><![CDATA[Last semester this blog was focused on my ongoing computational arts development for my uni work as part of the KKB210 &#8211; Computational Arts 1 subject. This semester, I am moving on to KKB211 &#8211; Computational Arts 2, so again, this blog will be used as an online portfolio of my development in the area [...]]]></description>
			<content:encoded><![CDATA[<p>Last semester this blog was focused on my ongoing computational arts development for my uni work as part of the KKB210 &#8211; Computational Arts 1 subject.</p>
<p>This semester, I am moving on to KKB211 &#8211; Computational Arts 2, so again, this blog will be used as an online portfolio of my development in the area of computational arts. The aim is to develop a series of works by the end of the semester that can be used as exhibition pieces as part of a computational arts exhibition at QUT Kelvin Grove.</p>
<p>It will also act as a process diary to help my keep track of my development and help me filter out the not so good works so I can focus more on the ones that are worth pursuing.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/misc/kkb211-computational-arts-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio Index For KKB210 Assignment 3</title>
		<link>http://matthewbrown.net.au/programming/portfolio-index-for-kkb210-assignment-3/</link>
		<comments>http://matthewbrown.net.au/programming/portfolio-index-for-kkb210-assignment-3/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 11:52:18 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Quartz Composer]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/programming/portfolio-index-for-kkb210-assignment-3/</guid>
		<description><![CDATA[Portfolio Item 1 - Audio Responsive Particles. Portfolio Item 2 - Audio Responsive Lines. Portfolio Item 3 - Kaleidoscope.]]></description>
			<content:encoded><![CDATA[<h3>Portfolio Item 1 -</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/audio-responsive-particles-3/" title="Audio Responsive Particles">Audio Responsive Particles.</a></li>
</ul>
<h3>Portfolio Item 2 -</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/audio-responsive-lines-2/" title="Audio Responsive Lines">Audio Responsive Lines.<br />
</a></li>
</ul>
<h3>Portfolio Item 3 -</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/mouse-controlled-kaleidoscope/" title="Kaleidoscope">Kaleidoscope.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/programming/portfolio-index-for-kkb210-assignment-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing &#8211; Draggable Box</title>
		<link>http://matthewbrown.net.au/programming/processing-draggable-box/</link>
		<comments>http://matthewbrown.net.au/programming/processing-draggable-box/#comments</comments>
		<pubDate>Tue, 27 May 2008 11:46:47 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/programming/processing-draggable-box/</guid>
		<description><![CDATA[Finally had time to start experimenting with things for my KKB210: Computational Arts 1 Assignment 3. For this assignment, we have to write 3 computational artworks. My first experiment is using Java and the Processing development environment. It is based on one of the week 4 exercises we did to create moving boxes that leave [...]]]></description>
			<content:encoded><![CDATA[<p>Finally had time to start experimenting with things for my KKB210: Computational Arts 1 Assignment 3. For this assignment, we have to write 3 computational artworks.</p>
<p>My first experiment is using Java and the Processing development environment. It is based on one of the week 4 exercises we did to create moving boxes that leave a motion trail.</p>
<p>Using this, I have added the mouseX and mouseY inputs to position and resize the box depending on whether the left or right mouse button is clicked.</p>
<p><span id="more-28"></span><br />
At this stage I haven&#8217;t gotten it to save the position and size of the box.</p>
<p>If neither mouse button is clicked, the box will be small and move around the canvas. As soon as either of the mouse buttons are released, the box will fade back to being small and moving around the canvas.</p>
<p>It is available <a href="http://www.matthewbrown.net.au/uploads/processing/draggable_box/" title="A draggable box in Processing">online here</a>.</p>
<pre class="brush: java;">
int x1, x2, y1, y2;

int boxWidth=250;
int boxHeight=250;
int boxX=100;
int boxY=100;

int r=150;
int g=140;
int b=180;

void setup(){
size(500,500);
}

void draw() {
// Setup the background.
fill(0,0,250,10);
rect(0,0,width,height);

// Setup the motion.
x1 = int(random(6)-3);
x2 = int(random(6)-3);
y1 = int(random(6)-3);
y2 = int(random(6)-3);

// Check if the left mouse button is pressed and do the following.
if (mousePressed &amp;&amp; (mouseButton == LEFT)) {
boxX = mouseX;
boxY = mouseY;
boxWidth += x2;
boxHeight += y2;
}
// Check if the right mouse button is pressed and do the following.
else if (mousePressed &amp;&amp; (mouseButton == RIGHT)) {
boxX += x1;
boxY += y1;
boxWidth = mouseX;
boxHeight = mouseY;
}
// If nothing is pressed do the following.
else {
boxX += x1;
boxY += y1;
boxWidth = x2;
boxHeight = y2;
}

// Changing colour assignment.
r += int(random(4)-2);
g += int(random(4)-2);
b += int(random(4)-2);

// Draw the box.
fill(r,g,b);
rect(boxX,boxY,boxWidth,boxHeight);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/programming/processing-draggable-box/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial Index For KKB210 Assignment 2</title>
		<link>http://matthewbrown.net.au/misc/tutorial-index-for-kkb210-assignment-2/</link>
		<comments>http://matthewbrown.net.au/misc/tutorial-index-for-kkb210-assignment-2/#comments</comments>
		<pubDate>Fri, 02 May 2008 01:03:41 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Impromptu]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Quartz Composer]]></category>
		<category><![CDATA[Scheme]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/misc/tutorial-index-for-kkb210-assignment-2/</guid>
		<description><![CDATA[Tutorial 1 &#8211; Week 2 &#8211; Portfolio Setting up the blog portfolio using WordPress. Tutorial 2 &#8211; Week 3 &#8211; Impromptu Introduction to Impromptu. Making a MIDI Based Piano Using Scheme and Impromptu. Making a Drum Machine Using Scheme and Impromptu. Tutorial 3 &#8211; Week 4 &#8211; Processing Introduction to Processing. Drawing a Box in [...]]]></description>
			<content:encoded><![CDATA[<h3>Tutorial 1 &#8211; Week 2 &#8211; Portfolio</h3>
<ul>
<li><a href="http://matthewbrown.net.au/design/kkb210-computational-arts-1-the-blog-portfolio/" title="Settin up the blog portfolio with WordPress">Setting up the blog portfolio using WordPress.</a></li>
</ul>
<h3>Tutorial 2 &#8211; Week 3 &#8211; Impromptu</h3>
<ul>
<li><a href="http://matthewbrown.net.au/software/introduction-to-impromptu/" title="Introduction to Impromptu">Introduction to Impromptu.</a></li>
<li><a href="http://matthewbrown.net.au/programming/making-a-midi-based-piano-using-scheme-and-impromptu/" title="Making a MIDI Based Piano Using Scheme and Impromptu.">Making a MIDI Based Piano Using Scheme and Impromptu.</a></li>
<li><a href="http://matthewbrown.net.au/programming/making-a-drum-machine-using-scheme-and-impromptu/" title="Making a Drum Machine Using Scheme and Impromptu">Making a Drum Machine Using Scheme and Impromptu.</a></li>
</ul>
<h3>Tutorial 3 &#8211; Week 4 &#8211; Processing</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/introduction-to-processing/" title="Introduction to Processing.">Introduction to Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/drawing-a-box-in-processing/" title="Drawing a Box in Processing">Drawing a Box in Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/motion-in-processing/" title="Motion in Processing.">Motion in Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/more-controlled-motion-in-processing/" title="More Controlled Motion in Processing">More Controlled Motion in Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/trails-and-smoother-colour-changes-in-processing/" title="Trails and Smoother Colour Changes in Processing">Trails and Smoother Colour Changes in Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/images-in-processing/" title="Images in Processing">Images in Processing.</a></li>
<li><a href="http://matthewbrown.net.au/programming/tennispong-in-processing/" title="Tennis/Pong in Processing">Tennis/Pong in Processing.</a></li>
</ul>
<h3>Tutorial 4 &#8211; Week 5 &#8211; Flex</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/introduction-to-flex/" title="Introduction to Flex and Moon Buggy">Introduction to Flex and Moon Buggy.</a></li>
</ul>
<h3>Tutorial 5 &#8211; Week 6 &#8211; Pure Data</h3>
<ul>
<li><a href="http://matthewbrown.net.au/programming/introduction-to-pure-data-pd/" title="Introduction to Pure Data">Introduction to Pure Data (Pd).</a></li>
</ul>
<h3>Tutorial 6 &#8211; Week 7 &#8211; Quartz Composer</h3>
<ul>
<li><a href="http://matthewbrown.net.au/software/introduction-to-quartz-composer/" title="Introduction to Quartz Composer">Introduction to Quartz Composer.</a></li>
<li><a href="http://matthewbrown.net.au/software/more-complicated-patching-in-quartz-composer/" title="More Complicated Patching in Quartz Composer">More Complicated Patching in Quartz Composer.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/misc/tutorial-index-for-kkb210-assignment-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to Pure Data (Pd)</title>
		<link>http://matthewbrown.net.au/programming/introduction-to-pure-data-pd/</link>
		<comments>http://matthewbrown.net.au/programming/introduction-to-pure-data-pd/#comments</comments>
		<pubDate>Thu, 01 May 2008 00:03:42 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Pure Data]]></category>
		<category><![CDATA[Quartz Composer]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/programming/introduction-to-pure-data-pd/</guid>
		<description><![CDATA[Pure Data (Pd) is a real-time graphical programming environment based on Max/MSP. It uses patches to write audio, video and graphical programs and can be used for computational arts. The aim of the week 6 KKB210: Computational Arts 1 tutorial is to take the provided example, audio-scrubbing.pd to change the playback speed randomly every 100 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://puredata.info/" title="Pure Data">Pure Data (Pd)</a> is a real-time graphical programming environment based on Max/MSP. It uses patches to write audio, video and graphical programs and can be used for computational arts.</p>
<p><span id="more-27"></span></p>
<p>The aim of the week 6 KKB210: Computational Arts 1 tutorial is to take the provided example, audio-scrubbing.pd to change the playback speed randomly every 100 milliseconds. I had a lot of trouble with this, not because it is difficult to do, but because I could not get it to run stably on my own computer.</p>
<p>Pd crashes on my computer at varying intervals and there does not seem to be any relation between any of the crashes. Since I won&#8217;t be able to work on this on my own computer, and only on the lab computers, I have decided I definitely won&#8217;t be using this for my three main works for assignment 3.</p>
<p>Whilst working on this exercise in the lab, I found that Pd was quite simple to use, though, after working in <a href="http://matthewbrown.net.au/software/introduction-to-quartz-composer/" title="Introduction to Quartz Composer">Quartz Composer</a> in the following tutorial, Quartz is definitely a nicer patching program to use, though I am not sure how they compare as far as limitations go.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/programming/introduction-to-pure-data-pd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Flex</title>
		<link>http://matthewbrown.net.au/programming/introduction-to-flex/</link>
		<comments>http://matthewbrown.net.au/programming/introduction-to-flex/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:55:22 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[MXML]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/programming/introduction-to-flex/</guid>
		<description><![CDATA[Adobe Flex is similar to Flash in that both of them use the same graphics engine and they both allow you to use Actionscript. However, Flex is free, open source, and is written using MXML. It consists of Actionscrupt libraries that give access to the Flash drawing engine and a compiler, however, rather than compiling [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/products/flex/" title="Adobe Flex">Adobe Flex</a> is similar to Flash in that both of them use the same graphics engine and they both allow you to use Actionscript.</p>
<p>However, Flex is free, open source, and is written using MXML. It consists of Actionscrupt libraries that give access to the Flash drawing engine and a compiler, however, rather than compiling through the development environment such as in flash, it is done via the command line. Flash is also based more around the time line than Flex.</p>
<p>Flex has similarities to HTML and to my understanding is based on XML, so most of it seems fairly easy to read to me. The Actionscript files are virtually the same as the appearance of the Actionscript files you would use in Flash.</p>
<p><span id="more-25"></span></p>
<p>The exercise in the KKB210: Computational Arts 1 week 5 tutorial is based around a &#8220;Moon Buggy&#8221; and making it jump. We were provided with the basis of it with an Actionscript file, an mxml file and a swf file of what the final solution should look like.</p>
<p>Initially, the buggy moves across the screen, what we have to do though is to make it jump whenever the user clicks with the mouse.</p>
<p>The <a href="http://livedocs.adobe.com/flex/3/langref/index.html" title="Flex Documentation">documentation on the Adobe site</a> is quite useful and explanatory, though it does take a bit of sifting to find what we need.</p>
<p>We didn&#8217;t need to make any changes to the mxml file, but the Actionscript was another story.</p>
<p>We end up with a Actionscript file that looks like this:</p>
<pre class="brush: java;">

package
{
import mx.core.UIComponent;
import flash.events.MouseEvent;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;

public class MoonPatrolGame extends UIComponent
{
private var backgroundLoader:Loader;
private var middlegroundLoader:Loader;
private var foregroundLoader:Loader;
private var buggyLoader:Loader;
private var verticalSpeed:int;
private var groundLevel:int;

public function MoonPatrolGame() {

// Call the constructor for the superclass UIComponent
super();

// Load the images for the buggy, the foreground, midddleground and background
backgroundLoader = new Loader();
middlegroundLoader = new Loader();
foregroundLoader = new Loader();
buggyLoader = new Loader();
backgroundLoader.load(new URLRequest(&quot;.uploads/flex/MoonPatrolSimple/img/background.png&quot;));
middlegroundLoader.load(new URLRequest(&quot;.uploads/flex/MoonPatrolSimple/img/middleground.png&quot;));
foregroundLoader.load(new URLRequest(&quot;.uploads/flex/MoonPatrolSimple/img/foreground.png&quot;));
buggyLoader.load(new URLRequest(&quot;.uploads/flex/MoonPatrolSimple/img/buggy.png&quot;));

}

public function initialiseGame():void {

// buggy is at groundLevel
buggyLoader.y = 375;

// The buggy stays in the centre
buggyLoader.x = (width / 2) - (buggyLoader.content.width / 2);

// We want to update every frame so we add a listener for ENTER_FRAME events
addEventListener(Event.ENTER_FRAME, drawGame);

// Check for a mouse click
addEventListener(MouseEvent.CLICK, clickCallback);

// Add the background, middleground, foreground and buggy objects to the display list
addChild(backgroundLoader);
addChild(middlegroundLoader);
addChild(foregroundLoader);
addChild(buggyLoader);

// These variables are for making the buggy jump up in the air
verticalSpeed = 0;         // this is the rate at which the buggy is moving upwards (in pixels per frame)
groundLevel = 375;        // this is the y-value of the ground level
}

public function drawGame(event:Event):void {

// Move the background, middleground and foreground at different rates
backgroundLoader.x = backgroundLoader.x - 1;
middlegroundLoader.x = middlegroundLoader.x - 2;
foregroundLoader.x = foregroundLoader.x - 4;

// This makes the the buggy move up and down according to it's vertical speed
if (buggyLoader.y &gt; groundLevel) {
buggyLoader.y = groundLevel;
verticalSpeed = 0;
}
buggyLoader.y = buggyLoader.y - verticalSpeed;
verticalSpeed = verticalSpeed - 1;
}

// This gets called when the mouse is clicked
public function clickCallback(event:MouseEvent):void {
buggyLoader.y = groundLevel - 1;
verticalSpeed = 20;
}

}
}
</pre>
<p>To see it in action, have a look at <a href="http://matthewbrown.net.au/uploads/flex/MoonPatrolSimple/MoonPatrol.swf" title="Flex MoonPatrol SWF">the .SWF here</a>. The <a href="http://matthewbrown.net.au/uploads/flex/MoonPatrolSimple/MoonPatrol.mxml" title="Flex MoonPatrol MXML">.mxml is available here</a>, and the <a href="http://matthewbrown.net.au/uploads/flex/MoonPatrolSimple/MoonPatrolGame.as" title="Flex MoonPatrol Actionscript">.as is available here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/programming/introduction-to-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Complicated Patching in Quartz Composer</title>
		<link>http://matthewbrown.net.au/software/more-complicated-patching-in-quartz-composer/</link>
		<comments>http://matthewbrown.net.au/software/more-complicated-patching-in-quartz-composer/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 21:10:35 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Marilyn]]></category>
		<category><![CDATA[Quartz Composer]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/software/more-complicated-patching-in-quartz-composer/</guid>
		<description><![CDATA[The second exercise of the week 7 KKB210: Computational Arts 1 tutorial was to have a look at a couple of files, cube-marilyn.qtz and 5-marilyn.qtz and effectively combine the two. The first file, cube-marilyn.qtz has a rotating cube, with a single Marilyn image on each side similar to what we had to make in the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://matthewbrown.net.au/wp-content/uploads/2008/05/marilyn-cube.png" title="The root macro patch for the rotating Marilyn Cube in Quartz Composer."><img src="http://matthewbrown.net.au/wp-content/uploads/2008/05/marilyn-cube.thumbnail.png" alt="The root macro patch for the rotating Marilyn Cube in Quartz Composer." class="alignright" /></a>The second exercise of the week 7 KKB210: Computational Arts 1 tutorial was to have a look at a couple of files, <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/cube-marilyn.qtz" title="Rotating cube in Quartz Composer">cube-marilyn.qtz</a> and <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/5-marilyn.qtz" title="Filtered Marilyn image in Quartz Composer">5-marilyn.qtz</a> and effectively combine the two. The first file, cube-marilyn.qtz has a rotating cube, with a single Marilyn image on each side similar to what we had to make in <a href="http://matthewbrown.net.au/design/introduction-to-quartz-composer/" title="Introduction to Quartz Composer.">the first exercise</a>, except that it has two extra interpolations, so it now has one for each axis that it can rotate on. It also has a different duration on each axis, so it creates the appearance of changing speed. The second file, 5-marilyn.qtz contains a grid of four Marilyn images. They are all the same original image, but each of the four runs variations of exposure adjustments, gamma adjustments, alpha masks, colour inverts and other effects.</p>
<p><span id="more-22"></span></p>
<p><a href="http://matthewbrown.net.au/wp-content/uploads/2008/05/marilyn-cube-patch.png" title="Render in Image macro patch in Quartz Composer for the rotating Marilyn cube."><img src="http://matthewbrown.net.au/wp-content/uploads/2008/05/marilyn-cube-patch.thumbnail.png" alt="Render in Image macro patch in Quartz Composer for the rotating Marilyn cube." class="alignright" /></a>Now, the actual exercise is to  take the image variations from the grid of the second file and apply them to each side of the rotating cube in the first. So each side of it will have the same four images with all of the effects and so on applied to them.</p>
<p>For me, rather than playing around with it, the best way to do this was to look at how each of the images had been done on the second file and then apply the same things to the images on the cube. It could easily enough be done using different effects on each side as well as each image, by duplicating the &#8220;Render in Image&#8221; patch a few times and applying each one to a different side (rather than the same one to each side), and then editing the image effects for each one individually.</p>
<p>The full size screenshots of the macro patches are available by clicking the above thumbnails. The <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/cube-marilyn-done.qtz" title="Rotating Marilyn Cube in Quartz Composer.">.qtz file is available here</a>, and the <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/cube-marilyn-done.mov" title="Rotating Marilyn Cube Quicktime Movie.">Quicktime movie is available here</a>. There is one thing not shown in the above screenshots. When you double click the Render in Image patch, it takes you to four Macro Patches. These patches are the ones that contain the information in the second screenshot above. Each one of them applies to a different image in the grid.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/software/more-complicated-patching-in-quartz-composer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.matthewbrown.net.au/uploads/quartz/marilyn/cube-marilyn-done.mov" length="241913" type="video/quicktime" />
		</item>
		<item>
		<title>Introduction to Quartz Composer</title>
		<link>http://matthewbrown.net.au/software/introduction-to-quartz-composer/</link>
		<comments>http://matthewbrown.net.au/software/introduction-to-quartz-composer/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 21:05:35 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Marilyn]]></category>
		<category><![CDATA[Quartz Composer]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/software/introduction-to-quartz-composer/</guid>
		<description><![CDATA[During week 7 of KKB210: Computational Arts 1, we were introduced to Quartz Composer. Quartz Composer uses patches to create a composition framework of audio and video through different classes and protocols. Our first exercise was to make a rotating cube and apply the provided Marilyn painting to each side in a different colour. This [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://matthewbrown.net.au/wp-content/uploads/2008/05/rotating-cube.png" title="Quartz Composer Exercise 1, Rotating Cube"><img src="http://matthewbrown.net.au/wp-content/uploads/2008/05/rotating-cube.thumbnail.png" alt="Quartz Composer Exercise 1, Rotating Cube" class="alignright" /></a>During week 7 of KKB210: Computational Arts 1, we were introduced to <a href="http://developer.apple.com/documentation/GraphicsImaging/Conceptual/QuartzComposer/qc_intro/chapter_1_section_1.html" title="Quartz Composer Apple Guide">Quartz Composer</a>. Quartz Composer uses patches to create a composition framework of audio and video through different classes and protocols.</p>
<p>Our first exercise was to make a rotating cube and apply the provided Marilyn painting to each side in a different colour. This was reasonably easy as the colours could all be controlled just by changing the settings in the cube Patch Inspector.</p>
<p><span id="more-20"></span></p>
<p>We simply had to create the cube, apply an interpolation to it, and add an image importer that sent the image to each side of the cube. After entering the cube Patch Inspector, each side could have it&#8217;s colour quickly and easily changed and appear through the image of Marilyn.</p>
<p>The <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/warhol1.qtz" title="Quartz Composer exercise 1 .qtz file.">.qtz file is available here</a> and the <a href="http://www.matthewbrown.net.au/uploads/quartz/marilyn/warhol1.mov" title="Quartz Composer exercise 1 Quicktime Movie">Quicktime movie is available here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/software/introduction-to-quartz-composer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.matthewbrown.net.au/uploads/quartz/marilyn/warhol1.mov" length="226032" type="video/quicktime" />
		</item>
		<item>
		<title>Tennis/Pong in Processing</title>
		<link>http://matthewbrown.net.au/programming/tennispong-in-processing/</link>
		<comments>http://matthewbrown.net.au/programming/tennispong-in-processing/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 11:23:43 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Casey Reas]]></category>
		<category><![CDATA[computational arts]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[kkb210]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://matthewbrown.net.au/programming/tennispong-in-processing/</guid>
		<description><![CDATA[As the final part of the week 4 KKB210: Computational Arts 1 tutorial, we were provided with a copy of the source code for a sketch/program/challenge that was originally written by Casey Reas. It is based on Pong, though it only partially works, as the challenge is to make it work completely. We did not [...]]]></description>
			<content:encoded><![CDATA[<p>As the final part of the week 4 KKB210: Computational Arts 1 tutorial, we were provided with a copy of the source code for a sketch/program/challenge that was originally written by Casey Reas. It is based on Pong, though it only partially works, as the challenge is to make it work completely.</p>
<p>We did not work on the challenge in class, instead we looked at bringing in a picture to use as the background and creating tints.</p>
<p><span id="more-19"></span></p>
<p>I won’t put up the full source code here, you will have to have a look at <a href="http://matthewbrown.net.au/uploads/processing/tennis/index.html" title="Tennis/Pong in Processing">the Java applet</a> for all of it, but I will have a look at how to do tints.</p>
<p>Tints are really quite easy to implement. They work the same way as fill works for a rect object, except that it tints the colour of the photo to whatever you specify.</p>
<p>So, the syntax is the same as fill(), it is tint(red,green,blue,alpha).</p>
<p>When using it, it looks like this:</p>
<pre class="brush: java;">
tint(0,153,204,100);
image(laptop,0,0,width,height);
</pre>
<p>From what I learned earlier in the other parts of the tutorial, it was pretty easy to figure out how to put in the image as the background.</p>
<p>As you would have noticed with fill, by using the alpha channel, you can modify the opacity, so if you were to change the fourth tint() parameter to say 10, it gives the ball and paddles trails. This can of course be adjusted to a suitable length simply by changing the level of opacity.</p>
<p>Have a look at <a href="http://matthewbrown.net.au/uploads/processing/tennis/index.html" title="Tennis/Pong in Processing">the Java applet</a>.</p>
<p>Note, only one paddle works.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewbrown.net.au/programming/tennispong-in-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

