<?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>Blog &#187; 3D</title>
	<atom:link href="http://www.harrynorthover.com/blog/category/3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.harrynorthover.com/blog</link>
	<description>The Blog of Creative Developer Harry Northover, covering a wide range of topics related to creative development.</description>
	<lastBuildDate>Wed, 11 May 2011 21:54:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Review: Away3D 3.6 Essentials.</title>
		<link>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/</link>
		<comments>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/#comments</comments>
		<pubDate>Wed, 11 May 2011 21:54:26 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=985</guid>
		<description><![CDATA[Over the last few weeks I have been working my way through Away3D 3.6 Essentials written by Matthew Casperson. This is a really good book to get if your interested in learning 3D in Flash as it covers everything from &#8230; <a href="http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the las<a href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank"><img class="alignleft" title="Away3D 3.6" src="http://i18.fastpic.ru/big/2011/0318/34/e543b83bcf4bb3743012030fa7d59634.jpg" alt="" width="219" height="271" /></a>t few weeks I have been working my way through <a href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank">Away3D 3.6 Essentials</a> written by Matthew Casperson. This is a really good book to get if your interested in learning 3D in Flash as it covers everything from basic 3D concepts to creating full 3d scenes using the Away3D engine.</p>
<p>The book starts of with a fairly in-depth introduction into how to get started with Away3D by teaching you how to check out the library using SVN, get it set up in Flash Builder or Flash CS4 and even covers using FlashDevelop. The book then moves on to explain the basic components of the Away3D engine such as Camera3D, Scene3D &amp; View3D. It even provides you with a basic template class to get you started ASAP.</p>
<p>Once you&#8217;ve mastered this step, the next thing covered is basic 3D concepts like 3D positioning, vertices, faces, coordinates and primitive shapes. A basic explanation of all the primitives available in Away3D is given and what properties can be applied to them.</p>
<p>With this mastered the next chapter covers moving 3D objects in 3D space. Coordinates systems are covered including explanations of world, parent and local space (each with code examples) and other functions such as the moveForward/Backward/etc() functions are covered. Then tweening with library&#8217;s such as TweenLite is covered. When you have finished this chapter you&#8217;ll be completely familiar with all the animation methods the Away3D library offers you to manipulate and animate objects in you scene.</p>
<p>The next topic covered is z-sorting and has an entire chapter dedicated to it. This covers the default method of z-sorting that Away3D uses, an in-depth explanation of how your 3D scene is sorted, how to edit and adjust the sorting of 3D objects and what additional renderers are offered by Away3D.</p>
<p>After this the extensive subject of Materials is covered. All the different types of materials such as <em>WireframeMaterial, </em><em>AnimatedBitmapMaterial </em>and many others are covered, as well as the Pixel Bender based ones such as the <em>Dot3BitmapMaterialF10. </em>Different kinds of mapping such as texture and environment are covered and also a brief explanation and code sample of how to apply each different material.  A useful table of all the supported colours and what materials support what lighting techniques is provided.</p>
<p>Models &amp; Animation is the next topic covered with an introduction to loading 3D models in to your scene, what different file types are supported and a brief explanation on how to export models in certain 3D packages. An explanation of what types of cameras are available, their differences and effects as well as mouse interactivity.</p>
<p>After this mouse interactivity, 3D text, special effects and performance issues are covered. Each chapter following the same as the ones already mentioned with a good selection of code samples provided and an in-depth explanation. Overall this book gives you everything you need to get started with the Away3D engine, and the good thing is it can be used by people who are already familiar with Away3D but what to learn more. A good understanding of Actionscript 3 is obviously required, but I highly recommend this book the anyone looking to get a good understanding of Away3D.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3D 3.6 Essentials</title>
		<link>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/</link>
		<comments>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 18:14:30 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=980</guid>
		<description><![CDATA[Packt Publishing just launched a new book on Away3D 3.6 written by Matthew Casperson. This book covers everything you need to get started with the 3D engine, including: Draw primitive shapes such as cubes, cones, spheres, and planes without having &#8230; <a href="http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Packt Publishing just launched a <a title="Away3D 3.6 Essentials" href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank">new book</a> on Away3D 3.6 written by Matthew Casperson.</p>
<p>This book covers everything you need to get started with the 3D engine, including:</p>
<ul>
<li>Draw primitive shapes such as cubes, cones, spheres, and planes without having to manually construct them from their basic elements</li>
<li>Add eye-catching special effects to your Away3D application</li>
<li>Warp, curve, modify, and bend 3D text to your will</li>
<li>Focus the Camera and view 3D objects from all angles</li>
<li>Improve mouse interactivity in your 3D application</li>
<li>Integrate third-party libraries such as TweenLite and Stardust with Away3D to animate 3D objects and create particle effects</li>
<li>Use sprites and sprite classes</li>
<li>Utilize the power of Pixel Bender for image processing</li>
<li>Export 3D models from 3D modeling applications such as 3ds Max, Blender, MilkShape, and Sketch-Up</li>
<li>Get practical tips on achieving maximum performance in your 3D applications</li>
</ul>
<p>The book is mainly aimed at beginners with a good first chapter on 3D basics and terminology.</p>
<p>I will be posting a more in depth review later on, but if anyone else has this book let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A basic Javascript 3D Renderer</title>
		<link>http://www.harrynorthover.com/blog/2010/11/19/a-basic-javascript-3d-renderer/</link>
		<comments>http://www.harrynorthover.com/blog/2010/11/19/a-basic-javascript-3d-renderer/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 21:09:19 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=929</guid>
		<description><![CDATA[Updated: New Demo added. Since playing around with Three.js and Javascript in general I was inspired to go ahead and understand how the 3D magic works, so I created my own basic 3D engine. It is by no means comparable &#8230; <a href="http://www.harrynorthover.com/blog/2010/11/19/a-basic-javascript-3d-renderer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated: New Demo added. </strong></p>
<p>Since playing around with <a href="http://mrdoob.com/blog/post/693" target="_blank">Three.js</a> and Javascript in general I was inspired to go ahead and understand how the 3D magic works, so I created my own basic 3D engine. It is by no means comparable to Three.js, it can just draw particles, lines and boxes, so all good fun <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I recreated the demo below <strong>using my own engine</strong> and here is the result.<br />
<a href="http://projects.harrynorthover.com/canvas3d/test/drawCirclesDemo/"><img class="alignleft size-full wp-image-930" title="3D Circle Drawing" src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-19.01.55.png" alt="" width="729" height="575" /></a></p>
<p><strong>How it works.</strong><br />
The first thing I did was to create a Canvas based renderer that took a 3D point, converted it to 2D then drew it on to the canvas. This then later expanded to being able to draw lines in 3D and now 3D planes. All of this is demonstrated in the examples below.</p>
<p>Once I had got the basics working, I added camera and scene functionality, although the camera has no actual camera functionality yet, that is coming when I can get my head around this transformation matrix stuff. <a href="http://afrocityblog.files.wordpress.com/2009/05/wtf-logo-big.jpg" rel="lightbox[929]">This is all I&#8217;m getting at the moment. </a></p>
<p>Then I added some basic primitives and 3D objects like Particles and a Cube, with a basic RGB material for starters.</p>
<p><strong>Demos.</strong><br />
<a href="http://projects.harrynorthover.com/canvas3d/test/planeDemo/"><img class="alignleft size-full wp-image-936" title="Plane Demo" src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-20.36.44.png" alt="Plane Demo" width="769" height="154" /></a></p>
<p><a href="http://projects.harrynorthover.com/canvas3d/test/randomLinesDemo/"><img class="alignleft size-full wp-image-937" title="Screen shot 2010-11-19 at 20.37.34" src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-20.37.34.png" alt="" width="984" height="154" /></a></p>
<p><a href="http://projects.harrynorthover.com/canvas3d/test/cubeDemo/"><img src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-20-at-14.08.34.png" alt="" title="Screen shot 2010-11-20 at 14.08.34" width="867" height="154" class="alignleft size-full wp-image-952" /></a></p>
<p><a href="http://projects.harrynorthover.com/canvas3d/test/linesAndCircles/"><img src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-20-at-13.57.40.png" alt="" title="Lines Demo" width="853" height="154" class="alignleft size-full wp-image-950" /></a></p>
<p>Granted, these demos are exciting at all and have been done 1000&#8242;s of times before, but I&#8217;m pleased that I&#8217;ve managed to get this far! There is so much more that I can add to make this a properly fully functional 3D Javascript engine.</p>
<p>At the moment the only available renderer is just using Canvas and I would like to add a WebGL renderer in the future.</p>
<p>If anyone knows of any good articles/resources on 3D math then I&#8217;d greatly appreciate a comment with a link!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2010/11/19/a-basic-javascript-3d-renderer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Messing with HTML 5 Canvas &amp; Three.js</title>
		<link>http://www.harrynorthover.com/blog/2010/11/14/messing-with-html-5-canvas-three-js/</link>
		<comments>http://www.harrynorthover.com/blog/2010/11/14/messing-with-html-5-canvas-three-js/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 20:39:16 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=913</guid>
		<description><![CDATA[Whilst building my new site, I have picked up quite a love for Javascript, so I decided to start doing more exciting stuff with it instead of just front end for work my CMS. I started of playing around with &#8230; <a href="http://www.harrynorthover.com/blog/2010/11/14/messing-with-html-5-canvas-three-js/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Whilst building my new site, I have picked up quite a love for Javascript, so I decided to start doing more exciting stuff with it instead of just front end for work my CMS. I started of playing around with canvas and quickly got some cool 2D stuff going on, and then decided to give <a href="http://mrdoob.com/" target="_blank">Mr. Doobs</a> <a href="http://mrdoob.com/blog/post/693" target="_blank">Three.js</a> a try, which turned out to be pretty awesome.</p>
<p>I went ahead and built a little demo based on my first 2D experiment with canvas.<br />
<a href="http://projects.harrynorthover.com/3dcircles/html/"><img class="alignleft size-full wp-image-914" title="Circles" src="http://www.harrynorthover.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-14-at-15.36.59.png" alt="" width="796" height="598" /></a></p>
<p>It&#8217;s fairly simple but it gave me a good idea of the Three.js 3D engine and I highly recommend anyone who wants something different to play around with, have a go with it. The code for the demo above is below.</p>
<p><strong>3d.js:</strong></p>
<pre lang="javascript">// 3d vars.
var camera;
var scene;
var renderer;

// size
var WIDTH 				= 800;
var HEIGHT 				= 600;

var circleColours 		= [0x0099CC, 0xCCCCCC, 0x9900CC];
var colourIndexToUse 	= 0;
var fadeAmount 			= 0.0000000005;

// used to tell when to draw.
var shouldDraw 			= false;

// mouse coordinates.
var mouseX;
var mouseY;

setInterval( invalidate, 10 );

function init() {
	camera 					= new THREE.Camera( 75, WIDTH / HEIGHT, 1, 10000 );
	scene 					= new THREE.Scene();
	renderer 				= new THREE.CanvasRenderer();
	renderer.setSize( WIDTH, HEIGHT );

	camera.position.z 		= 700;
	document.body.appendChild( renderer.domElement );
}

function invalidate()
{
	if(shouldDraw) draw();
	// fade all the current circles.
	fade();
	// render it all.
	renderer.render( scene, camera );
}

function draw() {
	 for(var i = 0; i &lt; 5; ++i)
	 {
		 var particle 			= new THREE.Particle( new THREE.ParticleCircleMaterial( circleColours[colourIndexToUse], Math.random() ) );
		 particle.position.x 	= i == 0 ? mouseX - 500 : mouseX - 500 * (Math.random() * 1.5);
		 particle.position.y 	= i == 0 ? mouseY - 500 : mouseY - 500 * (Math.random() * 1.5);
		 particle.position.z 	= mouseX * Math.random();
		 particle.scale.x 		= i == 0 ? particle.scale.y = Math.random() * 50 : particle.scale.y = Math.random() * 5;
	     scene.addObject( particle );
	 }
}

/*
 * This fades all the existing objects in the scene.
 */
function fade() {
	for(var i = 0; i &lt; scene.objects.length; ++i)
	{
		var prevAlpha = scene.objects[i].material[0].color.a;
		if(prevAlpha != 0)
		{
			var newMat 						= new THREE.ParticleCircleMaterial( circleColours[colourIndexToUse], prevAlpha - fadeAmount );
			scene.objects[i].material[0] 	= newMat;
		}
		else scene.removeObject(scene.objects[i]);
	}
}

function setMousePosition(x, y)
{
	mouseX 				= x;
	mouseY 				= y;

	camera.position.x 	+= (mouseX - camera.position.x) * .045;
	camera.position.y 	+= (-mouseY - camera.position.y) * .045;
}

jQuery(document).ready(function() {
	$('canvas').mousemove(function(e) { setMousePosition(e.pageX, e.pageY); } );
	$('canvas').mousedown(function(e) { shouldDraw = true;  } );
	$('canvas').mouseup(function(e)   { shouldDraw = false; } );
});

init();</pre>
<p>For those looking for more resources in regards to getting started with the whole HTML5/Canvas and also Three.js here&#8217;s some good ones:</p>
<ul>
<li><strong>Mozilla Canvas Tutorial</strong> &#8211; <a href="https://developer.mozilla.org/en/canvas_tutorial" target="_blank">https://developer.mozilla.org/en/canvas_tutorial</a></li>
<li><strong>Dive Into HTML5,</strong> A great guide giving you an insight into a lot of the new features of HTML5 &#8211; <a href="http://diveintohtml5.org/" target="_blank">http://diveintohtml5.org/</a></li>
<li><strong>Opera Canvas Guide,</strong> Similar to the Mozilla article, very straight forward &#8211; <a href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/" target="_blank">http://dev.opera.com/articles/view/html-5-canvas-the-basics/</a></li>
</ul>
<p>Have Fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2010/11/14/messing-with-html-5-canvas-three-js/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unity3D Indy &gt; Untiy (Free for all!)</title>
		<link>http://www.harrynorthover.com/blog/2009/11/04/unity3d-indy-untiy-free-for-all/</link>
		<comments>http://www.harrynorthover.com/blog/2009/11/04/unity3d-indy-untiy-free-for-all/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 22:39:20 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=836</guid>
		<description><![CDATA[Yup that&#8217;s right, Unity Indy is now free and has simply been renamed Unity. Go on over and download it free of charge here.]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="10">
<tbody>
<tr>
<td><a href="http://unity3d.com/#freeunity"><img class="alignleft" title="Unity " src="http://www.geeks3d.com/public/jegx/200807/unity.jpg" alt="" width="229" height="126" /></a></td>
<td valign="top">Yup that&#8217;s right, Unity Indy is now free and has simply been renamed <a href="http://unity3d.com/" target="_blank">Unity</a>.</p>
<p>Go on over and download it free of charge <a href="http://unity3d.com/unity/download/" target="_blank">here</a>.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/11/04/unity3d-indy-untiy-free-for-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspirational Work &#8211;  &#8220;No Keyframes&#8221;</title>
		<link>http://www.harrynorthover.com/blog/2009/09/05/inspirational-work-no-keyframes/</link>
		<comments>http://www.harrynorthover.com/blog/2009/09/05/inspirational-work-no-keyframes/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 18:44:52 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Motion Graphics/VFX]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Motion Graphics]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=804</guid>
		<description><![CDATA[This piece found its way to me through Twitter, and it&#8217;s simple awesome! The piece is called &#8220;No Keyframes&#8221;, and was created by AixSponza. The software used was Cinema4D R11.5 and MoGraph 2 but apparently there is more infomation on &#8230; <a href="http://www.harrynorthover.com/blog/2009/09/05/inspirational-work-no-keyframes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This piece found its way to me through <a href="http://www.twitter.com/harrynorthover" target="_blank">Twitter</a>, and it&#8217;s simple awesome! The piece is called &#8220;No Keyframes&#8221;, and was created by AixSponza. The software used was <a href="http://www.maxon.net/products/cinema-4d.html" target="_blank">Cinema4D R11.5</a> and <a href="http://www.mograph.net/" target="_blank">MoGraph 2</a> but apparently there is more infomation on the piece coming soon.</p>
<p>Just click on the picture to view the piece.</p>
<p><a href="http://www.maxon.net/home/quicklinks/aixsponza-no-keyframes.html" target="_blank"><img class="alignleft size-full wp-image-805" title="No Keyframes" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/09/No-Keyframes.jpg" alt="No Keyframes" width="612" height="400" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/09/05/inspirational-work-no-keyframes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting Started with Augmented Reality (FLARToolkit).</title>
		<link>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/</link>
		<comments>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 22:50:34 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FLARToolkit]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=680</guid>
		<description><![CDATA[If you have been following me on Twitter, then you may have noticed that I have been getting into Augmented Reality. This is the coolest thing I have seen in a long time! Now if you don&#8217;t know what this &#8230; <a href="http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have been following <a href="http://www.twitter.com/harrynorthover" target="_blank">me on Twitter</a>, then you may have <a href="http://twitter.com/harrynorthover/status/1493666316" target="_blank">noticed</a> that I have been <a href="http://twitter.com/harrynorthover/status/1505193808" target="_blank">getting</a> into <a href="http://en.wikipedia.org/wiki/Augmented_reality" target="_blank">Augmented Reality</a>. This is the <strong>coolest</strong> thing I have seen in a long time! Now if you don&#8217;t know what this is, then it is a means of mapping 3D objects to a marker in the real world through a web cam.</p>
<p>Here is a simple guide to getting setup using the Augmented Reality in Flash. This includes downloading the library&#8217;s and then getting a simple demo up and running.</p>
<p>The name of the library used for Augmented Reality in Flash is called <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank">FLARToolkit</a> which is developed by Saqoosha. It is a port of the <a href="http://www.hitl.washington.edu/artoolkit/" target="_blank">ARToolkit</a> which is written in C. You can download it from <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank">here</a> through SVN. If you haven&#8217;t got a SVN client setup then I highly recommend <a href="http://www.syntevo.com/smartsvn/index.html" target="_blank">SmartSVN</a> which is a free client and I must thank <a href="http://richardleggett.co.uk/blog/" target="_blank">Richard Leggett</a> for <a href="http://twitter.com/richardleggett/statuses/1489494390" target="_blank">recommending</a> this to me!</p>
<p>Now once you have got the code, add it to your global Actionscript folder, then print out this <a href="http://www.harrynorthover.com/files/flash/ar/assets/Marker.jpg" target="_self" rel="lightbox[680]">marker</a> and run the example. You can either compile the source in the &#8216;src&#8217; folder or just run the SWF in the &#8216;bin-debug&#8217; folder. Hopefully this gives you a idea of what AR/FLARToolkit is all about.</p>
<p>If you can run the example yourself, here is a video of it in action.</p>
<p><object width="612" height="486" data="http://vimeo.com/moogaloop.swf?clip_id=4169730&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4169730&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4169730">FLARToolkit / Augmented Reality Basic Demo.</a> from <a href="http://vimeo.com/user1592225">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I have also written a base class for a FLARToolkit application. It is designed so that all you have to do is override the function &#8216;<em>add3d()</em>&#8216; to add your 3D objects to &#8216;<em>FLAR_Container</em>&#8221; object, and then override another function, &#8216;<em>addAnimation_3d()</em>&#8216; to add the animation. My description here is very brief so read the <em>readme</em> file in the package. You can download the class <a href="http://harry-northover-code-store.googlecode.com/files/FLARBaseClass.zip" target="_self">here</a>. If you want to see how much code this can reduce then here is an example class using the base class:</p>
<pre lang="actionscript3">package
{
	import com.harrynorthover.ar.flar.base.FLARSingleMBase;

	import flash.filters.BlurFilter;

	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.primitives.Cube;

	[SWF(width="640", height="480", frameRate="30", backgroundColor="#FFFFFF")]

	public class Demo_BaseClass_Test extends FLARSingleMBase
	{
		private var cube:Cube;

		public function Demo_BaseClass_Test()
		{
			/*This is the function 'Init' you need to call to setup the FLARToolkit scene.
			     WIDTH, HEIGHT, FRAMERATE*/
			Init(640,   480,    30);
		}

		/*
		...
		This function is the one you need to override
		to add things to your 3D scene.
		*/

		override protected function add3D():void
		{
			// Add you 3D stuff here. The more the better <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
			var pl:PointLight3D = new PointLight3D();
			pl.z = -1000;
			pl.y = 1000;
			pl.x = 1000;
			pl.flipped = true;	

			//var blurFilter:BlurFilter = new BlurFilter(24, 12, 1);
			var matList:MaterialsList = new MaterialsList();
			var fsm:FlatShadeMaterial = new FlatShadeMaterial(pl);

			matList.addMaterial(fsm, "all");

  			cube = new Cube(matList, 60, 60, 60, 5, 5, 5);
  			//cube.useOwnContainer = true;
  			//cube.filters = [blurFilter];

  			// FLAR_Container is the FLARBaseNode that you
  			// add your 3D objects to.
	        FLAR_Container.addChild(cube);
		}

		/*
		...
		This is the function to which you override to add
		your 3D animation.
		*/

		override protected function addAnimation_3d():void
		{
			//Add you animation here.
			cube.yaw(10);
		}
	}
}</pre>
<p>See? Lots of code that has been got rid of!</p>
<h3>Other demos I have been working on are here:</h3>
<p><strong>FLAR + Lines3D</strong>:</p>
<p><object width="612" height="459" data="http://vimeo.com/moogaloop.swf?clip_id=4172342&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4172342&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4172342">FLARToolkit and Lines3D / Augmented Reality</a> from <a href="http://vimeo.com/user1592225">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><strong>Incorporating <a href="http://code.google.com/p/as3dmod/" target="_blank">AS3DMod</a>:</strong></p>
<p><object width="612" height="459" data="http://vimeo.com/moogaloop.swf?clip_id=4172923&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4172923&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4172923">FLAR + As3DMod</a> from <a href="http://vimeo.com/harrynorthover">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>So there you go, my first few demos. Yes, I know, they are not very special but now I&#8217;m working on getting mutliple markers working and just more advanced demos in general. If you are looking for more advice on how to get set up with FLAR go over to <a href="http://www.mikkoh.com/blog/?p=182" target="_blank">this blog here</a>. This has everything you need to get going. Also, check out <a href="http://www.squidder.com/tag/flartoolkit/" target="_blank">squidder.com for some cool demos</a>.</p>
<p>Happy ARing!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Just a student, with a camera and After Effects + 3DS Max.</title>
		<link>http://www.harrynorthover.com/blog/2009/04/09/just-a-student-with-a-camera-and-after-effects-3ds-max/</link>
		<comments>http://www.harrynorthover.com/blog/2009/04/09/just-a-student-with-a-camera-and-after-effects-3ds-max/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 10:39:37 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Motion Graphics/VFX]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Motion Graphics]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=673</guid>
		<description><![CDATA[This video was made by Tim Smit, who is a dutch student. For the video above, he did most of the work by himself. This mean filming the footage in his local village, adding in the special effects using After &#8230; <a href="http://www.harrynorthover.com/blog/2009/04/09/just-a-student-with-a-camera-and-after-effects-3ds-max/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><object width="580" height="360"><param name="movie" value="http://www.youtube.com/v/IU_reTt7Hj4&#038;hl=en&#038;fs=1&#038;color1=0x2b405b&#038;color2=0x6b8ab6&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IU_reTt7Hj4&#038;hl=en&#038;fs=1&#038;color1=0x2b405b&#038;color2=0x6b8ab6&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"></embed></object></p>
<p>This video was made by Tim Smit, who is a dutch student. For the video above, he did most of the work by himself. This mean filming the footage in his local village, adding in the special effects using After Effects and 3Ds Max and all with a budget of $150! The video is a test movie of his film &#8216;What&#8217;s In The Box&#8217; and the official site can be found <a href="http://www.whatsinthebox.nl/" target="_blank">here</a>.</p>
<p>I&#8217;ve heard that several Hollywood studios have been in contact with him and some are even discussing making his movie!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/04/09/just-a-student-with-a-camera-and-after-effects-3ds-max/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First works of &#8217;09.</title>
		<link>http://www.harrynorthover.com/blog/2009/02/05/first-works-of-09/</link>
		<comments>http://www.harrynorthover.com/blog/2009/02/05/first-works-of-09/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 21:36:45 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Motion Graphics/VFX]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=562</guid>
		<description><![CDATA[You have proabably noticed that i havent blogged myself for quite a while. The main reason for this is that I have been picking up Cinema4D and After Effects Cs4. I am finally starting to get the hang of the &#8230; <a href="http://www.harrynorthover.com/blog/2009/02/05/first-works-of-09/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You have proabably noticed that i havent blogged myself for quite a while. The main reason for this is that I have been picking up Cinema4D and After Effects Cs4. I am finally starting to get the hang of the these pieces of software and its brilliant! This post is mainly to show you some of the work I have done in C4D. I have done 2 different wallpapers.</p>
<p><strong>Desire</strong> / Cinema 4D + Photoshop CS4</p>
<p><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2009/02/desire.jpg" rel="lightbox[562]"><img class="alignnone size-large wp-image-563" title="Desire" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/02/desire-1024x640.jpg" alt="Desire" width="612" height="382" /></a></p>
<p><strong>Passion</strong> / Cinema 4D + Photoshop CS4</p>
<p><a href="http://www.harrynorthover.com/files/images/Passion.jpg" rel="lightbox[562]"><img class="alignnone" title="Passion" src="http://www.harrynorthover.com/files/images/Passion.jpg" alt="" width="612" height="612" /></a></p>
<p>For After Effects I have been creating little scenes with things like moving water which arent really worth posting here, but here is a screenshot of one of them.</p>
<p><strong>3D Ocean</strong> / After Effects.</p>
<p><img class="alignnone size-full wp-image-567" title="3d-ocean-screenshot" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/02/3d-ocean-screenshot.jpg" alt="3d-ocean-screenshot" width="611" height="407" /></p>
<p>So there you go, some of the stuff I have been doing to help me learn these tools. I feel that now my art work has really stepped up a pace now, and hopefully you will agree too <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/02/05/first-works-of-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PaperMash</title>
		<link>http://www.harrynorthover.com/blog/2009/01/10/535/</link>
		<comments>http://www.harrynorthover.com/blog/2009/01/10/535/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 19:43:46 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript 3]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=535</guid>
		<description><![CDATA[Here&#8217;s the first little tech demo of &#8217;09 and I think it is a pretty cool one. The first difference is that it is made with Papervision3D instead of my usual engine choice of Away3D. It also uses a relativly &#8230; <a href="http://www.harrynorthover.com/blog/2009/01/10/535/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.harrynorthover.com/files/flash/papermash/"><img class="alignnone size-full wp-image-559" title="PaperMash" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/01/preview3.jpg" alt="PaperMash" width="612" height="200" /><br />
</a></p>
<p>Here&#8217;s the first little tech demo of &#8217;09 and I think it is a pretty cool one. The first difference is that it is made with Papervision3D instead of my usual engine choice of Away3D. It also uses a relativly new library, <a href="http://www.everydayflash.com/blog/index.php/2008/09/03/as3dmod/" target="_blank">AS3DMod</a>, and works with the 4 most popular engines.  Now this library is a modifier library which can do some really cool stuff, so go on over and check it out.</p>
<p>Now for the demo. It creates a standard plane, then applys a noise and perlin modifier to it. The last thing is to apply a FlatShadeMaterial to the plane and just animate these properties in the enter frame function.</p>
<p>You can download it <a href="http://harry-northover-code-store.googlecode.com/files/PaperMash.zip">here</a>. To view the demo, click on the picture.</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/01/10/535/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3D Jargon Explained (Hopefully)</title>
		<link>http://www.harrynorthover.com/blog/2008/11/02/</link>
		<comments>http://www.harrynorthover.com/blog/2008/11/02/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=262</guid>
		<description><![CDATA[During my time studying 3D I have come accross some rather uguly and complicated terms and have struggled to get my head around them. Now I hopefully have I thought I would start a little jargon buster for all the &#8230; <a href="http://www.harrynorthover.com/blog/2008/11/02/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>During my time studying 3D I have come accross some rather uguly and complicated terms and have struggled to get my head around them. Now I hopefully have I thought I would start a little jargon buster for all the terms and phrase I come along. So here it is for now:</p>
<p><strong>Vector</strong> – This is an object that properties consist of a direction, length, sense that is aligned with the direction. To understand sense, take the example of a water pipe. The pipe is going along in one direction but the water (or sense) could be going a completely different way. <a href="http://en.wikipedia.org/wiki/Image:Vector_by_Zureks.svg">http://en.wikipedia.org/wiki/Image:Vector_by_Zureks.svg</a></p>
<p class="MsoNormal"><strong>Vector Space</strong> – This is a collection of objects that may be scaled and added. The objects are called vectors.</p>
<p class="MsoNormal"><strong>Vector3D</strong> – This is the same as a vector, but enables the property of depth to the object. Now, when you are handling an object of type <strong>Vector3D</strong>, you can change its:</p>
<p class="MsoListParagraphCxSpFirst"><span><span>1.<span>       </span></span></span><strong>X</strong> axis</p>
<p class="MsoListParagraphCxSpMiddle"><span><span>2.<span>       </span></span></span><strong>Y</strong> axis</p>
<p class="MsoListParagraphCxSpLast"><span><span>3.<span>       </span></span></span><strong>Z</strong> axis</p>
<p class="MsoNormal">Whereas before, Z axis was not present in <strong>Vector.</strong></p>
<p class="MsoNormal"><strong>Convex Hull</strong> – This is a set of points in a real vector space.</p>
<p class="MsoNormal"><strong>Convex Set – </strong>This is an object where every X and Y position can be joined up by a line without that line leaving the area of the object.</p>
<div>
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="288" valign="top">
<p class="MsoNormal" style="text-align: center; "><!--[if gte vml 1]><v:shapetype id="_x0000_t75"    coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"    filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="Picture_x0020_5" o:spid="_x0000_s1028" type="#_x0000_t75"    style='position:absolute;margin-left:0;margin-top:.4pt;width:135pt;height:127.5pt;    z-index:-3;visibility:visible;mso-wrap-style:square;    mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;    mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;    mso-position-horizontal:absolute;mso-position-horizontal-relative:text;    mso-position-vertical:absolute;mso-position-vertical-relative:text'> <v:imagedata src="file:///C:\Users\Harry\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" mce_src="file:///C:\Users\Harry\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"     o:title="180px-Convex_polygon_illustration1" /> <w:wrap type="square" /> </v:shape><![endif]--><span><img class="size-full wp-image-263 aligncenter" title="A Convext Set" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/11/180px-convex_polygon_illustration1.png" alt="" width="180" height="170" /> </span></p>
<p class="MsoCaption" style="text-align: center; ">Figure <!--[if supportFields]><span   style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span   style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>SEQ Figure \* ARABIC <span style="mso-element:   field-separator" mce_style="mso-element:   field-separator"></span><![endif]--><span>1</span><!--[if supportFields]><span   style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--><span> &#8211; Convex Set as the line joining X and Y does not leave the object.</span></p>
<p class="MsoNormal"> </p>
</td>
<td width="288" valign="top">
<p class="MsoCaption" style="text-align: center; "><!--[if gte vml 1]><v:shape    id="Picture_x0020_6" o:spid="_x0000_s1027" type="#_x0000_t75" style='position:absolute;    margin-left:-.05pt;margin-top:-.35pt;width:135pt;height:127.5pt;z-index:2;    visibility:visible;mso-wrap-style:square;mso-wrap-distance-left:9pt;    mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;    mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;    mso-position-horizontal-relative:text;mso-position-vertical:absolute;    mso-position-vertical-relative:text'> <v:imagedata src="file:///C:\Users\Harry\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png" mce_src="file:///C:\Users\Harry\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png"     o:title="180px-Convex_polygon_illustration2" /> <w:wrap type="square" /> </v:shape><![endif]--><span><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2008/11/180px-convex_polygon_illustration2.png" rel="lightbox[262]"><img class="size-full wp-image-264 aligncenter" title="Not a Convex Set" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/11/180px-convex_polygon_illustration2.png" alt="" width="180" height="170" /></a> </span></p>
<p class="MsoCaption" style="text-align: center; ">Figure <!--[if supportFields]><span   style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span   style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>SEQ Figure \* ARABIC <span style="mso-element:   field-separator" mce_style="mso-element:   field-separator"></span><![endif]--><span>2</span><!--[if supportFields]><span   style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> &#8211; Not a Convex set as the   line joining X and Y has to leave the object.</p>
<p class="MsoNormal"> </p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">A good example of a <strong>Convex Set</strong> is a cube.</p>
<p class="MsoNormal"><strong>Tuple</strong> – This is a sequence, also known as an ordered list, of values. Names of different capacity tuples:</p>
<p class="MsoNormal"><strong>Coordinate Vector</strong> – In linear algebra, a coordinate vector is the representation of a vector through the form of an ordered list of numbers.</p>
<p class="MsoNormal"><strong>Linear Algebra</strong> – This is the branch of <a title="Mathematics" href="http://en.wikipedia.org/wiki/Mathematics"><span>mathematics</span></a> concerned with the study of <a title="Vector (geometry)" href="http://en.wikipedia.org/wiki/Vector_(geometry)"><span>vectors</span></a>, <a title="Vector space" href="http://en.wikipedia.org/wiki/Vector_space"><span>vector spaces</span></a> (also called linear spaces), <a title="Linear map" href="http://en.wikipedia.org/wiki/Linear_map"><span>linear maps</span></a> (also called linear transformations), and <a title="System of linear equations" href="http://en.wikipedia.org/wiki/System_of_linear_equations"><span>systems of linear equations</span></a>. <span> </span></p>
<p class="MsoNormal"><strong>Vertex</strong> – This refers to a special kind of point. There are <a href="http://en.wikipedia.org/wiki/Vertex">many types</a> but here are some related to Mathematics:</p>
<p class="MsoNormal"><strong>Angle:</strong></p>
<p class="MsoNormal">The vertex of an angle is where to rays begin or meet, or where two line segments join or meet, where two lines cross.</p>
<p class="MsoNormal"><strong>Polytope:</strong></p>
<p class="MsoNormal">A vertex is a corner point of a polygon, polyhedron or other higher dimensional polytope, formed by the intersection of edges, faces, facets.</p>
<p class="MsoNormal"><strong>Plane tiling</strong>:</p>
<p class="MsoNormal">A vertex of a plane tiling or tessellation is a point where three or more tiles meet.</p>
<p class="MsoNormal"><strong>Matrix</strong> – When referred to within Flash, it represents how to map points from one coordinate space to another. Flash 8 and CS3 standard Matrix included changing X and Y, rotation, scaling, and skewing.</p>
<p class="MsoNormal"><a href="http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00002389.html">http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00002389.html</a></p>
<p class="MsoNormal"><strong>Matrix3D</strong> – This is the same as a <strong>matrix</strong> but with the z axis added.</p>
<p class="MsoNormal"><strong>Complex Number </strong>– This is where real numbers are added/subtracted (etc&#8230;) but with an imaginary number (<strong><em>i</em></strong>), whose square root equals -1, is added onto one or many of them.</p>
<p class="MsoNormal"><strong>Quaternion </strong>– <span><span>Quaternion is an extension of a complex number. Instead of just one complex number (<strong><em>i</em></strong>), you have three complex numbers – <strong><em>i</em></strong><em>, <strong>j</strong>, and <strong>k</strong></em>. </span></span><a href="http://www.gamedev.net/reference/articles/article1095.asp">http://www.gamedev.net/reference/articles/article1095.asp</a></p>
<p class="MsoNormal"><strong>Frustum – </strong>This is the part of a solid between two parallel planes cutting the solid. <img class="size-full wp-image-265 alignright" title="A Frustum " src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/11/a4frustr.jpg" alt="" width="300" height="347" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/11/02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3D Base Class</title>
		<link>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/</link>
		<comments>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 12:19:13 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=226</guid>
		<description><![CDATA[In my effort to cut down the amount of code I write when using Away3D, I created this. It is a base class for projects using Away3D. What this does is create a series of protected functions that you can &#8230; <a href="http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my effort to cut down the amount of code I write when using Away3D, I created this. It is a base class for projects using Away3D. What this does is create a series of protected functions that you can override and add in what you need, while the base class created the viewport, scene and everything else! This minimizes the amount of code you write in the actual project to a minimal amount!</p>
<p>Here is an example:</p>
<pre lang="actionscript3">package {
	import away3d.primitives.Sphere;
	import com.harrynorthover.base.AwayBase;

	public class BaseClass extends AwayBase {
		public var sphere:Sphere = new Sphere( { radius:100 } );

		public function BaseClass() {
			// Init(camZoom, viewX, viewY);
			Init(12, 0, 0);
		}

		override protected function Init3D():void {
			sphere.x = 0;
			sphere.y = 0;
			view.scene.addChild(sphere);
		}
	}
}</pre>
<p>See how much is has been reduced by? No faffing around with View3D and addChild(view) etc. </p>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/Away3dBase.zip">http://harry-northover-code-store.googlecode.com/files/Away3dBase.zip</a></p>
<p>Hope it helps!<br />
Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3D Skyboxes</title>
		<link>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 16:46:33 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=204</guid>
		<description><![CDATA[This is my best demo yet, and it is crucial to my new site. This demo is using the sky box features in Away3D. For those of you that don&#8217;t know what a sky box is, it is a collection &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is my best demo yet, and it is crucial to my new site. This demo is using the sky box features in Away3D. For those of you that don&#8217;t know what a sky box is, it is a collection of images (usually 6, but in this case 5, I didn&#8217;t have a bottom one), that are displayed on the inside of a cube, and then the camera is inside the cube looking out at these images. This gives the impression of a sky, and ground and surroundings that are usually behind everything else. Using sky boxes prevents the sky being plain black.</p>
<p>Here is the demo (just click). To explore, click and drag to find your way around.</p>
<p><script type="text/javascript">&lt;br /&gt;
&lt;!--&lt;br /&gt;
function popup(mylink, windowname)&lt;br /&gt;
{&lt;br /&gt;
if (! window.focus)return true;&lt;br /&gt;
var href;&lt;br /&gt;
if (typeof(mylink) == 'string')&lt;br /&gt;
   href=mylink;&lt;br /&gt;
else&lt;br /&gt;
   href=mylink.href;&lt;br /&gt;
window.open(href, windowname, 'width=400,height=200,scrollbars=yes');&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
//--&gt;&lt;br /&gt;
</script></p>
<p><a onclick="return popup(this, 'notes')" href="http://www.harrynorthover.com/files/flash/Skybox.swf"><img class="alignnone size-full wp-image-205" title="Skybox" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/skybox.jpg" alt="" width="456" height="460" /></a></p>
<p>And here is the code:</p>
<pre lang="actionscript3">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.materials.BitmapMaterial;
	import away3d.primitives.Skybox;
	import away3d.core.utils.Cast;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;

	public class SkyStuff extends Sprite {

		public var cam:HoverCamera3D = new HoverCamera3D( { zoom:2 } );
		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { camera:cam, scene:scene, x:0, y:0 } );

		// Skybox stuff.
		public var sky:Skybox;
		// Materials....
		public var sky_front_material:BitmapMaterial;
		public var sky_back_material:BitmapMaterial;
		public var sky_left_material:BitmapMaterial;
		public var sky_right_material:BitmapMaterial;
		public var sky_up_material:BitmapMaterial;
		public var sky_down_material:BitmapMaterial;

		// Movement vars.
		public var move:Boolean = false;
		public var lastPanAngle:Number;
		public var lastTiltAngle:Number;
		public var lastMouseX:Number;
		public var lastMouseY:Number;

		public function SkyStuff():void {
			addEventListener(Event.ADDED_TO_STAGE, Init);
		}

		private function Init(evt:Event):void {
			InitStage();
			InitEngine();
			InitMaterials();
			InitObjects();
			InitListeners();
		}

		private function InitStage():void {
			stage.align = StageAlign.TOP_LEFT
			stage.scaleMode = StageScaleMode.NO_SCALE;
		}

		private function InitEngine():void {
			cam.mintiltangle = -80;
			cam.maxtiltangle = 20;
			cam.targetpanangle = cam.panangle = 0;
			cam.targettiltangle = cam.tiltangle = 0;

			addChild(view);
		}

		private function InitObjects():void {
			sky = new Skybox( sky_front_material, sky_left_material, sky_back_material, sky_right_material, sky_up_material, sky_down_material );
			sky.quarterFaces();
			view.scene.addChild(sky);
		}

		private function InitMaterials():void {
			sky_front_material = new BitmapMaterial(Cast.bitmap(SkyFront));
			sky_back_material = new BitmapMaterial(Cast.bitmap(SkyBack));
			sky_left_material = new BitmapMaterial(Cast.bitmap(SkyLeft));
			sky_up_material = new BitmapMaterial(Cast.bitmap(SkyTop));
			sky_right_material = new BitmapMaterial(Cast.bitmap(SkyRight));
		}

		private function InitListeners():void {
			addEventListener(Event.ENTER_FRAME, EnterFrame);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
			stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
			stage.addEventListener(Event.RESIZE, Resize);
		}

		private function EnterFrame(evt:Event):void {
			if (move) {
				cam.targetpanangle = 0.3 * (stage.mouseX - lastMouseX) + lastPanAngle;
				cam.targettiltangle = 0.3 * (stage.mouseY - lastMouseY) + lastTiltAngle;
			}
			cam.hover();
			view.render();
		}

		private function MouseDown(evt:MouseEvent):void {
			lastPanAngle = cam.panangle;
			lastTiltAngle = cam.tiltangle;
			lastMouseX = stage.mouseX;
			lastMouseY = stage.mouseY;
			move = true;
			stage.addEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function MouseUp(evt:MouseEvent):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function onStageMouseLeave(evt:Event):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function Resize(evt:Event):void {
			view.x = stage.stageWidth / 3;
			view.y = stage.stageHeight / 3;
		}
	}

}</pre>
<p>Now,I personally think skyboxes are a good piece of knowledge to have, as they provide, in my opinion, an effective and fairly easy way to get a fairly natural looking environment quickly. Once you have a skybox in place, you can concentrate on the more important objects, and not making the surrounding environment look good.</p>
<p>There is also another way of creating sky-boxes and this is using the <a href="http://away3d.com/offlinedocs/Away3DAPIReferenceV2.1.html#Class-Skybox6" target="_blank">Skybox6 class</a>. This differs from the original method as instead of having six separate images, you have all your graphic in one jpg (png, or whatever).</p>
<p>I will also be trying to post versions of the examples in Papervision3d. This gives me a good understanding of how the engines differ, which ones I prefer and how they work.</p>
<p>You can download the whole thing (images as well!) here: <a href="http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip</a></p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cool Away3D Example.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 23:13:01 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=202</guid>
		<description><![CDATA[I just found this example over at Away3d.org and I have to say it is the best one yet! Here&#8217;s the link: http://www.closier.nl/playground/railaway_express.html. This is a new demo/game to show of Away3D 2.2 new features!! Enjoy, and good night. Harry]]></description>
			<content:encoded><![CDATA[<p>I just found this example over at Away3d.org and I have to say it is the best one yet!</p>
<p>Here&#8217;s the link: <a href="http://www.closier.nl/playground/railaway_express.html" target="_blank">http://www.closier.nl/playground/railaway_express.html</a>. This is a new demo/game to show of Away3D 2.2 new features!!</p>
<p>Enjoy, and good night.</p>
<p>Harry</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Artistic Flash.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 16:33:07 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=198</guid>
		<description><![CDATA[I have just spent the last day or so polishing up on my generative art in flash. This basically means creating random motion using TweenLite or/and Away3d. Here are some sceen shots of what I am talking about: (Just click &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent the last day or so polishing up on my generative art in flash. This basically means creating random motion using <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">TweenLite</a> or/and <a href="http://www.away3d.org" target="_blank">Away3d</a>.</p>
<p>Here are some sceen shots of what I am talking about:</p>
<p><a href="http://www.harrynorthover.com/files/flash/RandomSquares.swf" target="_blank"><img class="alignnone size-full wp-image-199" title="Organic animation using TweenLite" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/tweenliteorganic.png" alt="" width="341" height="97" /></a></p>
<p><a href="http://www.harrynorthover.com/files/flash/3DOrganic.swf" target="_blank"><img class="alignnone size-full wp-image-200" title="Organic 3D" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3dorganic.png" alt="" width="341" height="97" /></a></p>
<p><em>(Just click on the images to view them <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</em></p>
<p>These were made using a combination of TweenLite, Away3D and general brilliance <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . The first one actually uses no 3d, and I made the second one to see how easily it would be the get the same (or close to) result, but in 3D space.</p>
<p>Here is the code for the first one, just past it in the first frame.</p>
<pre lang="actionscript3">import gs.TweenFilterLite;
import gs.easing.Expo;

var Blur:BlurFilter = new BlurFilter(100, 100, 3);
var BMBlur:BlurFilter = new BlurFilter(20, 20, 3);

var bmd:BitmapData = new BitmapData(550, 400, true, 0x000000);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

var currentSquare:Box = new Box();
currentSquare.filters = [Blur];
addChild(currentSquare);

function mover_single():void {
	TweenFilterLite.to(currentSquare, .5,  {   x:Math.random() * 550,
						   y:Math.random() * 400,
						   ease:Expo.easeInOut,
						   alpha:100/*Math.random() * 1*/,
						   blurFilter:{blurX:Math.random() * 0,
						   blurY:Math.random() * 50},
						   tint:Math.round( Math.random()*0xFFFFFF ),
						   onComplete:mover_single });
}

mover_single();

addEventListener(Event.ENTER_FRAME, EnterFrame);

function EnterFrame(evt:Event):void {
		bmd.draw(this);
		bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), BMBlur);
		bmd.scroll(5, 0);
		//trace(getChildAt(1));
}</pre>
<p>And the second:</p>
<pre lang="actionscript3">package {

	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.primitives.Cube;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.filters.BlurFilter;
	import flash.geom.Point;

	import gs.TweenLite;
	import gs.easing.Expo;

	public class Organic extends MovieClip {

		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { scene:scene, x:0, y:0 } );

		public var square:Cube;

		public var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0x000000);
		public var bm:Bitmap = new Bitmap(bmd);

		public var BMBlur:BlurFilter = new BlurFilter(10, 0, 3);
		public var Blur:BlurFilter = new BlurFilter(5, 5, 3);

		public function Organic():void {
			addEventListener(Event.ADDED_TO_STAGE, Init);
			addEventListener(Event.ENTER_FRAME, EnterFrame);
		}

		private function Init(evt:Event):void {

			addChild(view);
			addChild(bm);

			view.camera.zoom = 1.5;

			square = new Cube( { height:200, width:200, material:"red#black" } );
			square.filters = [Blur];
			view.scene.addChild(square);

			Mover(); // This animates the box and then renders it/
		}

		private function Mover():void {
			TweenLite.to(square, .5, { x:Math.random() * -5550,
						   y:Math.random() * -5400,
						   z:Math.random() * 200,
						   ease:Expo.easeInOut,
						   onComplete:Mover,
						   alpha:Math.random() * 1,
						   rotationX:Math.random() * 360,
						   rotationY:Math.random() * 360,
						   height: Math.random() * 1000,
						   width: Math.random() * 1000 } );
			view.render();
		}

		private function EnterFrame(evt:Event):void {
			bmd.draw(this);
			bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), BMBlur);
			bmd.scroll(5, 0);

			view.render();
		}
	}
}</pre>
<p>So there you go. Here are the links to download the whole package:</p>
<ul>
<li>The First one: <a href="http://harry-northover-code-store.googlecode.com/files/Random%20Squares.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/Random%20Squares.zip</a></li>
<li>The Second one: <a href="http://harry-northover-code-store.googlecode.com/files/3D%20Organic.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/3D%20Organic.zip</a></li>
</ul>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some more Away3D :)</title>
		<link>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 21:14:29 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=192</guid>
		<description><![CDATA[I have just spent the last hour or so playing with Away3d (again ), and have just made this among other things. It is a sort of implementation of a particle system, but as I am still fairly rough around &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent the last hour or so playing with Away3d (again <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), and have just made this among other things. It is a sort of implementation of a particle system, but as I am still fairly rough around the edges with Away3D, its probably not the best.</p>
<ol>
<li>For a start, I am a bit confused with the maths side of things. For example getting the most out of the view-ports and how to get the cameras in the right position. So this caused me that problem of all the dots being in the bottom <span style="text-decoration: line-through;">left</span> right corner. <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li>When you go close up to the dots, some of them seem stretched.</li>
<li>Any ideas?</li>
</ol>
<p>Here&#8217;s a snap shot:</p>
<p><a href="http://www.harrynorthover.com/files/flash/3DParticle.swf" target="_blank"><img class="alignnone size-full wp-image-193" title="3D Particle" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3d-particle.png" alt="" width="461" height="488" /></a></p>
<p>And the code:</p>
<pre lang="actionscript3">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.primitives.Sphere;

	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;

	public class ThreeDParticle extends Sprite {

		public var cam:HoverCamera3D = new HoverCamera3D;
		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { x:550, y:400, scene:scene, camera:cam } );
		public var numOfDots:Number = 50;
		public var sphere:Sphere;
		public var cameraSpeed:Number = 0.3; // Approximately same speed as mouse movement.

		public var lastPanAngle:Number;
		public var lastTiltAngle:Number;
		public var lastMouseX:Number;
		public var lastMouseY:Number;
		public var move:Boolean;

		public function ThreeDParticle():void {
			// This is added so you can include this SWF in another.
			this.addEventListener(Event.ADDED_TO_STAGE, Init);
		}

		private function Init(evt:Event):void {
			addChild(view);

			cam.zoom = 1;
			cam.x = 0;
			cam.y = 0;

			for (var i:uint = 0; i &lt;= numOfDots; i++) {
				sphere = new Sphere( { material:"black#red", radius:20, x:Math.random() * 1000, y:Math.random() * 1000, z:Math.random() * 100, segmentsH:10, segmentsW:10 } );
				view.scene.addChild(sphere);
			}
			this.addEventListener(Event.ENTER_FRAME, enterFrame);
			this.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
			this.stage.addEventListener(MouseEvent.MOUSE_UP, mouseLeave);

			view.render();
		}

		private function enterFrame(evt:Event):void {
			if (move) {
				cam.targetpanangle = cameraSpeed * (this.stage.mouseX - lastMouseX) + lastPanAngle;
				cam.targettiltangle = cameraSpeed * (this.stage.mouseY - lastMouseY) + lastTiltAngle;
			}

			cam.hover();
			view.render();
		}

		private function mouseDown(evt:MouseEvent):void {

			move = true;
			lastPanAngle = cam.targetpanangle;
			lastTiltAngle = cam.targettiltangle;
			lastMouseX = stage.mouseX;
			lastMouseY = stage.mouseY;

			cam.hover();
			view.render();
		}

		private function mouseLeave(evt:MouseEvent):void {
			move = false;
		}

	}
}</pre>
<p>And here&#8217;s the link to download it all: <a href="http://harry-northover-code-store.googlecode.com/files/3D%20Particle.zip">http://harry-northover-code-store.googlecode.com/files/3D%20Particle.zip</a></p>
<p>Right there you go for tonight!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harry Northover &#8211; 2008 &#8211; Portfolio Update.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 17:24:52 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=176</guid>
		<description><![CDATA[I have just been working a my portfolio for the last day or two and have come up with what I think is the final design. You can view it here: http://www.harrynorthover.com/beta/v2 Once you have views it, you may be &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just been working a my portfolio for the last day or two and have come up with what I think is the final design. You can view it here: http://www.harrynorthover.com/beta/v2</p>
<p>Once you have views it, you may be thinking, where is the 3D? Well, what I am planning to have is a 3D World inside the gray box. This means that you will be able to fly round and explore this 3d world, and along the way be able to view information about me and my projects. I am having a bit of trouble with this at the moment (see more <a href="http://www.gotoandlearnforum.com/viewtopic.php?f=29&amp;t=20479" target="_blank">here</a>).</p>
<p><strong>Other Designs:</strong></p>
<p>Other designs I have come up with, but haven&#8217;t been used will be posted soon. This is because they may inspire you to do something with them? Here is the second most favorite design I came up with:</p>
<div id="attachment_177" class="wp-caption alignnone" style="width: 392px"><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/sceenshot.jpg" rel="lightbox[176]"><img class="size-full wp-image-177" title="An Early Design" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/sceenshot.jpg" alt="An Early Design" width="382" height="116" /></a><p class="wp-caption-text">An Early Design</p></div>
<p>So I hope you like it, and as usual all comments are welcome!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Away3D</title>
		<link>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 19:55:02 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=153</guid>
		<description><![CDATA[I have just spent a couple of hours last night getting to grips with Away3D. I just created a little demo that creates a few spheres and then adds an ENTER_FRAME event listener and responds to mouse movement. You can &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent a couple of hours last night getting to grips with Away3D. I just created a little demo that creates a few spheres and then adds an ENTER_FRAME event listener and responds to mouse movement.</p>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/Away3DBasics.zip" target="_self">http://harry-northover-code-store.googlecode.com/files/Away3DBasics.zip</a></p>
<p>Here is a screene:</p>
<p><a href="http://www.harrynorthover.com/files/flash/Away3DBasics.swf" target="_blank"><img class="alignnone size-full wp-image-157" title="Away3D Basics" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3d-screen1.jpg" alt="" width="461" height="546" /></a></p>
<p>And here&#8217;s the code:</p>
<pre lang="actionscript3" line="1">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.View3D;
	import away3d.primitives.Sphere;

	import flash.events.MouseEvent;
	import flash.display.Sprite;
	import flash.events.Event;

	import caurina.transitions.Tweener;

	public class Away3DBasics extends Sprite {

		public var stageHeightCenter:uint = stage.stageHeight / 2 - 100;
		public var stageWidthCenter:uint = stage.stageWidth / 2 + 100; 

		public var cam:HoverCamera3D = new HoverCamera3D( { zoom:1, focus:200 } );
		public var view:View3D = new View3D( { x:stageWidthCenter, y:stageHeightCenter, camera:cam } );

		public function Away3DBasics() {

			cam.steps = 16;

			// Add the view to the stage.
			addChild(view);

			// Create 20 spheres.
			for (var i:uint = 0; i &lt;= 20; i++)
			{
				var sphere:Sphere = new Sphere();
				sphere.invertFaces();
				sphere.x = Math.random() * 1000;
				sphere.y = Math.random() * 1000;
				sphere.z = Math.random() * 600;
				sphere.rotationX = Math.random() * 360;
				sphere.rotationY = Math.random() * 360;
				view.scene.addChild(sphere);
			}

			// Add Event listeners.
			this.addEventListener(Event.ENTER_FRAME, onRun);

			// Render the scene...
			cam.hover();
			view.render();

		}

		// This is the code for the ENTER_FRAME event.
		private function onRun(evt:Event):void {
			cam.rotationX = Math.random() * 360;
			cam.rotationY = Math.random() * 360;
			cam.rotationZ = Math.random() * 360;
			cam.pan(Math.random() * 360);
			Tweener.addTween(cam, { zoom: (stage.mouseY / stage.stageHeight) * 4 + 0.5, time:0.1, transition:"easeInOutExpo" } );
			cam.hover();
			view.render();
		}
	}
}</pre>
<p>There you go! I will be doing a lot more stuff with Away3D so keep an eye out!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3D &#8211; Getting Started</title>
		<link>http://www.harrynorthover.com/blog/2008/09/03/away3d-getting-started/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/03/away3d-getting-started/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 21:22:51 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=130</guid>
		<description><![CDATA[I have recently been trying to pick up Away3D. I have to say this engine is absolutly awesome! I have decided to build my portfolio using this, so this will help me get used to using the engine as well &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/03/away3d-getting-started/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have recently been trying to pick up <a href="http://away3d.com/" target="_blank">Away3D</a>. I have to say this engine is absolutly awesome!</p>
<p>I have decided to build my portfolio using this, so this will help me get used to using the engine as well as hopefully creating a sweet site! <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>During my efforts to find out more info and tutorials about this engine, I have found these links:</p>
<ul>
<li><a href="http://www.flashmagazine.com/tutorials/index/" target="_blank">http://www.flashmagazine.com/tutorials/index/</a> &#8211; This site has a whole host of tutorials and info on Away3D and Flash 3D in general.</li>
<li><a href="http://blog.paranoidferret.com/index.php/2008/03/28/getting-started-with-adobe-flex-and-away3d/" target="_blank">http://blog.paranoidferret.com/index.php/2008/03/28/getting-started-with-adobe-flex-and-away3d/ </a>- Getting Started with Away3D and Adobe Flex.</li>
<li><a href="http://www.thetechlabs.com/3d/setting-up-away3d-with-flex/" target="_blank">http://www.thetechlabs.com/3d/setting-up-away3d-with-flex/</a> &#8211; Setting up and using Away3D in Flex.</li>
<li><a href="http://flashenabledblog.com/2008/09/02/frameworks-away3d-away3d-web-roundup-tutorials-and-examples/" target="_blank">http://flashenabledblog.com/2008/09/02/frameworks-away3d-away3d-web-roundup-tutorials-and-examples/</a> &#8211; This is a haven for info on Away3D tutorials, samples and general info!</li>
<li><a href="http://www.lemlinh.com/flash-tutorial-away3d-pathextrude-cords-ribbons" target="_blank">http://www.lemlinh.com/flash-tutorial-away3d-pathextrude-cords-ribbons</a> &#8211; Away3D Path Extrude &#8211; Cords And Ribbons.</li>
<li><a href="http://blog.arnomanders.nl/index.php/archives/imageviewer3d-final-release/" target="_blank">http://blog.arnomanders.nl/index.php/archives/imageviewer3d-final-release/ </a>- This is a very cool application demonstrating the powers of Away3D.</li>
<li><a href="http://www.closier.nl/playground/greenplanet.html" target="_blank">http://www.closier.nl/playground/greenplanet.html</a> &#8211; This is a very cool example, indeed! Green Planet!!</li>
<li><a href="http://flash-3d.org/en/Create-the-Earth-and-heavens-in-less-than-an-hour-with-Away3D" target="_blank">http://flash-3d.org/en/Create-the-Earth-and-heavens-in-less-than-an-hour-with-Away3D</a> &#8211; This is a great tutorial for Away3D. This could be used for some sort of language selection of area selection or even a contact form. The potential is infinite&#8230; <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://www.ultrashock.com/forums/third-party-tools/away3d-93241.html" target="_blank">http://www.ultrashock.com/forums/third-party-tools/away3d-93241.html</a> &#8211; This sheds on Away3D and how it differs from Papervision3D.</li>
<li><a href="http://www.sharingb.com/programming/away3d/focus-on-away3d" target="_blank">http://www.sharingb.com/programming/away3d/focus-on-away3d</a> &#8211; Some very cool examples of Away3D in action.</li>
<li><a href="http://drawlogic.com/2008/04/11/3ds-parser-added-to-papervision-from-away3d/" target="_blank">http://drawlogic.com/2008/04/11/3ds-parser-added-to-papervision-from-away3d/</a> &#8211; 3DS Parser Added to Papervision3D from Away3D.</li>
<li><a href="http://docs.google.com/View?docid=dczs397v_12ftrscdd9" target="_blank">http://docs.google.com/View?docid=dczs397v_12ftrscdd9</a> &#8211; Getting started with Away3D.</li>
<li><a href="http://www.closier.nl/playground/temple.html" target="_blank">http://www.closier.nl/playground/temple.html</a> &#8211; This is a very cool example indeed!</li>
</ul>
<p>So there you go for starters. I hope this helps you guys out!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/03/away3d-getting-started/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XSI 7!</title>
		<link>http://www.harrynorthover.com/blog/2008/08/08/xsi-7/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/08/xsi-7/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 22:09:23 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>

		<guid isPermaLink="false">http://harrynorthover.co.uk/blog/?p=31</guid>
		<description><![CDATA[Yes, you heard me, and probably quite a lot of other people, that 3D program XSI 7 is out! I have just had an e-mail telling me that XSI 7 is out. Here are some of the new features: Well, &#8230; <a href="http://www.harrynorthover.com/blog/2008/08/08/xsi-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yes, you heard me, and probably quite a lot of other people, that 3D program XSI 7 is out!</p>
<p>I have just had an e-mail telling me that XSI 7 is out. Here are some of the new features:</p>
<ol>
<li>Well, the main one is the launch of <a href="http://www.softimage.com/products/xsi/" target="_blank">ICE</a>. This enables you to customize XSI and create new tools. You are probably think that you will need to write code, but no code is needed to use ICE. It is completly visual!</li>
<li>There are also many new user interface and workflow enhancement.
<ul>
<li>Zooming with the mouse wheel</li>
<li>Automatic Scaling on Sliders, to name a few&#8230;</li>
</ul>
</li>
<li>GIGACORE II ARCHITECTURE
<ul>
<li>With the development of ICE for XSI 7, the core architecture of XSI went through a major revision. The new core, GigaCore II, has been engineered to provide stable and fast performance for ICE. It is fully multi-threaded and 64-bit, allowing users to scale the performance of XSI efficiently by adding more cores to a system.</li>
</ul>
</li>
</ol>
<p>Those are just the major ones, if you would like to see a complete list, visit here: <a href="http://www.softimage.com/products/xsi/new_features/default.aspx" target="_blank">http://www.softimage.com/products/xsi/new_features/default.aspx</a></p>
<p>XSI is defnitly work checking out! Another thing worth checking out is <a href="http://www.christoph-schinko.com/stophTemp_xsiLaunch.htm" target="_blank">Christoph Schinko&#8217;s video on XSI 7.</a></p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/08/xsi-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

