<?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"
	>

<channel>
	<title>Simon Heys</title>
	<atom:link href="http://www.simonheys.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simonheys.com</link>
	<description></description>
	<pubDate>Sat, 19 Jul 2008 20:57:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Word Clock for Mac, PC and iPhone</title>
		<link>http://www.simonheys.com/2008/07/19/word-clock-for-mac-pc-and-iphone/</link>
		<comments>http://www.simonheys.com/2008/07/19/word-clock-for-mac-pc-and-iphone/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 20:19:26 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Screensaver]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[Word Clock]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/?p=170</guid>
		<description><![CDATA[
<object	type="application/x-shockwave-flash"
			data="http://www.simonheys.com/wp-content/uploads/2008/06/rotarywordclock.swf"
			width="440"
			height="330">
	<param name="movie" value="http://www.simonheys.com/wp-content/uploads/2008/06/rotarywordclock.swf" />
	<param name=wmode" value="opaque" />
</object>
Here&#8217;s the first release of the new version incorporating the original linear and new rotary version, for Mac and PC. Go to the download page. There may be bugs in this, so let me know.
]]></description>
			<content:encoded><![CDATA[
<object	type="application/x-shockwave-flash"
			data="http://www.simonheys.com/wp-content/uploads/2008/06/rotarywordclock.swf"
			width="440"
			height="330">
	<param name="movie" value="http://www.simonheys.com/wp-content/uploads/2008/06/rotarywordclock.swf" />
	<param name=wmode" value="opaque" />
</object>
<p>Here&#8217;s the first release of the new version incorporating the original linear and new rotary version, for Mac and PC. <a href="/wordclock/">Go to the download page</a>. There may be bugs in this, so <a   rel="nofollow" id="emailShroud1" stoDom="simonheys.com" stoUser="si" href="http://www.somethinkodd.com/emailshroud/emailaddress.php?domainName=simonheys.com&amp;userName=si&amp;ver=2.1.0" >let me know</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2008/07/19/word-clock-for-mac-pc-and-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rotary Word Clock</title>
		<link>http://www.simonheys.com/2008/06/07/rotary-word-clock/</link>
		<comments>http://www.simonheys.com/2008/06/07/rotary-word-clock/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 15:50:54 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Screensaver]]></category>

		<category><![CDATA[Word Clock]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/?p=153</guid>
		<description><![CDATA[Had a quick idea for a variation on Word Clock. Go to the download page.
]]></description>
			<content:encoded><![CDATA[<p>Had a quick idea for a variation on Word Clock. <a href="/rotarywordclock/">Go to the download page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2008/06/07/rotary-word-clock/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Word Clock in 18 languages</title>
		<link>http://www.simonheys.com/2008/05/17/word-clock-in-18-languages/</link>
		<comments>http://www.simonheys.com/2008/05/17/word-clock-in-18-languages/#comments</comments>
		<pubDate>Sat, 17 May 2008 11:45:55 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Screensaver]]></category>

		<category><![CDATA[Word Clock]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2008/05/17/word-clock-in-18-languages/</guid>
		<description><![CDATA[
Word Clock is now in 18 languages thanks to the generous help of lots of kind people. Go to the download page.
There&#8217;s also a new flickr group. If you&#8217;re using Word Clock I&#8217;d love to see a photo of it running on your screen.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simonheys.com/wordclock/"><img src='http://www.simonheys.com/wp-content/uploads/2008/05/wordclock-chinese.jpg' alt='wordclock-chinese.jpg' /></a></p>
<p>Word Clock is now in 18 languages thanks to the generous help of lots of kind people. <a href="http://www.simonheys.com/wordclock/">Go to the download page</a>.</p>
<p>There&#8217;s also a new <a href="http://www.flickr.com/groups/wordclock">flickr group</a>. If you&#8217;re using Word Clock I&#8217;d love to see a photo of it running on your screen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2008/05/17/word-clock-in-18-languages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Make JPEG droplet</title>
		<link>http://www.simonheys.com/2008/01/27/makejpeg-droplet/</link>
		<comments>http://www.simonheys.com/2008/01/27/makejpeg-droplet/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 10:39:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2008/01/27/makejpeg-droplet/</guid>
		<description><![CDATA[
A newly tweaked version of the droplet. This one allows you to set the JPEG compression quality by changing the number in the filename - just make as many copies as you need.
MakeJpeg download page
]]></description>
			<content:encoded><![CDATA[<p><a href="/makejpeg/"><img src='http://www.simonheys.com/wp-content/uploads/2008/01/finderscreensnapz001.gif' alt='finderscreensnapz001.gif' /></a><br />
A newly tweaked version of the droplet. This one allows you to set the JPEG compression quality by changing the number in the filename - just make as many copies as you need.</p>
<p><a href="/makejpeg/">MakeJpeg download page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2008/01/27/makejpeg-droplet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Screensavr</title>
		<link>http://www.simonheys.com/2008/01/06/screensavr-3/</link>
		<comments>http://www.simonheys.com/2008/01/06/screensavr-3/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 12:46:15 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[OpenGL]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Screensaver]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2008/01/06/screensavr-3/</guid>
		<description><![CDATA[Two big improvements in this new alpha version: first it&#8217;s much less processor-intensive (now uses OpenGL), and second it stores the screen between sessions so it doesn&#8217;t have to start with an empty screen each time.
Go to the new page to download. Please let me know by email if you have any problems.
]]></description>
			<content:encoded><![CDATA[<p>Two big improvements in this new alpha version: first it&#8217;s much less processor-intensive (now uses OpenGL), and second it stores the screen between sessions so it doesn&#8217;t have to start with an empty screen each time.</p>
<p><a href="/screensavr">Go to the new page to download</a>. Please let me know by email if you have any problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2008/01/06/screensavr-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Electrics: Part 1</title>
		<link>http://www.simonheys.com/2007/07/29/electrics-part-1/</link>
		<comments>http://www.simonheys.com/2007/07/29/electrics-part-1/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 13:03:42 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[Electronics]]></category>

		<category><![CDATA[Word Clock]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2007/07/29/electrics-part-1/</guid>
		<description><![CDATA[I am working on building a physical version of Word Clock, from scratch, with electronics components. Here&#8217;s the first working circuit:



 
I&#8217;ve been learning electronics from various books and all over the web. One of the best resources I&#8217;ve found is Bowden&#8217;s Hobby Circuits which includes some lovely clock examples and circuits. This circuit is [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on building a physical version of <a href="/wordclock/">Word Clock</a>, from scratch, with electronics components. Here&#8217;s the first working circuit:</p>
<p>
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/NxRoOkMprIc"></param><embed src="http://www.youtube.com/v/NxRoOkMprIc" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p><span id="more-143"></span></p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/HmqGnJlvUm0"></param> <embed src="http://www.youtube.com/v/HmqGnJlvUm0" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>I&#8217;ve been learning electronics from various books and all over the web. One of the best resources I&#8217;ve found is <a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/homepage.htm">Bowden&#8217;s Hobby Circuits</a> which includes some lovely clock examples and circuits. This circuit is partially based on the 72-LED clock, but I&#8217;m using a very accurate crystal oscillator for the seconds pulse and a different approach to the startup sequence.</p>
<p>Next stage is to build up the seconds, hours and minutes LEDs and add time setting functions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2007/07/29/electrics-part-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Elastic Collision</title>
		<link>http://www.simonheys.com/2007/07/29/elastic-collision-2/</link>
		<comments>http://www.simonheys.com/2007/07/29/elastic-collision-2/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 11:48:54 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2007/07/29/elastic-collision-2/</guid>
		<description><![CDATA[
A small tutorial on how to create bouncing balls with ActionScript source code. A couple of years back I was creating some interactive sites using bouncing balls as navigation. These needed to behave in a believable manner so I spent some time looking at rigid body dynamics code. 
Rigid Body Dynamics
There are many approaches to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/2007/07/29/elastic-collision-2/"><img src='/wp-content/uploads/2007/07/collision.gif' alt='collision.gif' /></a></p>
<p>A small tutorial on how to create bouncing balls with ActionScript source code. A couple of years back I was creating some interactive sites using bouncing balls as navigation. These needed to behave in a believable manner so I spent some time looking at rigid body dynamics code. <span id="more-138"></span></p>
<h4>Rigid Body Dynamics</h4>
<p>There are many approaches to solids-based simulation on a computer. The most realistic involve running a simulation in relatively large slices of time (say 1/60 second) until a collision occurs, and then &#8216;rewinding&#8217; the simulation in smaller slices of time until the exact moment of impact. This ensures that no objects are ever seen to overlap, and the simulation then continues from the exact moment at which they touch. This is computationally intensive and a little overkill for what I wanted.</p>
<p>The second method is a little more &#8216;relaxed&#8217; and doesn&#8217;t strive for perfection. You can get a reasonable result using springs to resolve collisions. </p>
<h4>Elastic Collision</h4>
<p>I already had some spring code so I hooked up a system as follows;</p>
<p><img src='/wp-content/uploads/2007/07/collision.gif' alt='collision.gif' /></p>
<p>Figure 1 is a system with balls bouncing around under gravity. The system checks whether two balls overlap. Figure 2 shows what happens when two balls overlap. All we have to do is measure the overlap. We temporarily create a spring which is attached to the centre of each ball between a and b.  </p>
<div class="floatimgright"><img src='/wp-content/uploads/2007/07/collision-2.gif' alt='collision-2.gif' /></div>
<p>The spring&#8217;s resting length is then set such that, when fully relaxed, it would allow the balls to touch exactly. This means that the spring is under compression; it tries its best to get back to its resting length and in doing so forces the balls apart as shown in Figure 3.</p>
<h4>Nervous Energy</h4>
<p>This worked really well for what I needed as the balls bounce around nicely and it&#8217;s a lot of fun. However the lack of precision shows when you try and contain the balls too tightly. The system becomes a little unstable as the balls try to break free from each other but are constrained by the walls.</p>
<p>However the same code is used the in <a href="/work/flash-9-magnetic/">Magnetic example</a> which is able to resolve itself as there is plenty of space for the balls to move into.</p>
<h4>Download</h4>
<p><a href="/files/elastic-collision.zip">[ZIP] Download Elastic Collision source code</a></p>
<h4>Example</h4>
<p>Click and drag to move the balls around</p>

<object	type="application/x-shockwave-flash"
			data="/wp-content/uploads/2007/07/springs.swf"
			width="440"
			height="440">
	<param name="movie" value="/wp-content/uploads/2007/07/springs.swf" />
	<param name=wmode" value="opaque" />
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2007/07/29/elastic-collision-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Word Clock</title>
		<link>http://www.simonheys.com/2007/07/01/wordclock-2/</link>
		<comments>http://www.simonheys.com/2007/07/01/wordclock-2/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 10:53:50 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Screensaver]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2007/07/01/wordclock-2/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<object	type="application/x-shockwave-flash"
			data="/wp-content/uploads/2007/07/clock_1024x768-black.swf"
			width="440"
			height="330">
	<param name="movie" value="/wp-content/uploads/2007/07/clock_1024x768-black.swf" />
	<param name=wmode" value="opaque" />
</object>
<p>Word Clock has moved. <a href="/wordclock/">Go to the new page</a> where you can download and read more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2007/07/01/wordclock-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sizer</title>
		<link>http://www.simonheys.com/2007/06/08/sizer/</link>
		<comments>http://www.simonheys.com/2007/06/08/sizer/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 18:29:53 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2007/06/08/sizer/</guid>
		<description><![CDATA[If you&#8217;re a print designer who regularly receives batches of digital artwork from various sources then this might save you a bit of time.

This AppleScript batch processes folders of images (can also contain nested folders) and creates a report of image dimensions, resolution and colour, including what size each image would be at 300dpi. Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a print designer who regularly receives batches of digital artwork from various sources then this might save you a bit of time.<br />
<span id="more-122"></span></p>
<p>This AppleScript batch processes folders of images (can also contain nested folders) and creates a report of image dimensions, resolution and colour, including what size each image would be at 300dpi. Here&#8217;s some example output:</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/sizer.gif' alt='sizer.gif' /></p>
<p>You can see that it also highlights where images are lower than 300dpi.</p>
<p>Originally written for <a href="http://thingstolookat.blogspot.com/">jaypeg</a> as a useful tool to help ascertain problems (e.g. images in the wrong colour space, or too low resolution) and also help determine which images might be suitable for printing at larger sizes.</p>
<p><a href="/files/sizer.zip">[ZIP] Download Sizer droplet for Mac OS X</a> (includes source code)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2007/06/08/sizer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PostScript</title>
		<link>http://www.simonheys.com/2007/06/05/postscript/</link>
		<comments>http://www.simonheys.com/2007/06/05/postscript/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 17:34:09 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[PostScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://www.simonheys.com/2007/06/05/postscript/</guid>
		<description><![CDATA[
Most designers and programmers whose paths I've crossed have heard of PostScript but don't know much about it. I think it's a hidden gem. Not only is it a fascinating programming language which can be used to create generative drawings and save you hours of time through automation, but you can also use it as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/2007/06/05/postscript/"><img src='http://www.simonheys.com/wp-content/uploads/2007/06/untitled-2.gif' /></a><br />
Most designers and programmers whose paths I've crossed have heard of <a href="http://en.wikipedia.org/wiki/PostScript">PostScript</a> but don't know much about it. I think it's a hidden gem. Not only is it a fascinating <a href="http://en.wikipedia.org/wiki/PostScript#The_language">programming language</a> which can be used to create generative drawings and save you hours of time through automation, but you can also use it as an intermediary format to transfer output from other languages such as Flash ActionScript or Java / Processing into Adobe Illustrator.<br />
<span id="more-102"></span></p>
<h4>A simple PostScript program</h4>
<p>Copy and paste this into a text editor (NotePad or TextEdit), save it as 'simple.ps' and then open it in Illustrator.</p>
<pre>
%!PS-Adobe-3.0 

0 0 moveto
100 100 lineto
stroke

showpage
</pre>
<p>This little snippet gives the following result:</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/ps-line.gif' alt='ps-line.gif' /></p>
<p>A line from 0,0 to 100,100. Amazing, eh? Not really, but the point is that the code is really simple to understand and we're only using the line drawing command. If you go slow and learn one command at a time, you can eventually do some pretty interesting and useful things.</p>
<h4>Learning PostScript</h4>
<p>There are <a ahref="http://www.google.co.uk/search?hl=en&#038;safe=off&#038;client=firefox-a&#038;rls=org.mozilla:en-US:official&#038;hs=CGD&#038;sa=X&#038;oi=spell&#038;resnum=0&#038;ct=result&#038;cd=1&#038;q=postscript+tutorial&#038;spell=1"> lots of PostScript tutorials</a> on the web that will explain the basic concepts. One thing to note is that PostScript is <a href="http://en.wikipedia.org/wiki/Stack-based">stack based</a> which means you push numbers onto the stack before operating on them. In raw code it makes it look like you're doing things backwards and can seem off-putting. In practise it's very simple and logical. </p>
<p>The essential guide to PostScript is the PLRM or 'red book'. I bought a copy of this years ago and it's pretty big at 800 pages! But thanks to the generosity of Adobe you can now download it online;</p>
<p><a href="http://www.adobe.com/products/postscript/pdfs/PLRM.pdf">[PDF] PostScript Language Reference Manual, third edition</a></p>
<h4>A lot, for a little</h4>
<p>Once you've learned a few commands you'll be able to achieve a lot with very little. Here's something more advanced using a for-loop in conjunction with graphics transformation;</p>
<pre>
%!PS-Adobe-3.0 

0.75 setlinewidth
0.75 setgray

0 3 360 {
	newpath
	gsave
	0 0 moveto
	rotate
	100 0 rlineto
	stroke
	grestore
} for

showpage
</pre>
<p>Produces the following result:</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/picture-4.gif' alt='picture-4.gif' /></p>
<p>Which is starting to look a bit more interesting, and like something that might be tricky to create purely 'by hand' in Illustrator. I've used techniques based on this to create images for quite a few projects over the years. The <a href="http://www.simonheys.com/archive/10/">Design Week book cover</a> was created using PostScript as were the <a href="http://www.simonheys.com/archive/8/">Kingston University posters</a>.</p>
<p>I've put the source for these into a small download. You'll need Illustrator or some other PostScript viewer to see them.</p>
<p><a href="/files/ps-examples.zip">[ZIP] Download PostScript examples</a></p>
<h4>Output from Flash into PostScript</h4>
<p>Probably the best use of PostScript from a modern designer/programmer's perspective is as an intermediary format. With not much programming you can easily take output from Flash and get it into Illustrator.</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/generationpress.jpg' alt='generationpress.jpg' /><br />
For the <a href="http://www.simonheys.com/archive/29/">Generation Press website</a> I created a simple toy on the homepage which lets visitors generate their own pattern. It's a nice example of something created in Flash which would look great as a high-resolution printout.</p>
<h4>Demo Application</h4>
<p>Here's the toy wrapped into a demo application.</p>

<object	type="application/x-shockwave-flash"
			data="http://www.simonheys.com/wp-content/uploads/2007/06/application.swf"
			width="440"
			height="440">
	<param name="movie" value="http://www.simonheys.com/wp-content/uploads/2007/06/application.swf" />
</object>
<p><a href="/files/ps-demo-app.zip">[ZIP] Download Source Code</a></p>
<p>To use, click to start drawing. Once the drawing has finished, click 'Show PostScript' to see the code. This code doesn't update live because Flash isn't fast enough, so wait until the drawing has finished before viewing it. All the application does is output the same drawing commands as PostScript-style commands into the text window;</p>
<div class="igBar"><span id="lactionscript-2"><a href="#" onclick="javascript:showPlainTxt('actionscript-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-2">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">"output"</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>xp, yp<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ps<span style="color: #66cc66;">&#40;</span>xp+<span style="color: #ff0000;">" "</span>+yp+<span style="color: #ff0000;">" lineto"</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>The <code>ps()</code> function outputs the code to the text window;</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/ps-code-example.jpg' alt='ps-code-example.jpg' /></p>
<p>Now you can copy and paste this code into a text editor. Save it with a '.ps' extension and then load into Illustrator:</p>
<p><img src='http://www.simonheys.com/wp-content/uploads/2007/06/ps-mockup.jpg' alt='ps-mockup.jpg' /></p>
<p>The image on the right is magnified to show that the drawing is made up of a series of small lines created by the <code>lineto</code> command in the PostScript code.</p>
<h4>Conclusion</h4>
<p>So that demonstrates the basic principle. PostScript is a very powerful language and you can do all kinds of other fun things with it, particularly when you start to redefine the built in <code>lineto</code> and <code>curveto</code> commands to do something else... but that's a story for another day.</p>
<ul>
<li><a href="http://www.adobe.com/products/postscript/pdfs/PLRM.pdf">[PDF] PostScript Language Reference Manual, third edition</a></li>
<li><a href="/files/ps-examples.zip">[ZIP] Download PostScript examples</a></li>
<li><a href="/files/ps-demo-app.zip">[ZIP] Download Source Code</a></li>
<li><a href="http://en.wikipedia.org/wiki/PostScript">PostScript Wikipedia entry</a> featuring some great resources and some fairly insane applications including an HTML renderer and ray tracer...</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonheys.com/2007/06/05/postscript/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
