<?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>crtl-i &#187; Patterns</title>
	<atom:link href="http://crtl-i.com/blog/category/patterns/feed/" rel="self" type="application/rss+xml" />
	<link>http://crtl-i.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 01 Mar 2011 08:16:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Gradient Patterns</title>
		<link>http://crtl-i.com/blog/2010/02/gradient-patterns/</link>
		<comments>http://crtl-i.com/blog/2010/02/gradient-patterns/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 06:15:31 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Grasshopper (Explicit History)]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[gradient]]></category>
		<category><![CDATA[Grasshopper]]></category>
		<category><![CDATA[rhino]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=492</guid>
		<description><![CDATA[Testing different patterns with grasshopper.]]></description>
			<content:encoded><![CDATA[<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/02/test2.jpg"><img class="alignnone size-full wp-image-494" title="test2" src="http://crtl-i.com/blog/wp-content/uploads/2010/02/test2.jpg" alt="" width="520" height="639" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/02/test1.jpg"><img title="test1" src="http://crtl-i.com/blog/wp-content/uploads/2010/02/test1.jpg" alt="" width="520" height="419" /></a></p>
<p>Testing different patterns with grasshopper.</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2010/02/gradient-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8&#215;8 LED Matrix</title>
		<link>http://crtl-i.com/blog/2010/01/8x8-led-matrix/</link>
		<comments>http://crtl-i.com/blog/2010/01/8x8-led-matrix/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:38:10 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[physical]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=480</guid>
		<description><![CDATA[Front side Cathode rows soldered Anode rows soldered]]></description>
			<content:encoded><![CDATA[<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7645.jpg"><img class="alignnone size-full wp-image-483" title="IMG_7645" src="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7645.jpg" alt="" width="640" height="446" /></a></p>
<p>Front side</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7644.jpg"><img class="alignnone size-full wp-image-482" title="IMG_7644" src="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7644.jpg" alt="" width="640" height="450" /></a></p>
<p>Cathode rows soldered</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7646.jpg"><img class="alignnone size-full wp-image-484" title="IMG_7646" src="http://crtl-i.com/blog/wp-content/uploads/2010/01/IMG_7646.jpg" alt="" width="640" height="435" /></a></p>
<p>Anode rows soldered</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/3-001.jpg"><img class="alignnone size-full wp-image-481" title="3-001" src="http://crtl-i.com/blog/wp-content/uploads/2010/01/3-001.jpg" alt="" width="640" height="383" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2010/01/8x8-led-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fibers 2</title>
		<link>http://crtl-i.com/blog/2010/01/fibers-2/</link>
		<comments>http://crtl-i.com/blog/2010/01/fibers-2/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 16:04:24 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[fiber]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=452</guid>
		<description><![CDATA[Ordered, but random Random, but ordered]]></description>
			<content:encoded><![CDATA[<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/1.jpg"><img src="http://crtl-i.com/blog/wp-content/uploads/2010/01/1-1024x490.jpg" alt="" width="640" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/01/2.jpg"><img src="http://crtl-i.com/blog/wp-content/uploads/2010/01/2-1024x364.jpg" alt="" width="640" /></a></p>
<p>Ordered, but random<br />
Random, but ordered</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2010/01/fibers-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fibers</title>
		<link>http://crtl-i.com/blog/2009/12/fibers/</link>
		<comments>http://crtl-i.com/blog/2009/12/fibers/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 06:26:38 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[RhinoScript]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=447</guid>
		<description><![CDATA[Recent explorations on fibrous structures]]></description>
			<content:encoded><![CDATA[<p>Recent explorations on fibrous structures</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/12/a.jpg"><img class="alignnone size-full wp-image-448" title="a" src="http://crtl-i.com/blog/wp-content/uploads/2009/12/a.jpg" alt="a" width="640" height="307" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/12/b.jpg"><img class="alignnone size-full wp-image-449" title="b" src="http://crtl-i.com/blog/wp-content/uploads/2009/12/b.jpg" alt="b" width="640" height="749" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/12/c1.jpg"><img class="alignnone size-full wp-image-450" title="c" src="http://crtl-i.com/blog/wp-content/uploads/2009/12/c1.jpg" alt="c" width="640" height="1782" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/12/fibers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Surfaces Twisted Box</title>
		<link>http://crtl-i.com/blog/2009/09/two-surface-twisted-box/</link>
		<comments>http://crtl-i.com/blog/2009/09/two-surface-twisted-box/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 20:59:14 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Grasshopper (Explicit History)]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Grasshopper]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[Two Surfaces Twisted Box]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=345</guid>
		<description><![CDATA[It&#8217;s been a while I&#8217;ve played with Grasshopper. It is getting to be more and more powerful. I think I will be exploring more in this world of Grasshopper + VB.NET and also IronPython included in the upcoming Rhino 5. This definition is super simple. It arrays / deforms a component that you define according [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while I&#8217;ve played with Grasshopper. It is getting to be more and more powerful. I think I will be exploring more in this world of Grasshopper + VB.NET and also IronPython included in the upcoming Rhino 5. This definition is super simple. It arrays / deforms a component that you define according to the two surfaces and their UV divisions.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/1a.jpg"><img class="alignnone size-full wp-image-346" title="1a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/1a.jpg" alt="1a" width="640" height="488" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/2a.jpg"><img class="alignnone size-full wp-image-347" title="2a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/2a.jpg" alt="2a" width="640" height="488" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/3a.jpg"><img class="alignnone size-full wp-image-348" title="3a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/3a.jpg" alt="3a" width="640" height="488" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/4a.jpg"><img class="alignnone size-full wp-image-349" title="4a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/4a.jpg" alt="4a" width="640" height="488" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/5a.jpg"><img class="alignnone size-full wp-image-350" title="5a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/5a.jpg" alt="5a" width="640" height="488" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/5a.jpg"></a><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/5b.jpg"><img class="alignnone size-full wp-image-351" title="5b" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/5b.jpg" alt="5b" width="640" height="488" /></a></p>
<p>In order to use the definition, first define a box, and some geometries within the box as your base component. Then, simply create two surfaces as references for organizing your components. Finally, control U/V divisions.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/def.jpg"><img class="alignnone size-full wp-image-355" title="def" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/def.jpg" alt="def" width="640" height="353" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/a.jpg"><img class="alignnone size-full wp-image-352" title="a" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/a.jpg" alt="a" width="640" height="474" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/09/b.jpg"><img class="alignnone size-full wp-image-353" title="b" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/b.jpg" alt="b" width="640" height="474" /></a></p>
<p><a style="text-decoration: none;" href="http://crtl-i.com/blog/wp-content/uploads/2009/09/c.jpg"><img class="alignnone size-full wp-image-354" title="c" src="http://crtl-i.com/blog/wp-content/uploads/2009/09/c.jpg" alt="c" width="640" height="474" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/09/two-surface-twisted-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attracted Flows</title>
		<link>http://crtl-i.com/blog/2009/07/attracted-flows/</link>
		<comments>http://crtl-i.com/blog/2009/07/attracted-flows/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 14:01:10 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[Attracted]]></category>
		<category><![CDATA[Flows]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=319</guid>
		<description><![CDATA[This is a rhinoscript where you can set various points where vectors flow out from according to a certain velocity. As these vectors travel, the flows are attracted to the various attractor points in different weights three dimensionally. It simulates a close logic to the emitted particles being attracted to newton forces in Maya. &#8212;- [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/4a.jpg"><img class="alignnone size-full wp-image-323" title="4a" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/4a.jpg" alt="4a" width="640" height="405" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/3a.jpg"><img class="alignnone size-full wp-image-320" title="3a" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/3a.jpg" alt="3a" width="640" height="405" /></a></p>
<p>This is a rhinoscript where you can set various points where vectors flow out from according to a certain velocity. As these vectors travel, the flows are attracted to the various attractor points in different weights three dimensionally. It simulates a close logic to the emitted particles being attracted to newton forces in Maya.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/11.jpg"><img class="alignnone size-full wp-image-321" title="1" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/11.jpg" alt="1" width="640" height="547" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/2.jpg"><img class="alignnone size-full wp-image-322" title="2" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/2.jpg" alt="2" width="640" height="572" /></a></p>
<p>&#8212;-</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Option Explicit</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&#8216;Script written by Howard Jiho Kim / crtl-i.com</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Call Main()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Sub Main()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim startPt, velocity</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>velocity = Array(10,0,0)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>startPt = Rhino.GetObjects(&#8220;Select Start Points&#8221;,1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&#8216;Attractors / Distances</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim no_attr, attr, attrStr, i</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>no_attr = Rhino.GetInteger(&#8220;How many attractors?&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>ReDim attr(no_attr-1), attrStr(no_attr-1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>For i=0 To no_attr-1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>attr(i) = Rhino.GetObject(&#8220;Select Attractor &#8221; &amp; (i+1),1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>attrStr(i) = Rhino.GetReal(&#8220;Enter Strength for Attractor &#8221; &amp; (i+1))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Next</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>For i=0 To Ubound(startPt)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Flow velocity, startPt(i), no_attr, attr, attrStr, 35</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Next</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">End Sub</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Function Flow(velocity, startPt, no_attr, attr, attrStr, gens)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim vec1, vec0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec1 = Rhino.VectorCreate(velocity, Array(0,0,0))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec0 = Rhino.VectorCreate(Rhino.PointCoordinates(startPt), Array(0,0,0))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim totalDistance, distance, i</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>ReDim distance(no_attr-1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim vec, finalVec, vec4, tagStop</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>tagStop = 0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>ReDim vec(no_attr-1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Dim newPt, newLine, endPt2</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>totalDistance=0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>If gens&gt;0 Then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>For i=0 To no_attr-1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>distance(i) = Rhino.Distance(Rhino.PointCoordinates(startPt), Rhino.PointCoordinates(attr(i)))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>totalDistance = totalDistance + distance(i)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Rhino.Print distance(i)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Rhino.Print totalDistance</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>If distance(i) &lt; 1 Then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>gens = -1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>End If</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Next</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&#8216;Vectors</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec4 = vec1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>For i=0 To no_attr-1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorCreate(Rhino.PointCoordinates(attr(i)), Rhino.PointCoordinates(startPt))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorUnitize(vec(i))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorScale(vec(i), (attrStr(i)/distance(i))^2)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>vec4 = Rhino.VectorAdd(vec4, vec(i))</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Next</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>finalVec = Rhino.VectorUnitize(vec4)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>finalVec = Rhino.VectorScale(finalVec, 1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>If tagStop = 0 Then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>newPt = Rhino.AddPoint(finalVec)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>newLine = Rhino.AddLine(Array(0,0,0), finalVec)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>endPt2 = Rhino.MoveObject(newPt, vec0)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>newLine = Rhino.MoveObject(newLine, vec0)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>End If</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Flow velocity, endPt2, no_attr, attr, attrStr, gens-1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>End If</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1500px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">End Function</div>
<p>Option Explicit</p>
<p>&#8216;Script written by Howard Jiho Kim / crtl-i.com</p>
<p>Call Main()</p>
<p>Sub Main()</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Dim startPt, velocity</p>
<p><span style="white-space: pre;"> </span>velocity = Array(10,0,0)</p>
<p><span style="white-space: pre;"> </span>startPt = Rhino.GetObjects(&#8220;Select Start Points&#8221;,1)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>&#8216;Attractors / Distances</p>
<p><span style="white-space: pre;"> </span>Dim no_attr, attr, attrStr, i</p>
<p><span style="white-space: pre;"> </span>no_attr = Rhino.GetInteger(&#8220;How many attractors?&#8221;)</p>
<p><span style="white-space: pre;"> </span>ReDim attr(no_attr-1), attrStr(no_attr-1)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>For i=0 To no_attr-1</p>
<p><span style="white-space: pre;"> </span>attr(i) = Rhino.GetObject(&#8220;Select Attractor &#8221; &amp; (i+1),1)</p>
<p><span style="white-space: pre;"> </span>attrStr(i) = Rhino.GetReal(&#8220;Enter Strength for Attractor &#8221; &amp; (i+1))</p>
<p><span style="white-space: pre;"> </span>Next</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>For i=0 To Ubound(startPt)</p>
<p><span style="white-space: pre;"> </span>Flow velocity, startPt(i), no_attr, attr, attrStr, 35</p>
<p><span style="white-space: pre;"> </span>Next</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span></p>
<p>End Sub</p>
<p>Function Flow(velocity, startPt, no_attr, attr, attrStr, gens)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Dim vec1, vec0</p>
<p><span style="white-space: pre;"> </span>vec1 = Rhino.VectorCreate(velocity, Array(0,0,0))</p>
<p><span style="white-space: pre;"> </span>vec0 = Rhino.VectorCreate(Rhino.PointCoordinates(startPt), Array(0,0,0))</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Dim totalDistance, distance, i</p>
<p><span style="white-space: pre;"> </span>ReDim distance(no_attr-1)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Dim vec, finalVec, vec4, tagStop</p>
<p><span style="white-space: pre;"> </span>tagStop = 0</p>
<p><span style="white-space: pre;"> </span>ReDim vec(no_attr-1)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Dim newPt, newLine, endPt2</p>
<p><span style="white-space: pre;"> </span>totalDistance=0</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>If gens&gt;0 Then</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>For i=0 To no_attr-1</p>
<p><span style="white-space: pre;"> </span>distance(i) = Rhino.Distance(Rhino.PointCoordinates(startPt), Rhino.PointCoordinates(attr(i)))</p>
<p><span style="white-space: pre;"> </span>totalDistance = totalDistance + distance(i)</p>
<p><span style="white-space: pre;"> </span>Rhino.Print distance(i)</p>
<p><span style="white-space: pre;"> </span>Rhino.Print totalDistance</p>
<p><span style="white-space: pre;"> </span>If distance(i) &lt; 1 Then</p>
<p><span style="white-space: pre;"> </span>gens = -1</p>
<p><span style="white-space: pre;"> </span>End If</p>
<p><span style="white-space: pre;"> </span>Next</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>&#8216;Vectors</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>vec4 = vec1</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>For i=0 To no_attr-1</p>
<p><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorCreate(Rhino.PointCoordinates(attr(i)), Rhino.PointCoordinates(startPt))</p>
<p><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorUnitize(vec(i))</p>
<p><span style="white-space: pre;"> </span>vec(i) = Rhino.VectorScale(vec(i), (attrStr(i)/distance(i))^2)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>vec4 = Rhino.VectorAdd(vec4, vec(i))</p>
<p><span style="white-space: pre;"> </span>Next</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>finalVec = Rhino.VectorUnitize(vec4)</p>
<p><span style="white-space: pre;"> </span>finalVec = Rhino.VectorScale(finalVec, 1)</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>If tagStop = 0 Then</p>
<p><span style="white-space: pre;"> </span>newPt = Rhino.AddPoint(finalVec)</p>
<p><span style="white-space: pre;"> </span>newLine = Rhino.AddLine(Array(0,0,0), finalVec)</p>
<p><span style="white-space: pre;"> </span>endPt2 = Rhino.MoveObject(newPt, vec0)</p>
<p><span style="white-space: pre;"> </span>newLine = Rhino.MoveObject(newLine, vec0)</p>
<p><span style="white-space: pre;"> </span>End If</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>Flow velocity, endPt2, no_attr, attr, attrStr, gens-1</p>
<p><span style="white-space: pre;"> </span></p>
<p><span style="white-space: pre;"> </span>End If</p>
<p><span style="white-space: pre;"> </span></p>
<p>End Function</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/07/attracted-flows/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Facade Studies</title>
		<link>http://crtl-i.com/blog/2009/07/facade-studies/</link>
		<comments>http://crtl-i.com/blog/2009/07/facade-studies/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 19:23:03 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[Facade]]></category>
		<category><![CDATA[Pixelate]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=312</guid>
		<description><![CDATA[Some facade studies. All these patterns are made through a version of script that is very close to the 3D-pixelate code.]]></description>
			<content:encoded><![CDATA[<p>Some facade studies. All these patterns are made through a version of script that is very close to the 3D-pixelate code.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/090706_type_f.jpg"><img class="alignnone size-full wp-image-316" title="090706_type_f" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/090706_type_f.jpg" alt="090706_type_f" width="640" height="604" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/1.jpg"><img class="alignnone size-full wp-image-313" title="1" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/1.jpg" alt="1" width="640" height="239" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/3.jpg"><img class="alignnone size-full wp-image-314" title="3" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/3.jpg" alt="3" width="640" height="426" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/07/4.jpg"><img class="alignnone size-full wp-image-315" title="4" src="http://crtl-i.com/blog/wp-content/uploads/2009/07/4.jpg" alt="4" width="640" height="430" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/07/facade-studies/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>3D &#8211; Pixelate</title>
		<link>http://crtl-i.com/blog/2009/06/3d-pixelate/</link>
		<comments>http://crtl-i.com/blog/2009/06/3d-pixelate/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 08:52:16 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[Pixelate]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=303</guid>
		<description><![CDATA[This is a script that pixelates point clouds into a user-defined 3-dimensional grid. It also arrays same size boxes to the pixelated points. If used wisely, it could become a good tool to rationalize a nurb surface into many small boxes. It first pixelates the points into a wanted grid. Naturally, the geometry starts to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-307" title="render2" src="http://crtl-i.com/blog/wp-content/uploads/2009/06/render2.jpg" alt="render2" width="640" height="275" /></p>
<p>This is a script that pixelates point clouds into a user-defined 3-dimensional grid. It also arrays same size boxes to the pixelated points. If used wisely, it could become a good tool to rationalize a nurb surface into many small boxes.</p>
<p><img class="alignnone size-full wp-image-304" title="pixelate" src="http://crtl-i.com/blog/wp-content/uploads/2009/06/pixelate.gif" alt="pixelate" width="640" height="392" /></p>
<p>It first pixelates the points into a wanted grid. Naturally, the geometry starts to lose its shape as the pixelating factor grows.</p>
<p><img class="alignnone size-full wp-image-305" title="render" src="http://crtl-i.com/blog/wp-content/uploads/2009/06/render.jpg" alt="render" width="640" height="502" /></p>
<p>Then it populates the points with a box that you define.</p>
<p>&#8212;&#8211;</p>
<p>Option Explicit</p>
<p>&#8216;Script written by Howard Jiho Kim / crtl-i.com</p>
<p>Sub Pixelate</p>
<p><span> </span>Dim strObject, arrPoint, arrObjects, box_pt(7), box</p>
<p><span> </span>arrObjects = Rhino.GetObjects(&#8220;Select points to pixelate&#8221;)</p>
<p><span> </span></p>
<p><span> </span>Dim multiplier_x, m1_x, m2_x, finalHeight_x, arrEnd(2)</p>
<p><span> </span>multiplier_x = Rhino.GetReal(&#8220;Enter Pixelating Factor for X axis (0 for Non-Pixelation): &#8220;)</p>
<p><span> </span></p>
<p><span> </span>Dim multiplier_y, m1_y, m2_y, finalHeight_y</p>
<p><span> </span>multiplier_y = Rhino.GetReal(&#8220;Enter Pixelating Factor for Y axis (0 for Non-Pixelation): &#8220;)</p>
<p><span> </span></p>
<p><span> </span>Dim multiplier_z, m1_z, m2_z, finalHeight_z</p>
<p><span> </span>multiplier_z = Rhino.GetReal(&#8220;Enter Pixelating Factor for Z axis (0 for Non-Pixelation): &#8220;)</p>
<p><span> </span></p>
<p><span> </span>Dim box_yn</p>
<p><span> </span>box_yn = Rhino.GetInteger(&#8220;Create boxes? (1-Yes, 2-No)&#8221;)</p>
<p><span> </span></p>
<p><span> </span></p>
<p><span> </span>If box_yn = 1 Then</p>
<p><span> </span>Dim box_x, box_y, box_z, box_mid_pt(2)</p>
<p><span> </span>box_x = Rhino.GetReal(&#8220;Enter Box size-x: &#8220;)</p>
<p><span> </span>box_y = Rhino.GetReal(&#8220;Enter Box size-y: &#8220;)</p>
<p><span> </span>box_z = Rhino.GetReal(&#8220;Enter Box size-z: &#8220;)</p>
<p><span> </span></p>
<p><span> </span>box_pt(0) = Array(0,0,0)</p>
<p><span> </span>box_pt(1) = Array(box_x,0,0)</p>
<p><span> </span>box_pt(2) = Array(box_x,box_y,0)</p>
<p><span> </span>box_pt(3) = Array(0,box_y,0)</p>
<p><span> </span>box_pt(4) = Array(0,0,box_z)</p>
<p><span> </span>box_pt(5) = Array(box_x,0,box_z)</p>
<p><span> </span>box_pt(6) = Array(box_x,box_y,box_z)</p>
<p><span> </span>box_pt(7) = Array(0,box_y,box_z)</p>
<p><span> </span></p>
<p><span> </span>box_mid_pt(0) = box_x/2</p>
<p><span> </span>box_mid_pt(1) = box_y/2</p>
<p><span> </span>box_mid_pt(2) = box_z/2</p>
<p><span> </span></p>
<p><span> </span>box = Rhino.AddBox(box_pt)</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p>If Not IsNull(arrObjects) Then</p>
<p><span> </span>For Each strObject In arrObjects</p>
<p><span> </span></p>
<p><span> </span>arrPoint=Rhino.PointCoordinates(strObject)</p>
<p><span> </span>Rhino.Print Rhino.Pt2Str(arrPoint, 3)</p>
<p><span> </span></p>
<p><span> </span>If multiplier_x &gt; 0 Then</p>
<p><span> </span>m1_x = arrPoint(0) / multiplier_x</p>
<p><span> </span>m1_x = Rhino.Floor(m1_x)</p>
<p><span> </span>m2_x = (arrPoint(0) &#8211; (m1_x*multiplier_x))*2</p>
<p><span> </span></p>
<p><span> </span>If m2_x &gt; multiplier_x Then m1_x = m1_x+1</p>
<p><span> </span></p>
<p><span> </span>finalHeight_x = m1_x * multiplier_x</p>
<p><span> </span>arrEnd(0) = finalHeight_x</p>
<p><span> </span>ElseIf multiplier_x=0 Then<span> </span></p>
<p><span> </span>arrEnd(0) = arrPoint(0)</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p><span> </span>If multiplier_y &gt; 0 Then</p>
<p><span> </span>m1_y = arrPoint(1) / multiplier_y</p>
<p><span> </span>m1_y = Rhino.Floor(m1_y)</p>
<p><span> </span>m2_y = (arrPoint(1) &#8211; (m1_y*multiplier_y))*2</p>
<p><span> </span></p>
<p><span> </span>If m2_y &gt; multiplier_y Then m1_y = m1_y+1</p>
<p><span> </span></p>
<p><span> </span>finalHeight_y = m1_y * multiplier_y</p>
<p><span> </span>arrEnd(1) = finalHeight_y</p>
<p><span> </span>ElseIf multiplier_y=0 Then<span> </span></p>
<p><span> </span>arrEnd(1) = arrPoint(1)</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p><span> </span>If multiplier_z &gt; 0 Then</p>
<p><span> </span>m1_z = arrPoint(2) / multiplier_z</p>
<p><span> </span>m1_z = Rhino.Floor(m1_z)</p>
<p><span> </span>m2_z = (arrPoint(2) &#8211; (m1_z*multiplier_z))*2</p>
<p><span> </span></p>
<p><span> </span>If m2_z &gt; multiplier_z Then m1_z = m1_z+1</p>
<p><span> </span></p>
<p><span> </span>finalHeight_z = m1_z * multiplier_z</p>
<p><span> </span>arrEnd(2) = finalHeight_z</p>
<p><span> </span>ElseIf multiplier_z=0 Then<span> </span></p>
<p><span> </span>arrEnd(2) = arrPoint(2)</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p><span> </span>Rhino.MoveObject strObject, arrPoint, arrEnd</p>
<p><span> </span></p>
<p><span> </span>If box_yn = 1 Then</p>
<p><span> </span>Rhino.CopyObject box, box_mid_pt, arrEnd</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p><span> </span>Next</p>
<p><span> </span></p>
<p><span> </span>If box_yn = 1 Then</p>
<p><span> </span>Rhino.DeleteObject box</p>
<p><span> </span>End If</p>
<p><span> </span>End If</p>
<p><span> </span></p>
<p>End Sub</p>
<p>Pixelate</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/06/3d-pixelate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Random / Order &#8211; Growth</title>
		<link>http://crtl-i.com/blog/2009/01/random-order-growth/</link>
		<comments>http://crtl-i.com/blog/2009/01/random-order-growth/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 12:22:37 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[order]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=208</guid>
		<description><![CDATA[I recently purchased a book which turned out to be one of the most amazing books I have ever come across: &#8220;A New Kind of Science&#8221; by Stephen Wolfram. The entire book is available online for viewing at: http://www.wolframscience.com/nksonline/toc.html I have been reading a chapter on randomness, which is why I have been writing scripts that [...]]]></description>
			<content:encoded><![CDATA[<p>I recently purchased a book which turned out to be one of the most amazing books I have ever come across: &#8220;A New Kind of Science&#8221; by Stephen Wolfram. The entire book is available online for viewing at: <a href="http://www.wolframscience.com/nksonline/toc.html">http://www.wolframscience.com/nksonline/toc.html</a></p>
<p>I have been reading a chapter on randomness, which is why I have been writing scripts that heavily depends on random number generator. These are the results of a growth algorithm that explores a territory that is somewhere in between being random and ordered. </p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/01/sample-01.jpg"><img class="alignnone size-full wp-image-210" title="sample-01" src="http://crtl-i.com/blog/wp-content/uploads/2009/01/sample-01.jpg" alt="" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2009/01/01-converted.jpg"><img class="alignnone size-full wp-image-209" title="01-converted" src="http://crtl-i.com/blog/wp-content/uploads/2009/01/01-converted.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/01/random-order-growth/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Diffuse / Noise</title>
		<link>http://crtl-i.com/blog/2008/12/diffuse-noise/</link>
		<comments>http://crtl-i.com/blog/2008/12/diffuse-noise/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 21:01:35 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[RhinoScript]]></category>
		<category><![CDATA[diffuse]]></category>
		<category><![CDATA[noice]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=203</guid>
		<description><![CDATA[A new script that I have been writing based on a script found in:  http://ncertainties3.wordpress.com/explicit-protocols/adam/181008_weldedwire/ The script diffuses any curve into smaller pieces of lines depending on a few parameters. Merry Christmas, btw :)   Some tests:  ]]></description>
			<content:encoded><![CDATA[<p>A new script that I have been writing based on a script found in: <br />
<a href="http://ncertainties3.wordpress.com/explicit-protocols/adam/181008_weldedwire/">http://ncertainties3.wordpress.com/explicit-protocols/adam/181008_weldedwire/</a></p>
<p>The script diffuses any curve into smaller pieces of lines depending on a few parameters.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/12/4.jpg"><img class="alignnone size-full wp-image-207" title="4" src="http://crtl-i.com/blog/wp-content/uploads/2008/12/4.jpg" alt="" /></a></p>
<p>Merry Christmas, btw :)</p>
<p> </p>
<p>Some tests:</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/12/1.jpg"><img class="alignnone size-full wp-image-204" title="1" src="http://crtl-i.com/blog/wp-content/uploads/2008/12/1.jpg" alt="" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/12/2.jpg"><img class="alignnone size-full wp-image-205" title="2" src="http://crtl-i.com/blog/wp-content/uploads/2008/12/2.jpg" alt="" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/12/3.jpg"><img class="alignnone size-full wp-image-206" title="3" src="http://crtl-i.com/blog/wp-content/uploads/2008/12/3.jpg" alt="" /></a></p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2008/12/diffuse-noise/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

