<?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>Monovektor &#187; Procedural Generation</title>
	<atom:link href="http://monovektor.com/tag/procedural_generation/feed/" rel="self" type="application/rss+xml" />
	<link>http://monovektor.com</link>
	<description>Graphic Design Blog</description>
	<lastBuildDate>Thu, 10 Jan 2013 13:46:29 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.7.41</generator>
	<item>
		<title>MISSION STATEMENT</title>
		<link>http://monovektor.com/2013/01/mission-statement/</link>
		<comments>http://monovektor.com/2013/01/mission-statement/#comments</comments>
		<pubDate>Tue, 08 Jan 2013 09:05:11 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[PaperJS]]></category>
		<category><![CDATA[Procedural Generation]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=2976</guid>
		<description><![CDATA[This post marks the start of a new project, which came about heavily influenced by the image below, Mokafolio&#8216;s project Weird Faces Study, made with PaperJS. Long before this I had been wanting to make something modular and maybe even something that could generate some sort of seed value so that re-creating any previous attempts <a href="http://monovektor.com/2013/01/mission-statement/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2013/01/mission-statement/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2013/01/mission-statement/&t=MISSION STATEMENT">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=MISSION+STATEMENT:%20http://monovektor.com/2013/01/mission-statement/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2013/01/mission-statement/&title=MISSION+STATEMENT">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2013/01/mission-statement/&title=MISSION+STATEMENT">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p>This post marks the start of a new project, which came about heavily influenced by the image below, <a href="http://www.mokafolio.de/#!projects">Mokafolio</a>&#8216;s project <a href="http://www.mokafolio.de/#!project=21">Weird Faces Study</a>, made with <a title="PaperJS" href="http://www.paperjs.org/" target="_blank">PaperJS</a>.<a href="http://www.mokafolio.de/#!project=21"><img class="alignnone size-large wp-image-2988" alt="Mokafolio's Weird Faces" src="http://monovektor.com/wp-content/uploads/2013/01/04-590x454.jpg" width="590" height="454" /></a><br />
Long before this I had been wanting to make something modular and maybe even something that could generate some sort of seed value so that re-creating any previous attempts would be easy. Not sure whether this project qualifies as proceduraly generated as there is a very small amount of randomness in it. Instead it will rely heavily on the relationships between different points &#8211; or key locations whose values are determined by the input of the user.<br />
The plan is to make a script that, given these values, will draw different faces (I told you it was heavily influenced), although with more control of the final output. The number of parameters will &#8211; if all goes according to what I plan &#8211; be quite high, probably at least twenty which will generate a rather long seed value.<br />
In order for the seed value to be reasonably manageable I will use the <a title="LZW" href="http://en.wikipedia.org/wiki/Lempel–Ziv–Welch" target="_blank">LZW-compression</a> algorithm hopefully reducing the seed to at least 75% of the original size. Thankfully, I&#8217;ve found a javascript implementation that will help a lot as I&#8217;m not that well versed in how it really works.</p>
<p>So, it all boils down to these checkpoints:<br />
- Figure out what paramaters will be needed.<br />
- How do the parameters relate to each other.<br />
- Draw faces using these parameters.<br />
- Create the GUI.<br />
- Make seed values work.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SCHMARTICLES, CONT&#8217;D&#8230;</title>
		<link>http://monovektor.com/2011/11/schmarticles-contd/</link>
		<comments>http://monovektor.com/2011/11/schmarticles-contd/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 14:05:53 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Particle System]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Simulation]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=1743</guid>
		<description><![CDATA[Have a look see! It&#8217;s working like a charm! Unfortunately, Illustrator seem to have some problem in displaying a HUGE number of particles moving about (go figure!). On these screenshots there are somewhere around 500 particles. Haven&#8217;t tried out just how many there can be at the same time but the frame rate took a <a href="http://monovektor.com/2011/11/schmarticles-contd/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/11/schmarticles-contd/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/11/schmarticles-contd/&t=SCHMARTICLES, CONT&#8217;D&#8230;">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=SCHMARTICLES%2C+CONT%26%238217%3BD%26%238230%3B:%20http://monovektor.com/2011/11/schmarticles-contd/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/11/schmarticles-contd/&title=SCHMARTICLES%2C+CONT%26%238217%3BD%26%238230%3B">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/11/schmarticles-contd/&title=SCHMARTICLES%2C+CONT%26%238217%3BD%26%238230%3B">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;">Have a look see!<img class="aligncenter size-large wp-image-1768" title="Particles?" src="http://monovektor.com/wp-content/uploads/2011/11/Screen-shot-2011-11-22-at-4.57.52-PM-590x447.png" alt="" width="590" height="447" /></p>
<p><span id="more-1743"></span></p>
<p>It&#8217;s working like a charm!<br />
Unfortunately, Illustrator seem to have some problem in displaying a HUGE number of particles moving about (go figure!). On these screenshots there are somewhere around 500 particles. Haven&#8217;t tried out just how many there can be at the same time but the frame rate took a severe nose dive at 2000. Hell, even 500 of &#8216;em little bastards was enough to drop it to barely acceptable.<a href="http://monovektor.com/wp-content/uploads/2011/11/Screen-shot-2011-11-22-at-5.30.59-PM.png"><img class="aligncenter size-large wp-image-1773" title="Atom-esque" src="http://monovektor.com/wp-content/uploads/2011/11/Screen-shot-2011-11-22-at-5.30.59-PM-590x559.png" alt="" width="590" height="559" /></a><br />
I will try to find me a decent screencaster so I can post some moving picture magic. Also there are a lot of stuff I plan to add to the system, such as pulsars and vibrating particles.</p>
<p>NOTE: This is a continuation of my earlier post; <a title="PARTICLE, SCHMARTICLE" href="http://monovektor.com/2011/11/particle-schmarticle/">PARTICLE, SCHMARTICLE</a>.</p>
<p>&nbsp;</p>
<p><strong>UPDATE (<strong>Nov 22 &#8211; <strong>18:50</strong></strong>)</strong></p>
<div>Just noticed that Quicktime allows for screencasting so I have now uploaded a test to my <a title="Me" href="http://vimeo.com/user9274203" target="_blank">Vimeo account</a>. Fortunately the good people of WordPress has made it simple to add video so here it is.</div>
<p><iframe src="http://player.vimeo.com/video/32521316" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Oh, and a neat trick to keep the anchor point count to a minimum &#8211; and thereby, hopefully, improving the frame rate &#8211; is to draw the particles as a line between two points with same coordinates and setting the stroke cap as &#8217;round&#8217;. This way you get a circle with just two anchors instead of four!</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PARTICLE, SCHMARTICLE</title>
		<link>http://monovektor.com/2011/11/particle-schmarticle/</link>
		<comments>http://monovektor.com/2011/11/particle-schmarticle/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:00:46 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[HTML5 Canvas]]></category>
		<category><![CDATA[Particle System]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Simulation]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=1692</guid>
		<description><![CDATA[I&#8217;ve been looking for some time at the stuff that Daniel Shiffman, author of the upcoming book The Nature of Code, have written about Processing. One of the things being his particle system (Wikipedia article here) and I&#8217;ve figured that, with Scriptographer&#8217;s support of animation within Adobe Illustrator, it could be possible to achieve something <a href="http://monovektor.com/2011/11/particle-schmarticle/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/11/particle-schmarticle/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/11/particle-schmarticle/&t=PARTICLE, SCHMARTICLE">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=PARTICLE%2C+SCHMARTICLE:%20http://monovektor.com/2011/11/particle-schmarticle/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/11/particle-schmarticle/&title=PARTICLE%2C+SCHMARTICLE">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/11/particle-schmarticle/&title=PARTICLE%2C+SCHMARTICLE">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been looking for some time at the stuff that <a title="Daniel Shiffman" href="http://www.shiffman.net/bio/" target="_blank">Daniel Shiffman</a>, author of the upcoming book <a title="The Nature of Code" href="http://www.shiffman.net/teaching/nature/" target="_blank">The Nature of Code</a>, have written about <a title="Processing" href="http://processing.org/" target="_blank">Processing</a>. One of the things being his <a title="Particle System" href="http://www.shiffman.net/teaching/nature/particles/" target="_blank">particle system</a> (Wikipedia article <a title="Particle systems" href="http://en.m.wikipedia.org/wiki/Particle_system" target="_blank">here</a>) and I&#8217;ve figured that, with Scriptographer&#8217;s support of animation within Adobe Illustrator, it could be possible to achieve something similar.<br />
After a quick internet browsing I found a <a title="Particle system" href="http://jarrodoverson.com/static/demos/particleSystem/" target="_blank">javascript particle system class</a> using HTML5&#8242;s canvas (try it out, very fun indeed) by <a title="Jarrod Overson" href="http://jarrodoverson.com/" target="_blank">Jarrod Overson</a> which should, after a quick peek at the sourcecode, come very much in handy.</p>
<p>This will, no doubt, be the biggest undertaking &#8211; with regards to the complexity of the code required &#8211; I&#8217;ve done to date so there will probably be a lot more posts around this topic in the future as this was more of a mission statement than anything else.<img class="aligncenter size-large wp-image-1721" title="Schmarticles?" src="http://monovektor.com/wp-content/uploads/2011/11/particle_tracks_800x600-590x442.jpg" alt="" width="590" height="442" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L-SYSTEM</title>
		<link>http://monovektor.com/2011/10/l-system/</link>
		<comments>http://monovektor.com/2011/10/l-system/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 14:56:16 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Ciphers]]></category>
		<category><![CDATA[Fractals]]></category>
		<category><![CDATA[Geometry]]></category>
		<category><![CDATA[L-systems]]></category>
		<category><![CDATA[Lines]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Symmetries]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=1591</guid>
		<description><![CDATA[A year ago, almost to the day, as I was searching for ways to procedurally make random street maps (of which I wrote a post here), I got wind of L-Systems which seemed like a good venture for Scriptographer. I found Aristid Lindenmeyer&#8216;s, book &#8211; The Algorithmic Beauty of Plants &#8211; as a high quality <a href="http://monovektor.com/2011/10/l-system/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/10/l-system/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/10/l-system/&t=L-SYSTEM">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=L-SYSTEM:%20http://monovektor.com/2011/10/l-system/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/10/l-system/&title=L-SYSTEM">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/10/l-system/&title=L-SYSTEM">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p>A year ago, almost to the day, as I was searching for ways to procedurally make random street maps (of which I wrote a post <a title="THE FUTURE MR CITY PLANNER?" href="http://monovektor.com/2011/03/the-future-mr-city-planner/">here</a>), I got wind of <a href="http://en.wikipedia.org/wiki/Lsystem" target="_blank">L-Systems</a> which seemed like a good venture for <a title="Scriptographer.org" href="http://scriptographer.org/" target="_blank">Scriptographer</a>. I found <a href="http://en.wikipedia.org/wiki/Aristid_Lindenmayer" target="_blank">Aristid Lindenmeyer</a>&#8216;s, book &#8211; The Algorithmic Beauty of Plants &#8211; as a high quality PDF (available for download <a href="http://algorithmicbotany.org/papers/abop/abop.pdf" target="_blank">here</a>). But somehow this whole undertaking slipped away from me and I ended up doing something else. When I finally got to it, I rewrote the whole thing in one sitting. As a matter of fact, I had very much help from an unexpected find and seemingly unrelated blog by <a href="http://gbradley.com/about">Graham Bradley</a> where he thoroughly explains how he made an <a href="http://gbradley.com/2010/08/29/emulating-enigma-in-javascript">Enigma cipher emulator</a> in javascript.<img class="aligncenter size-full wp-image-1679" title="Fig" src="http://monovektor.com/wp-content/uploads/2011/10/fig51.png" alt="" width="590" height="451" /></p>
<p><span id="more-1591"></span></p>
<p>Although having nothing to do with me, I found this nice treelike structure that exhibits the <a href="http://en.wikipedia.org/wiki/Fibonacci_number">Fibonacci number</a> properties (the increasing branches) which is not very hard to achieve with an L-System. At its most basic form it would look like this.</p>
<p><strong>Axiom: A</strong></p>
<p><strong>A → AB</strong></p>
<p><strong>B → A</strong></p>
<p>I&#8217;m fairly happy with the script as it gets the job done and it is available for download <a title="L-System" href="http://scriptographer.org/scripts/general-scripts/l-system/" target="_blank">here</a>. There are a lot of tweaks to be made, for sure, but these curves are all produced in Illustrator.<img class="aligncenter size-large wp-image-1613" title="Cesaro's Sweep" src="http://monovektor.com/wp-content/uploads/2011/10/Screen-shot-2011-10-26-at-4.24.45-PM-590x254.png" alt="" width="590" height="254" /> This is one of my favourite grammars, the Cesaro&#8217;s Sweep. It is actually a variant of the Koch Snowflake but I think it looks like trees. <img class="aligncenter size-large wp-image-1614" title="Quadratic Koch Island #3" src="http://monovektor.com/wp-content/uploads/2011/10/Screen-shot-2011-10-26-at-4.28.12-PM-590x584.png" alt="" width="590" height="584" /> Another one of many variants of the Koch curve. This is a Quadratic Koch Island. <img class="aligncenter size-large wp-image-1642" title="Dragon Curve" src="http://monovektor.com/wp-content/uploads/2011/10/Screen-shot-2011-10-28-at-4.17.19-PM-590x394.png" alt="" width="590" height="394" />The last one is called a <a href="http://en.wikipedia.org/wiki/Dragon_curve">dragon curve</a>. The keen observer will also recognize this as the curve from the Jurassic Park book. There is also a pretty handy Java applet by <a href="http://cgjennings.ca/index.html" target="_blank">Christopher G. Jennings</a> to play with <a href="http://cgjennings.ca/toybox/lsystems/index.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FICTITIOUS GLYPHS</title>
		<link>http://monovektor.com/2011/04/fictitious-glyphs/</link>
		<comments>http://monovektor.com/2011/04/fictitious-glyphs/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 21:31:20 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[Ciphers]]></category>
		<category><![CDATA[Fonts]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Symbols]]></category>
		<category><![CDATA[thumb]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=482</guid>
		<description><![CDATA[Someone scribbled some incomprehensible symbols on a wall at my work some time ago. I have no clue what it reads or if they are even real letters. Probably just the work of some bored-out-of-his-wits zombie drone. Nevertheless, they looked somewhat real to me and seemed to follow some kind of inherent system. I let <a href="http://monovektor.com/2011/04/fictitious-glyphs/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/04/fictitious-glyphs/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/04/fictitious-glyphs/&t=FICTITIOUS GLYPHS">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=FICTITIOUS+GLYPHS:%20http://monovektor.com/2011/04/fictitious-glyphs/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/04/fictitious-glyphs/&title=FICTITIOUS+GLYPHS">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/04/fictitious-glyphs/&title=FICTITIOUS+GLYPHS">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p><a href="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.11.22-PM.png"><img class="alignnone size-large wp-image-497" title="Alien Glyphs?" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.11.22-PM-590x805.png" alt="" width="590" height="805" /></a></p>
<p>Someone scribbled some incomprehensible symbols on a wall at my work some time ago. I have no clue what it reads or if they are even real letters. Probably just the work of some bored-out-of-his-wits zombie drone. Nevertheless, they looked somewhat real to me and seemed to follow some kind of inherent system. I let this percolate for some time until finally, the other day, I started to sketch out some very basic glyphs, as I had my morning coffee at Wayne&#8217;s sometime around two pm.</p>
<p>I quickly came up with 15 different types of symbols to be used as pairs, one upper and one lower. I subsequently organized them in a table and had the color coded like this.</p>
<p><img class="alignnone size-large wp-image-484" title="Glyph Table" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.16.43-PM-590x600.png" alt="" width="590" height="600" /></p>
<p>The blue are glyphs that never will be used for reasons I will go into further down. Red and green are glyphs that are duplicates and the gray are totally unique. As my script works now I use all but the blue glyphs.</p>
<p>Now, the script just randomly picks two glyphs and puts one on top of the other. Nothing more than that. Well, other than I don&#8217;t need to have them pre-made as illustrator objects as each one of the 15 glyphs just exists as sequence of four ones and zeros in an array. The numbers tells the script what side, or sides, of a square will be drawn. Get it?</p>
<p>Well, like this.</p>
<p><img class="alignnone size-medium wp-image-485" title="Sides Clarified" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.58.24-PM-400x162.png" alt="" width="300" height="121" /></p>
<p>First image is just to show in what order the sides will be read. The second image represents a glyph that in my array consequently would read 1100.</p>
<p>In order to not have the script draw the same line twice &#8211; as is the case with the blue ones &#8211; I put this rule in that don&#8217;t allow the upper glyphs third side and the lower glyphs first side to pair up. Got that?</p>
<p><img class="alignnone size-medium wp-image-488" title="Blue Glyphs" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-11.05.27-PM-400x191.png" alt="" width="300" height="143" /></p>
<p>First pair is not allowed, instead there are two other combinations to choose from.</p>
<p>Aside from that, I put in a bunch of other features such as, glyph size, stroke width, stroke caps, glyph spacing, number of glyphs, a unique glyphs only-button et cetera&#8230;</p>
<p><img class="alignnone size-large wp-image-491" title="Square Cap &amp; Thick Stroke" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.14.14-PM-590x346.png" alt="" width="590" height="346" /></p>
<p>Thick stroke, square caps and tight spacing.</p>
<p><img class="alignnone size-full wp-image-492" title="Slim Stroke &amp; Square Cap" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.15.39-PM.png" alt="" width="495" height="299" /></p>
<p>Slim Stroke, square caps and tight spacing.</p>
<p><img class="alignnone size-large wp-image-493" title="Thick Stroke &amp; Round Caps" src="http://monovektor.com/wp-content/uploads/2011/04/Screen-shot-2011-04-20-at-10.15.00-PM-590x347.png" alt="" width="590" height="347" /></p>
<p>Thick stroke, round caps and tight spacing.</p>
<p>Well, if anything it does kinda resemble some sort of alien sci-fi font&#8230; for whatever time I would need one&#8230;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>THE FUTURE MR CITY PLANNER?</title>
		<link>http://monovektor.com/2011/03/the-future-mr-city-planner/</link>
		<comments>http://monovektor.com/2011/03/the-future-mr-city-planner/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 12:14:06 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Geometry]]></category>
		<category><![CDATA[L-systems]]></category>
		<category><![CDATA[Lines]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=371</guid>
		<description><![CDATA[Some days ago I found a paper entitled &#8216;Procedural modelling of cities&#8216; written by Parish and Müller (creators of CityEngine), and was reminded of Introversion&#8216;s game-in-progress Subversion.Procedural generated cities produce some rather interesting patterns so I started to look around for more code and found the Suicidator City Generator, a free Python script for Blender. <a href="http://monovektor.com/2011/03/the-future-mr-city-planner/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/03/the-future-mr-city-planner/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/03/the-future-mr-city-planner/&t=THE FUTURE MR CITY PLANNER?">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=THE+FUTURE+MR+CITY+PLANNER%3F:%20http://monovektor.com/2011/03/the-future-mr-city-planner/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/03/the-future-mr-city-planner/&title=THE+FUTURE+MR+CITY+PLANNER%3F">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/03/the-future-mr-city-planner/&title=THE+FUTURE+MR+CITY+PLANNER%3F">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p>Some days ago I found a paper entitled &#8216;<a title="Download paper" href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.5961&amp;rep=rep1&amp;type=pdf" target="_blank">Procedural modelling of cities</a>&#8216; written by Parish and Müller (creators of <a title="CityEngine" href="http://www.procedural.com/cityengine/features.html" target="_blank">CityEngine</a>), and was reminded of <a title="Introversion" href="http://www.introversion.co.uk/index.html" target="_blank">Introversion</a>&#8216;s game-in-progress <a title="Subversion" href="http://www.introversion.co.uk/subversion/" target="_blank">Subversion</a>.<a href="http://monovektor.com/wp-content/uploads/2011/03/roadgen1.jpg"><img class="alignnone size-full wp-image-404" title="Subversion 1" src="http://monovektor.com/wp-content/uploads/2011/03/t_roadgen1.png" alt="" width="590" height="100" /></a><a href="http://monovektor.com/wp-content/uploads/2011/03/roadgen2.jpg"><img class="alignnone size-full wp-image-405" title="Subversion 2" src="http://monovektor.com/wp-content/uploads/2011/03/t_roadgen2.png" alt="" width="590" height="100" /></a><a href="http://monovektor.com/wp-content/uploads/2011/03/roadgen3.jpg"><img class="alignnone size-full wp-image-406" title="Subversion 3" src="http://monovektor.com/wp-content/uploads/2011/03/t_roadgen3.png" alt="" width="590" height="100" /></a>Procedural generated cities produce some rather interesting patterns so I started to look around for more code and found the <a title="Suicidator City Generator" href="http://arnaud.ile.nc/sce/" target="_blank">Suicidator City Generator</a>, a free Python script for Blender.</p>
<p><span id="more-371"></span></p>
<p>Jared Tarbell&#8217;s homepage <a title="Complexification" href="http://www.complexification.net/" target="_blank">Complexification</a> is another page I had found earlier. He has made some amazing scripts using <a title="Processing.org" href="http://processing.org/" target="_blank">Processing</a> and his random line, water color script very much resembles a huge city viewed from above.<a href="http://monovektor.com/wp-content/uploads/2011/03/Complexification.png"><img class="alignnone size-large wp-image-416" title="Complexification" src="http://monovektor.com/wp-content/uploads/2011/03/Complexification-590x437.png" alt="" width="590" height="437" /></a>Anyway, I threw myself head-over-heels into this undertaking and spent two nights trying to make my own city generator and came up with this.<img class="alignnone size-full wp-image-415" title="Random City" src="http://monovektor.com/wp-content/uploads/2011/03/Random-City.png" alt="" width="577" height="537" />Now, I must say that it looks fairly satisfying but it only works a fraction of the times I run it and I have no control over any of the parameters I should be able to control such as population density, map type (raster, radial or a mix of the two), road curvature, road classes and their potential to spawn new branches.</p>
<p>As in Introversion&#8217;s Subversion I guess that I would have to make use of some complex L-system but that is a little too much above my competence level, for the moment.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TILE TOY: NEW FEATURE</title>
		<link>http://monovektor.com/2011/03/tile-toy-new-feature-added/</link>
		<comments>http://monovektor.com/2011/03/tile-toy-new-feature-added/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 08:42:08 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Geometry]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Tiles]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=343</guid>
		<description><![CDATA[I have just spent the morning adding a new feature to my Tile Toy script called Sparsity. I can now control how dense the pattern will be by telling the tool to favor empty tiles &#8211; or at least tiles with no connection &#8211; by a certain percentage. Every time the tool chooses a tile <a href="http://monovektor.com/2011/03/tile-toy-new-feature-added/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/03/tile-toy-new-feature-added/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/03/tile-toy-new-feature-added/&t=TILE TOY: NEW FEATURE">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=TILE+TOY%3A+NEW+FEATURE:%20http://monovektor.com/2011/03/tile-toy-new-feature-added/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/03/tile-toy-new-feature-added/&title=TILE+TOY%3A+NEW+FEATURE">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/03/tile-toy-new-feature-added/&title=TILE+TOY%3A+NEW+FEATURE">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p>I have just spent the morning adding a new feature to my <a title="Tile Toy" href="http://monovektor.com/2011/02/tile-pattern-toy/">Tile Toy</a> script called Sparsity. I can now control how dense the pattern will be by telling the tool to favor empty tiles &#8211; or at least tiles with no connection &#8211; by a certain percentage.</p>
<p><a href="http://monovektor.com/wp-content/uploads/2011/03/Sparsity-added.png"><img class="alignnone size-large wp-image-345" title="Sparsity added" src="http://monovektor.com/wp-content/uploads/2011/03/Sparsity-added-590x405.png" alt="" width="590" height="405" /><br />
<span id="more-343"></span><br />
</a>Every time the tool chooses a tile it will first pick a random number between 0-100. If the random number is less than or equal to the percentage input it will verify that no neighboring tiles require a connection and then pick an empty tile. If, however, there  are tiles next to it that do require a connection it will simply disregard the sparseness. This way the percentage could be somewhat misleading but over a long enough period of time I guess it will even out.</p>
<p><img class="alignnone size-large wp-image-346" title="Sparsity Percentage" src="http://monovektor.com/wp-content/uploads/2011/03/Sparsity-Percentage-590x637.png" alt="" width="590" height="637" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A COMBINATION OF SCRIPTS</title>
		<link>http://monovektor.com/2011/02/combination-of-scripts/</link>
		<comments>http://monovektor.com/2011/02/combination-of-scripts/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 13:11:56 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Mazes]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Tiles]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=186</guid>
		<description><![CDATA[I have recently added some functions to two of my scripts; aMaze and the Tile Toy. The maze script can now save it&#8217;s wall data to a file which allows me to use it inside my Tile Toy script creating mazes with a completely different look. The appearance of the maze is now totally based <a href="http://monovektor.com/2011/02/combination-of-scripts/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/02/combination-of-scripts/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/02/combination-of-scripts/&t=A COMBINATION OF SCRIPTS">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=A+COMBINATION+OF+SCRIPTS:%20http://monovektor.com/2011/02/combination-of-scripts/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/02/combination-of-scripts/&title=A+COMBINATION+OF+SCRIPTS">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/02/combination-of-scripts/&title=A+COMBINATION+OF+SCRIPTS">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-200" title="aMaze" src="http://monovektor.com/wp-content/uploads/2011/02/amaze.png" alt="" width="493" height="336" /></p>
<p>I have recently added some functions to two of my scripts; <a href="http://monovektor.com/2011/02/amaze/" target="_self">aMaze</a> and the <a href="http://monovektor.com/2011/02/tile-toy/" target="_self">Tile Toy</a>. The maze script can now save it&#8217;s wall data to a file which allows me to use it inside my Tile Toy script creating mazes with a completely different look. The appearance of the maze is now totally based on what kind of tiles I create within Tile Toy.</p>
<p><img class="size-large wp-image-189 alignnone" title="Tile Toy" src="http://monovektor.com/wp-content/uploads/2011/02/Picture-13-590x400.png" alt="" width="590" height="400" /></p>
<p>At the moment it only supports &#8216;single file&#8217; tiles therefore only five tiles are needed (since it is a perfect maze it has no need for a solitary tile). Actually that number is closer to four, as a four-way intersection seems to be very rarely used.</p>
<p><img class="alignnone size-full wp-image-187" title="Tiles" src="http://monovektor.com/wp-content/uploads/2011/02/Picture-4.png" alt="" width="180" height="47" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aMAZE</title>
		<link>http://monovektor.com/2011/02/amaze/</link>
		<comments>http://monovektor.com/2011/02/amaze/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 15:00:53 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Mazes]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[thumb]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=160</guid>
		<description><![CDATA[I really can&#8217;t say how this project came about. Probably happened during one of many late nights rummaging Wikipedia… Anyhow, I read about random maze generation and was fascinated how easy it seemed. Well, it wasn&#8217;t. Not for me anyway. Thankfully I found this blog which helped me out alot. As with all my scripts <a href="http://monovektor.com/2011/02/amaze/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/02/amaze/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/02/amaze/&t=aMAZE">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=aMAZE:%20http://monovektor.com/2011/02/amaze/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/02/amaze/&title=aMAZE">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/02/amaze/&title=aMAZE">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-large wp-image-162" title="Maze" src="http://monovektor.com/wp-content/uploads/2011/02/Maze-590x206.png" alt="" width="590" height="206" /></p>
<p>I really can&#8217;t say how this project came about. Probably happened during one of many late nights rummaging Wikipedia…</p>
<p>Anyhow, I read about <a title="Maze generating algorithm" href="http://en.wikipedia.org/wiki/Maze_generation_algorithm" target="_blank">random maze generation</a> and was fascinated how easy it seemed. Well, it wasn&#8217;t. Not for me anyway. Thankfully I found <a href="http://www.xefer.com/2007/07/maze" target="_blank">this</a> blog which helped me out alot.</p>
<p>As with all my scripts so far, the moment I get the idea, all sorts of useful possibilities pop into my head. This was no exception.</p>
<p>But, as with all my scripts so far, when I&#8217;m done it doesn&#8217;t seem that interesting any more. Somehow the fun part is getting the idea and realizing it!</p>
<p><a href="http://monovektor.com/wp-content/uploads/2011/02/3D-Maze.png"><img class="alignnone size-large wp-image-166" title="3D Maze" src="http://monovektor.com/wp-content/uploads/2011/02/3D-Maze-590x368.png" alt="" width="590" height="368" /></a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TILE TOY</title>
		<link>http://monovektor.com/2011/02/tile-pattern-toy/</link>
		<comments>http://monovektor.com/2011/02/tile-pattern-toy/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 14:27:42 +0000</pubDate>
		<dc:creator><![CDATA[Håkan @ Monovektor]]></dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Scriptographer]]></category>
		<category><![CDATA[Geometry]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<category><![CDATA[Symmetries]]></category>
		<category><![CDATA[thumb]]></category>
		<category><![CDATA[Tiles]]></category>

		<guid isPermaLink="false">http://monovektor.com/?p=102</guid>
		<description><![CDATA[Finally my new script works! The idea was to make a script that would, out of limited number of tiles, create seemingly infinite variations of map- or roadlike patterns. The tiles needs some rules in order to pair them up so I drew some temporary lines representing roads just to make it easier to understand <a href="http://monovektor.com/2011/02/tile-pattern-toy/">[more…]</a><br /><br /><small><a href="http://monovektor.com/2011/02/tile-pattern-toy/">Comment</a> / <a href="http://www.facebook.com/sharer.php?u=http://monovektor.com/2011/02/tile-pattern-toy/&t=TILE TOY">Share on Facebook</a> / 
	
	<a href="http://twitter.com/home/?status=TILE+TOY:%20http://monovektor.com/2011/02/tile-pattern-toy/">Tweet</a> / <a href="http://digg.com/submit?phase=2&url=http://monovektor.com/2011/02/tile-pattern-toy/&title=TILE+TOY">Digg</a> / <a href="http://delicious.com/post?url=http://monovektor.com/2011/02/tile-pattern-toy/&title=TILE+TOY">Save on Delicious</a></small><br /><br />]]></description>
				<content:encoded><![CDATA[<p><a href="http://monovektor.com/wp-content/uploads/2011/02/Picture-1.png"><img class="alignnone size-large wp-image-103" title="A random non-repeating pattern" src="http://monovektor.com/wp-content/uploads/2011/02/Picture-1-590x578.png" alt="" width="590" height="578" /></a></p>
<p>Finally my new script works!</p>
<p>The idea was to make a script that would, out of limited number of tiles, create seemingly infinite variations of map- or roadlike patterns.</p>
<p>The tiles needs some rules in order to pair them up so I drew some temporary lines representing roads just to make it easier to understand how to match them up with each other. I soon noticed that I only needed six different variations in order to make a continous map/pattern without any of the lines ending abruptly.</p>
<p><img class="alignnone size-large wp-image-110" title="Base tile set" src="http://monovektor.com/wp-content/uploads/2011/02/Picture-8-590x122.png" alt="" width="590" height="122" /></p>
<p>No matter what tile the script chooses, it will always be possible to put another tile on either side of it and make it pair up with the rest of the pattern since all the roads lie on the symmetry axis. This is, on the other side, only true if each tile is &#8216;single filed&#8217;. The number of tiles needed will increase dramaticly with every additional &#8216;file&#8217;.</p>
<p>In the single file tile set above there are 16 possible ways of placing the tiles:</p>
<ul>
<li>Tile #1: 4 rotations</li>
<li>Tile #2: 4 rotations</li>
<li>Tile #3: 1 static</li>
<li>Tile #4: 2 rotations</li>
<li>Tile #5: 1 static</li>
<li>Tile #6: 4 rotations</li>
</ul>
<p>But, in a tile set with a higher number of files simply rotating the tile in 90º increments won&#8217;t do since it&#8217;s symmetry axis will be offset.</p>
<p><img class="alignnone size-medium wp-image-112" title="Tile reflections" src="http://monovektor.com/wp-content/uploads/2011/02/Picture-9-400x390.png" alt="" width="300" height="292" /></p>
<p>Evidently, reflecting a tile both vertically and horizontaly yields the same result as rotating 180º.</p>
<p>The script has to consider the fact that each tile should be able to both rotate and reflect.</p>
<p><a href="http://monovektor.com/wp-content/uploads/2011/02/Picture-11.png"><img class="alignnone size-large wp-image-114" title="A randomly generated repeating pattern." src="http://monovektor.com/wp-content/uploads/2011/02/Picture-11-590x590.png" alt="" width="590" height="590" /></a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
