<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>nCodon</title>
	<atom:link href="http://ncodon.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ncodon.com</link>
	<description></description>
	<lastBuildDate>Sun, 15 Jan 2012 13:21:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ncodon.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>nCodon</title>
		<link>http://ncodon.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ncodon.com/osd.xml" title="nCodon" />
	<atom:link rel='hub' href='http://ncodon.com/?pushpress=hub'/>
		<item>
		<title>Cell-f assembly</title>
		<link>http://ncodon.com/2011/12/20/cell-f-assembly/</link>
		<comments>http://ncodon.com/2011/12/20/cell-f-assembly/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:04:28 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[generative forms]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rhino]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=704</guid>
		<description><![CDATA[Inspired by the reading of AN EVOLUTIONARY ARCHITECTURE by John Frazer and the generative toolbox. Structure generations based on John Orton Conway&#8217;s Game of Life.  The goal is to explore the emerging resulting patterns of the genetic algorithm whilst stacking all generations. The automation requires an initial finite array of cells and a maximum number of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=704&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_01.jpg"><img class="aligncenter size-full wp-image-706" title="nCodon_GOL_01" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_01.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_02.jpg"><img class="aligncenter size-full wp-image-707" title="nCodon_GOL_02" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_02.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p>Inspired by the reading of <a href="http://www.aaschool.ac.uk/publications/ea/intro.html">AN EVOLUTIONARY ARCHITECTURE</a> by John Frazer and the generative toolbox.</p>
<p>Structure generations based on John Orton Conway&#8217;s<a title="Conway's_Game_of_Life" href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life" target="_blank"> Game of Life</a>.  The goal is to explore the emerging resulting patterns of the genetic algorithm whilst stacking all generations. The automation requires an initial finite array of cells and a maximum number of generations. Their initial state (life or death) is randomly assigned based on an arbitrary threshold. The script calls a recursive routine that decides the state of each cell (life or death) depending on the state of their neighbours (8 in total) at the end of each iteration. In order to best approximate an infinite game board, the automation wraps at the edges.</p>
<p>The stacking generates unexpected &amp; elaborate patterns in xyz directions. The search for emergent behaviours is on.</p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_03.jpg"><img class="aligncenter size-full wp-image-708" title="nCodon_GOL_03" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_03.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_04.jpg"><img class="aligncenter size-full wp-image-709" title="nCodon_GOL_04" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_04.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_06.jpg"><img class="aligncenter size-full wp-image-710" title="nCodon_GOL_06" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_06.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_10.jpg"><img class="aligncenter size-full wp-image-711" title="nCodon_GOL_10" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_10.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_07.jpg"><img class="aligncenter size-full wp-image-712" title="nCodon_GOL_07" src="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_07.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p>The initial script has been developed in Python for Rhino5. This version is not optimized but presents a clear function split. The sumNeighbours function is inspired from an elegant solution by <a href="http://code.algorithmicdesign.net/" target="_blank">algorithmicdesign.net</a></p>
<p>Code:</p>
<p>import rhinoscriptsyntax as rs<br />
import math<br />
import random</p>
<p>def RandomGenesis(intGridi,intGridj):<br />
arrPt=[]<br />
for i in range(intGridi):<br />
arrj=[]<br />
for j in range(intGridj):<br />
rnd = random.random()<br />
if rnd&gt;0.97:# density threshold for initial cells<br />
arrj.append(1)<br />
else:<br />
arrj.append(0)<br />
arrPt.append(arrj)<br />
return arrPt # arrPt is a list of i no. lists _ each list contains j no. elements (1s or 0s)</p>
<p><span id="more-704"></span></p>
<p>def BrickCell(arrCtr):# BrickCell creates a square surface based on a centre point called arrCtr<br />
arrBrickLowPt1=[(arrCtr[0]-0.5),(arrCtr[1]-0.5),arrCtr[2]]<br />
arrBrickLowPt2=[(arrCtr[0]+0.5),(arrCtr[1]-0.5),arrCtr[2]]<br />
arrBrickLowPt3=[(arrCtr[0]+0.5),(arrCtr[1]+0.5),arrCtr[2]]<br />
arrBrickLowPt4=[(arrCtr[0]-0.5),(arrCtr[1]+0.5),arrCtr[2]]<br />
arrBrickLowPoints = [arrBrickLowPt1,arrBrickLowPt2,arrBrickLowPt3,arrBrickLowPt4]<br />
NewCell=rs.AddSrfPt(arrBrickLowPoints)<br />
return NewCell</p>
<p>def ArrayCellMaker(arrPt,z): # calls BrickCell for each point in arrPt at z height<br />
for i in range(len(arrPt)):<br />
for j in range(len(arrPt[i])):<br />
if arrPt[i][j]==1:<br />
arrCtr=[i,j,z]<br />
newCell=BrickCell(arrCtr)<br />
return newCell<br />
def SumNeighbours(arrPt,i,j): #sums neighbour cells values (cellN1 to &gt;&gt;&gt; cellN8) starting from bottom left corner &amp; anti clock-wise<br />
iOneUp=i+1<br />
iOneDown=i-1</p>
<p>jOneUp=j+1<br />
jOneDown=j-1</p>
<p>if i==(len(arrPt)-1):iOneUp=0 #shifts missing neighbour cell at the begining of the grid&#8217;s i axis<br />
if i==0:iOneDown=len(arrPt)-1 #shifts missing neighbour cell at the end of the grid&#8217;s i axis</p>
<p>if j==(len(arrPt[i])-1):jOneUp=0 #shifts missing neighbour cell at the begining of the grid&#8217;s j axis<br />
if j==0:jOneDown=len(arrPt[i])-1 #shifts missing neighbour cell at the end of the grid&#8217;s j axis</p>
<p>cellN1=arrPt[iOneDown][jOneDown]<br />
cellN2=arrPt[i][jOneDown]<br />
cellN3=arrPt[iOneUp][jOneDown]<br />
cellN4=arrPt[iOneUp][j]<br />
cellN5=arrPt[iOneUp][jOneUp]<br />
cellN6=arrPt[i][jOneUp]<br />
cellN7=arrPt[iOneDown][jOneUp]<br />
cellN8=arrPt[iOneDown][j]</p>
<p>SumNcells = cellN1+cellN2+cellN3+cellN4+cellN5+cellN6+cellN7+cellN8</p>
<p>return SumNcells</p>
<p>def MutateArray(arrPt):<br />
newArrPt=arrPt<br />
for i in range(len(arrPt)):<br />
for j in range(len(arrPt[i])):<br />
dblNumberOfMeighbours=SumNeighbours(arrPt,i,j)<br />
if arrPt[i][j]==0:<br />
if dblNumberOfMeighbours ==3:newArrPt[i][j]=1<br />
if arrPt[i][j]==1:<br />
if dblNumberOfMeighbours &gt;3:newArrPt[i][j]=0<br />
return newArrPt<br />
def RecursiveGameOfLife(arrPt,Generation,intMaxGeneration):<br />
if Generation&gt;intMaxGeneration:return<br />
ArrayCellMaker(arrPt,Generation)<br />
newArrPt=MutateArray(arrPt)<br />
RecursiveGameOfLife(newArrPt,Generation+1,intMaxGeneration)</p>
<p>def Main():<br />
rs.EnableRedraw(False)</p>
<p>intGridi=rs.GetInteger(&#8220;number of cells in x direction&#8221;,70,5,80)<br />
intGridj=rs.GetInteger(&#8220;number of cells in y direction&#8221;,70,5,80)<br />
intMaxGeneration=rs.GetInteger(&#8220;number of generations&#8221;,30,10,150)<br />
arrPt=RandomGenesis(intGridi,intGridj)<br />
RecursiveGameOfLife(arrPt,0,intMaxGeneration)</p>
<p>rs.EnableRedraw(True)<br />
return</p>
<p>Main()</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/704/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/704/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/704/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=704&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/12/20/cell-f-assembly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_01.jpg" medium="image">
			<media:title type="html">nCodon_GOL_01</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_02.jpg" medium="image">
			<media:title type="html">nCodon_GOL_02</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_03.jpg" medium="image">
			<media:title type="html">nCodon_GOL_03</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_04.jpg" medium="image">
			<media:title type="html">nCodon_GOL_04</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_06.jpg" medium="image">
			<media:title type="html">nCodon_GOL_06</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_10.jpg" medium="image">
			<media:title type="html">nCodon_GOL_10</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/11/ncodon_gol_07.jpg" medium="image">
			<media:title type="html">nCodon_GOL_07</media:title>
		</media:content>
	</item>
		<item>
		<title>Cell[f] Automaton Habitat</title>
		<link>http://ncodon.com/2011/12/16/cellf-automaton-habitat/</link>
		<comments>http://ncodon.com/2011/12/16/cellf-automaton-habitat/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 09:18:49 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[generative architecture]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=726</guid>
		<description><![CDATA[A [near] perfect mathematic structure affected by a chaotic process The variety of forms in nature seems endless. Patterns can derive from mathematical rules. Habitats can derive from patterns. The pavilion is a temporary proposal for a historic hall. It reflects new built orders and hidden rules in contrast with those of its classical backdrop. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=726&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A [near] perfect mathematic structure affected by a chaotic process</p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam1_7.jpg"><img class="aligncenter size-full wp-image-728" title="LG_fin_cam1_7" src="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam1_7.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam2_4.jpg"><img class="aligncenter size-full wp-image-729" title="LG_fin_cam2_4" src="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam2_4.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p>The variety of forms in nature seems endless. Patterns can derive from mathematical rules. Habitats can derive from patterns. The pavilion is a temporary proposal for a historic hall. It reflects new built orders and hidden rules in contrast with those of its classical backdrop. Of course, a genetic algorithm is no guarantee of beauty but the outcomes can be striking. The matrix of self assembling timber cubes expresses the invisible forces of life and death that affect each brick&#8230; each of us.</p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam3_2.jpg"><img class="aligncenter size-full wp-image-730" title="LG_fin_cam3_2" src="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam3_2.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam6_1.jpg"><img class="aligncenter size-full wp-image-732" title="LG_fin_cam6_1" src="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam6_1.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam9_11.jpg"><img class="aligncenter size-full wp-image-741" title="LG_fin_cam9_1" src="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam9_11.jpg?w=720&#038;h=431" alt="" width="720" height="431" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam9_1.jpg"><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/726/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=726&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/12/16/cellf-automaton-habitat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam1_7.jpg" medium="image">
			<media:title type="html">LG_fin_cam1_7</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam2_4.jpg" medium="image">
			<media:title type="html">LG_fin_cam2_4</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam3_2.jpg" medium="image">
			<media:title type="html">LG_fin_cam3_2</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam6_1.jpg" medium="image">
			<media:title type="html">LG_fin_cam6_1</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/12/lg_fin_cam9_11.jpg" medium="image">
			<media:title type="html">LG_fin_cam9_1</media:title>
		</media:content>
	</item>
		<item>
		<title>Free-form &amp; flat quads with Rhino.Python</title>
		<link>http://ncodon.com/2011/10/05/free-form-flat-quads-with-rhino-python/</link>
		<comments>http://ncodon.com/2011/10/05/free-form-flat-quads-with-rhino-python/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 19:43:11 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[vray]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=695</guid>
		<description><![CDATA[Fossile-like structures made of flat quad panels. Panels can be assembled along their folded sides. The script works with free from surfaces (trimmed or not_see conditional minimum distance between any point evaluated within surface domain and the base surface_as per Python Primer example) CODE: import rhinoscriptsyntax as rs import random #import random module def SurfaceQuad(): idSurface=rs.GetObject("Select Surface",8,True,False) if [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=695&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fossile-like structures made of flat quad panels. Panels can be assembled along their folded sides. The script works with free from surfaces (trimmed or not_see conditional minimum distance between any point evaluated within surface domain and the base surface_as per Python Primer example)</p>
<p><a href="http://ncodon.files.wordpress.com/2011/10/06p1.jpg"><img class="aligncenter size-full wp-image-697" title="06P" src="http://ncodon.files.wordpress.com/2011/10/06p1.jpg?w=720&#038;h=433" alt="" width="720" height="433" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/10/07p.jpg"><img class="aligncenter size-full wp-image-698" title="07P" src="http://ncodon.files.wordpress.com/2011/10/07p.jpg?w=720&#038;h=433" alt="" width="720" height="433" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/10/08p.jpg"><img class="aligncenter size-full wp-image-699" title="08P" src="http://ncodon.files.wordpress.com/2011/10/08p.jpg?w=720&#038;h=433" alt="" width="720" height="433" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/10/09p.jpg"><img class="aligncenter size-full wp-image-700" title="09P" src="http://ncodon.files.wordpress.com/2011/10/09p.jpg?w=720&#038;h=433" alt="" width="720" height="433" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/10/10p.jpg"><img class="aligncenter size-full wp-image-701" title="10P" src="http://ncodon.files.wordpress.com/2011/10/10p.jpg?w=720&#038;h=433" alt="" width="720" height="433" /></a></p>
<pre>CODE:
import rhinoscriptsyntax as rs
import random #import  random module

def SurfaceQuad():
    idSurface=rs.GetObject("Select Surface",8,True,False)
    if not idSurface:return
    intCountU = rs.GetInteger("Number of panels in U direction",20,10)
    if not intCountU:return
    intCountV = rs.GetInteger("Number of panels in V direction",7,5)
    if not intCountV:return
    uDomain=rs.SurfaceDomain(idSurface,0)
    vDomain=rs.SurfaceDomain(idSurface,1)
    uStep=uDomain[1] - uDomain[0]
    uStep=uStep / intCountU
    vStep=vDomain[1] - vDomain[0]
    vStep=vStep / intCountV

    #Tolerance in between panels
    dblTolU = uStep/100
    dblTolV = dblTolU*intCountU/intCountV

    rs.EnableRedraw(False)

    for v in rs.frange(vDomain[0],vDomain[1]-vStep-vDomain[0],vStep):
        for u in rs.frange (uDomain[0],uDomain[1]-uStep-uDomain[0],uStep):
            #Evaluate panel coordinates on idSurface</pre>
<p><span id="more-695"></span></p>
<pre>            ptA=rs.EvaluateSurface(idSurface,u+dblTolU,v+dblTolV)
            ptB=rs.EvaluateSurface(idSurface,u+uStep-dblTolU,v+dblTolV)
            ptC=rs.EvaluateSurface(idSurface,u+uStep-dblTolU,v+vStep-dblTolV)
            ptD=rs.EvaluateSurface(idSurface,u+dblTolU,v+vStep-dblTolV)

            #evaluate normal vectors at A,B,C,D on the surface
            vecNormA=rs.SurfaceNormal(idSurface,[u,v])
            vecNormB=rs.SurfaceNormal(idSurface,[u+uStep,v])
            vecNormC=rs.SurfaceNormal(idSurface,[u+uStep,v+vStep])
            vecNormD=rs.SurfaceNormal(idSurface,[u,v+vStep])

            #Side fixings projecting height
            #SurfaceNormal vectors are unitized by default_so we scale them according to the length of each panel
            dblPanelLength=rs.Distance(ptA,ptB)/10
            vecNormA=rs.VectorScale(vecNormA,dblPanelLength)
            vecNormB=rs.VectorScale(vecNormB,dblPanelLength)
            vecNormC=rs.VectorScale(vecNormC,dblPanelLength)
            vecNormD=rs.VectorScale(vecNormD,dblPanelLength)

            #Condition below prevent from adding a panel when surface is trimmed
            if rs.Distance(ptA,rs.BrepClosestPoint(idSurface,ptA)[0])&lt; 0.1:
                strInfiniPlane=rs.PlaneFromPoints(ptA,ptB,ptD)
            if vecNormC:
                transPtC=rs.PointAdd(ptC,vecNormC)
                arrLine=[ptC,transPtC]
                interSecPtC=rs.LinePlaneIntersection(arrLine,strInfiniPlane)

            #Typical panel function call:
            PanelA(ptA,ptB,interSecPtC,ptD,vecNormA,vecNormB,vecNormC,vecNormD)

def PanelA(a,b,c,d,vecA,vecB,vecC,vecD):
        crv1=rs.AddLine(a,b)
        crv2=rs.AddLine(b,c)
        crv3=rs.AddLine(c,d)
        crv4=rs.AddLine(d,a)

        #Radius for filletted edges of panels
        dblRadius=rs.Distance(a,c)
        dblRadius=dblRadius/20

        #Filleted curves &amp; curve endpoints
        crvFillet1=rs.AddFilletCurve(crv4,crv1,dblRadius)
        crvFilletPts1=rs.CurveFilletPoints(crv4,crv1,dblRadius)
        crvFillet2=rs.AddFilletCurve(crv1,crv2,dblRadius)
        crvFilletPts2=rs.CurveFilletPoints(crv1,crv2,dblRadius)
        crvFillet3=rs.AddFilletCurve(crv2,crv3,dblRadius)
        crvFilletPts3=rs.CurveFilletPoints(crv2,crv3,dblRadius)
        crvFillet4=rs.AddFilletCurve(crv3,crv4,dblRadius)
        crvFilletPts4=rs.CurveFilletPoints(crv3,crv4,dblRadius)

        #Panel nodes distribution and joining curve
        PtPane1=crvFilletPts1[1]
        PtPane2=crvFilletPts2[0]
        PtPane3=crvFilletPts2[1]
        PtPane4=crvFilletPts3[0]
        PtPane5=crvFilletPts3[1]
        PtPane6=crvFilletPts4[0]
        PtPane7=crvFilletPts4[1]
        PtPane8=crvFilletPts1[0]

        newCrv1=rs.AddCurve([PtPane1,PtPane2])
        newCrv2=rs.AddCurve([PtPane3,PtPane4])
        newCrv3=rs.AddCurve([PtPane5,PtPane6])
        newCrv4=rs.AddCurve([PtPane7,PtPane8])

        crvFace=rs.JoinCurves([crvFillet1,newCrv2,crvFillet2,newCrv3,crvFillet3,newCrv4,crvFillet4,newCrv1])

        #Side Fixing Plates
        NewPtPane1=rs.PointAdd(PtPane1,rs.VectorDivide((rs.VectorAdd(vecA,vecB)),2))
        NewPtPane2=rs.PointAdd(PtPane2,rs.VectorDivide((rs.VectorAdd(vecA,vecB)),2))
        NewPtPane3=rs.PointAdd(PtPane3,rs.VectorDivide((rs.VectorAdd(vecB,vecC)),2))
        NewPtPane4=rs.PointAdd(PtPane4,rs.VectorDivide((rs.VectorAdd(vecB,vecC)),2))
        NewPtPane5=rs.PointAdd(PtPane5,rs.VectorDivide((rs.VectorAdd(vecC,vecD)),2))
        NewPtPane6=rs.PointAdd(PtPane6,rs.VectorDivide((rs.VectorAdd(vecC,vecD)),2))
        NewPtPane7=rs.PointAdd(PtPane7,rs.VectorDivide((rs.VectorAdd(vecD,vecA)),2))
        NewPtPane8=rs.PointAdd(PtPane8,rs.VectorDivide((rs.VectorAdd(vecD,vecA)),2))

        Offnewcrv1=rs.AddCurve([NewPtPane1,NewPtPane2])
        Offnewcrv2=rs.AddCurve([NewPtPane3,NewPtPane4])
        Offnewcrv3=rs.AddCurve([NewPtPane5,NewPtPane6])
        Offnewcrv4=rs.AddCurve([NewPtPane7,NewPtPane8])

        arrDivOffCrv1=rs.DivideCurve(Offnewcrv1,5,False)
        ShortOffEdge1=rs.AddCurve((arrDivOffCrv1[2],arrDivOffCrv1[3]))

        arrDivOffCrv2=rs.DivideCurve(Offnewcrv2,5,False)
        ShortOffEdge2=rs.AddCurve((arrDivOffCrv2[2],arrDivOffCrv2[3]))

        arrDivOffCrv3=rs.DivideCurve(Offnewcrv3,5,False)
        ShortOffEdge3=rs.AddCurve((arrDivOffCrv3[2],arrDivOffCrv3[3]))

        arrDivOffCrv4=rs.DivideCurve(Offnewcrv4,5,False)
        ShortOffEdge4=rs.AddCurve((arrDivOffCrv4[2],arrDivOffCrv4[3]))

        arrSideFix1=[ShortOffEdge1,newCrv1]
        if arrSideFix1 is not None:
            SideFix1=rs.AddLoftSrf(arrSideFix1)
        arrSideFix2=[ShortOffEdge2,newCrv2]
        if arrSideFix2 is not None:
            SideFix2=rs.AddLoftSrf(arrSideFix2)
        arrSideFix3=[ShortOffEdge3,newCrv3]
        if arrSideFix3 is not None:
            SideFix3=rs.AddLoftSrf(arrSideFix3)
        arrSideFix4=[ShortOffEdge4,newCrv4]
        if arrSideFix4 is not None:
            SideFix4=rs.AddLoftSrf(arrSideFix4)

        #Panel base plate outline (with filletted corners)
        arrFace=rs.JoinCurves([crvFillet1,newCrv2,crvFillet2,newCrv3,crvFillet3,newCrv4,crvFillet4,newCrv1])

        #Petal pattern
        dblSwitch=random.random()#random number to generate random patterns
        strDiagonal=rs.AddCurve([a,c])
        arrPetalPtBase=rs.CurveMidPoint(strDiagonal)

        #Pattern threshold

        CrvPetalA=rs.AddCurve([arrPetalPtBase,PtPane1,PtPane8,arrPetalPtBase],3)
        CrvPetalB=rs.AddCurve([arrPetalPtBase,PtPane2,PtPane3,arrPetalPtBase],3)
        CrvPetalC=rs.AddCurve([arrPetalPtBase,PtPane4,PtPane5,arrPetalPtBase],3)
        CrvPetalD=rs.AddCurve([arrPetalPtBase,PtPane6,PtPane7,arrPetalPtBase],3)

        if dblSwitch &gt; 0.7:
            rs.SelectObjects([arrFace,CrvPetalA,CrvPetalB,CrvPetalC,CrvPetalD])
            rs.Command ("_PlanarSrf")
            rs.Command ("_SelNone")
        else:
            rs.SelectObjects([arrFace,CrvPetalA])
            rs.Command ("_PlanarSrf")
            rs.Command ("_SelNone")

        #Brackets
        arrBracketBaseLinePt4=rs.DivideCurve(newCrv4,3)
        arrBracketBaseLinePt2=rs.DivideCurve(newCrv2,3)
        arrBracketBase1=rs.DivideCurve(rs.AddCurve([arrBracketBaseLinePt4[2],arrBracketBaseLinePt2[1]]),7)
        FoldBracket1=rs.AddSrfPt([arrBracketBase1[3],arrBracketBase1[4],arrDivOffCrv1[2],arrDivOffCrv1[3]])

        arrBracketBaseLinePt1=rs.DivideCurve(newCrv1,3)
        arrBracketBaseLinePt3=rs.DivideCurve(newCrv3,3)
        arrBracketBase2=rs.DivideCurve(rs.AddCurve([arrBracketBaseLinePt1[2],arrBracketBaseLinePt3[1]]),7)
        FoldBracket2=rs.AddSrfPt([arrBracketBase2[3],arrBracketBase2[4],arrDivOffCrv2[2],arrDivOffCrv2[3]])

        arrBracketBase3=rs.DivideCurve(rs.AddCurve([arrBracketBaseLinePt2[2],arrBracketBaseLinePt4[1]]),7)
        FoldBracket3=rs.AddSrfPt([arrBracketBase3[3],arrBracketBase3[4],arrDivOffCrv3[2],arrDivOffCrv3[3]])

        arrBracketBase4=rs.DivideCurve(rs.AddCurve([arrBracketBaseLinePt3[2],arrBracketBaseLinePt1[1]]),7)
        FoldBracket4=rs.AddSrfPt([arrBracketBase4[3],arrBracketBase4[4],arrDivOffCrv4[2],arrDivOffCrv4[3]])

        #Clean up
        rs.DeleteObjects([Offnewcrv1,Offnewcrv2,Offnewcrv3,Offnewcrv4,ShortOffEdge1,ShortOffEdge2,ShortOffEdge3,ShortOffEdge4])
        rs.DeleteObjects([crv1,crv2,crv3,crv4,newCrv1,newCrv2,newCrv3,newCrv4,crvFillet1,crvFillet2,crvFillet3,crvFillet4,strDiagonal])

SurfaceQuad()</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/695/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/695/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=695&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/10/05/free-form-flat-quads-with-rhino-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/10/06p1.jpg" medium="image">
			<media:title type="html">06P</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/10/07p.jpg" medium="image">
			<media:title type="html">07P</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/10/08p.jpg" medium="image">
			<media:title type="html">08P</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/10/09p.jpg" medium="image">
			<media:title type="html">09P</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/10/10p.jpg" medium="image">
			<media:title type="html">10P</media:title>
		</media:content>
	</item>
		<item>
		<title>PROTO/E/CO/LOGICS//</title>
		<link>http://ncodon.com/2011/06/13/protoecologics/</link>
		<comments>http://ncodon.com/2011/06/13/protoecologics/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 13:36:49 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=675</guid>
		<description><![CDATA[PROTO/E/CO/LOGICS// SPECULATIVE MATERIALISM IN ARCHITECTURE SYMPOSIUM / ROVINJ / CROATIA / 6-7 AUGUST// curated by Alisa Andrasek and Bruno Juricic links: http://proto-e-co-logics.com and http://www.aaschool.ac.uk/STUDY/VISITING/rovinj.php The symposium will tease out speculative directions for architecture that move beyond innocent and reductive approaches to ecology as in notions of “sustainability” and “green”. As Slavoj Zizek reminds us, the so called “balance of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=675&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2011/06/protoecologics1.jpg"><img class="alignleft size-full wp-image-685" title="protoecologics" src="http://ncodon.files.wordpress.com/2011/06/protoecologics1.jpg?w=720" alt=""   /></a>PROTO/E/CO/LOGICS//</p>
<p>SPECULATIVE MATERIALISM IN ARCHITECTURE</p>
<p>SYMPOSIUM / ROVINJ / CROATIA / 6-7 AUGUST// curated by Alisa Andrasek and Bruno Juricic</p>
<p>links: <a href="http://proto-e-co-logics.com/index.php" target="_blank"><strong>http://proto-e-co-logics.com</strong></a> and <a href="http://www.aaschool.ac.uk/STUDY/VISITING/rovinj.php" target="_blank"><strong>http://www.aaschool.ac.uk/STUDY/VISITING/rovinj.php</strong></a></p>
<p>The symposium will tease out speculative directions for architecture that move beyond innocent and reductive approaches to ecology as in notions of “sustainability” and “green”. As Slavoj Zizek reminds us, the so called “balance of nature” is in itself a myth since catastrophes have always been an integral part of natural history. Rather than acting from a position of idealization with regards to nature, can we conceive of agency within a condition that isalready artificial, accepting noise and errors, embracing true face of complexity?</p>
<p>Recent tendencies in architecture take a unique point of view, with aesthetically novel and unnatural sensibilities emerging from a close scrutiny and study of apparently natural systems. These speculative tendencies are being driven by mathematical and computational abstractions that transform the way we understand the matter-information relationship. Instead of form being imprinted upon matter, matter is understood as an active agent in its own formation. It promotes dissolution of linear hierarchies, enabling heterogeneous and non-linear nature of complex agencies to hybridize and be incorporated into increasingly complex fabric of architecture. Under this accelerated convergence of matter-information, architecture can begin to speculate its own possible futures within denaturalized material ecology and conditions far from equilibrium.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/675/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=675&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/06/13/protoecologics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/06/protoecologics1.jpg" medium="image">
			<media:title type="html">protoecologics</media:title>
		</media:content>
	</item>
		<item>
		<title>Shingles flow</title>
		<link>http://ncodon.com/2011/03/28/shingles-flow/</link>
		<comments>http://ncodon.com/2011/03/28/shingles-flow/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 16:48:15 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhinoscript]]></category>
		<category><![CDATA[vray]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=660</guid>
		<description><![CDATA[Script developed to populate free-form surfaces with overlapping irregular panels otherwise known as &#8216;shingles&#8217;. Sculpture project for North Scotland by biomorphis. Call Main() Sub Main() Dim strSurface : strSurface = Rhino.GetObject(&#8220;Select original surface&#8221;,8) Dim arrDomU, arrDomV arrDomU = Rhino.SurfaceDomain(strSurface, 0) arrDomV = Rhino.SurfaceDomain(strSurface, 1) Dim strDivU : strDivU = Rhino.GetReal(&#8220;Please enter number of divisions in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=660&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2011/03/shingleton-001.jpg"><img class="aligncenter size-full wp-image-661" title="shingleflow 001" src="http://ncodon.files.wordpress.com/2011/03/shingleton-001.jpg?w=720&#038;h=540" alt="" width="720" height="540" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/03/shingleton-003.jpg"><img class="aligncenter size-full wp-image-665" title="shingleflow 003" src="http://ncodon.files.wordpress.com/2011/03/shingleton-003.jpg?w=720&#038;h=540" alt="" width="720" height="540" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/03/shingleton-004.jpg"><img class="aligncenter size-full wp-image-666" title="shingleflow 004" src="http://ncodon.files.wordpress.com/2011/03/shingleton-004.jpg?w=720&#038;h=540" alt="" width="720" height="540" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2011/03/shingleton-006.jpg"><img class="aligncenter size-full wp-image-667" title="shingleflow 006" src="http://ncodon.files.wordpress.com/2011/03/shingleton-006.jpg?w=720&#038;h=540" alt="" width="720" height="540" /></a></p>
<p>Script developed to populate free-form surfaces with overlapping irregular panels otherwise known as &#8216;shingles&#8217;. Sculpture project for North Scotland by <a href="http://www.biomorphis.com" target="_blank">biomorphis</a>.</p>
<div>Call Main()</div>
<div>Sub Main()</div>
<div>Dim strSurface : strSurface = Rhino.GetObject(&#8220;Select original surface&#8221;,8)</div>
<div>Dim arrDomU, arrDomV</div>
<div>arrDomU = Rhino.SurfaceDomain(strSurface, 0)</div>
<div>arrDomV = Rhino.SurfaceDomain(strSurface, 1)</div>
<div>Dim strDivU : strDivU = Rhino.GetReal(&#8220;Please enter number of divisions in u direction&#8221;,200)</div>
<div>Dim strDivV : strDivV = Rhino.GetReal(&#8220;Please enter number of divisions in V direction&#8221;,20)</div>
<div>Dim n,t,p</div>
<div>Dim dblParameterU,dblParameterUGap</div>
<div>Dim dblParameterV</div>
<div>Dim dblParameterVLap</div>
<div>Dim arrPtU(),arrPtUOffset(),arrPtOverlap(),arrPtUGap()</div>
<div>Dim arrPtUV(),arrPtUVOffset(),arrPtUVOverlap(),arrPtUVGap()</div>
<div>Dim arrCtrPt()</div>
<div>Dim strLoft1,strLoft2</div>
<div>Dim arrObjects</div>
<div>Dim arrVecNorm</div>
<div>Dim arrKnot, arrKnotOffset,arrVectilt,arrKnotOverLap,arrKnotGap,arrKnotOffsetGap</div>
<div>Dim strSrfShingle,strShingleExtrudePath</div>
<div>Dim dblOverLap: dblOverLap = 0.2</div>
<div>Call Rhino.EnableRedraw(False)</div>
<div>For n=0 To strDivV</div>
<div>Dim dblVPercent: dblVPercent = ((arrDomV(1)-arrDomV(0))/strDivV)*0.3*rnd</div>
<div>dblParameterV=arrDomV(0)+((arrDomV(1)-arrDomV(0))/strDivV)*n + dblVPercent</div>
<div>dblParameterVLap=dblParameterV+((arrDomV(1)-arrDomV(0))/strDivV)*dblOverLap</div>
<div>For t=0 To strDivU</div>
<div>Dim dblUPercent : dblUPercent = (arrDomU(1)-arrDomU(0))/strDivU*0.3*rnd</div>
<div>dblParameterU=arrDomU(0)+((arrDomU(1)-arrDomU(0))/strDivU)*t + dblUPercent</div>
<div>dblParameterUGap=dblParameterU-((arrDomU(1)-arrDomU(0))/strDivU)*0.04&#8242;&gt;&gt;&gt;&gt;&gt; gap dimension</div>
<div>arrKnot = Rhino.EvaluateSurface(strSurface,Array(dblParameterU,dblParameterV))</div>
<div>arrKnotOverLap = Rhino.EvaluateSurface(strSurface,Array(dblParameterUGap,dblParameterVLap))</div>
<div>arrKnotGap = Rhino.EvaluateSurface(strSurface,Array(dblParameterUGap,dblParameterV))</div>
<div>arrVecNorm = Rhino.SurfaceNormal(strSurface,Array(dblParameterUGap,dblParameterV))</div>
<div>If isarray(arrVecNorm)Then</div>
<div>Dim dblSlateTilt : dblSlateTilt = (10+5*rnd)</div>
<div>arrVectilt = Rhino.VectorScale(arrVecNorm,dblSlateTilt)</div>
<div>arrKnotOffset= Rhino.PointAdd(arrKnot,arrVectilt)</div>
<div>arrKnotOffsetGap= Rhino.PointAdd(arrKnotGap,arrVectilt)</div>
<div>End If</div>
<div><span id="more-660"></span></div>
<div>ReDim Preserve arrPtU(t)</div>
<div>arrPtU(t)= arrKnot</div>
<div>ReDim Preserve arrPtOverLap(t)</div>
<div>arrPtoverLap(t)= arrKnotOverLap</div>
<div>ReDim Preserve arrPtUOffset(t)</div>
<div>arrPtUOffset(t)=arrKnotOffset</div>
<div>ReDim Preserve arrPtUGap(t)</div>
<div>arrPtUGap(t)=arrKnotOffsetGap</div>
<div>&#8216;Call Rhino.AddPoint(arrPtV(t))</div>
<div>Next</div>
<div>ReDim Preserve arrPtUV(n)</div>
<div>arrPtUV(n)=arrPtU</div>
<div>ReDim Preserve arrPtUVOffset(n)</div>
<div>arrPtUVOffset(n)=arrPtUOffset</div>
<div>ReDim Preserve arrPtUVOverLap(n)</div>
<div>arrPtUVOverLap(n) = arrPtoverLap</div>
<div>ReDim Preserve arrPtUVGap(n)</div>
<div>arrPtUVGap(n)=arrPtUGap</div>
<div>&#8216;Call Rhino.AddCurve(arrPtV,2)</div>
<div>Next</div>
<div>&#8216;&#8212;&#8212;&#8212;-n row of shingles surfaces&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</div>
<div>For n = 0 To (strDivV-1) Step 2</div>
<div>For p=0 To (strDivU-1)Step 2</div>
<div>strLoft1 = Rhino.AddCurve(array(arrPtUVOffset(n)(p),arrPtUVGap(n)(p+2)))</div>
<div>strLoft2 = Rhino.AddCurve(array(arrPtUVOverLap(n+1)(p),arrPtUVOverLap(n+1)(p+2)))</div>
<div>arrObjects = Array(strLoft1,strLoft2)</div>
<div>strSrfShingle = Rhino.AddLoftSrf(arrObjects)</div>
<div>strShingleExtrudePath=rhino.AddLine(arrPtUV(n)(p),arrPtUVOffset(n)(p))</div>
<div>Call rhino.ExtrudeSurface(strSrfShingle(0),strShingleExtrudePath)</div>
<div>Call Rhino.DeleteObject(strLoft1)</div>
<div>Call Rhino.DeleteObject(strLoft2)</div>
<div>Call Rhino.DeleteObjects(strSrfShingle)</div>
<div>Call Rhino.DeleteObject(strShingleExtrudePath)</div>
<div>Next</div>
<div>Next</div>
<div>&#8216;&#8212;&#8212;&#8212;-n+1 row of shingles surfaces&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</div>
<div>For n = 1 To (strDivV-1) Step 2</div>
<div>For p=1 To (strDivU-2) Step 2</div>
<div>strLoft1 = Rhino.AddCurve(array(arrPtUVOffset(n)(p),arrPtUVGap(n)(p+2)))</div>
<div>strLoft2 = Rhino.AddCurve(array(arrPtUVOverLap(n+1)(p),arrPtUVOverLap(n+1)(p+2)))</div>
<div>arrObjects = Array(strLoft1,strLoft2)</div>
<div>strSrfShingle = Rhino.AddLoftSrf(arrObjects)</div>
<div>strShingleExtrudePath=rhino.AddLine(arrPtUV(n)(p),arrPtUVOffset(n)(p))</div>
<div>Call rhino.ExtrudeSurface(strSrfShingle(0),strShingleExtrudePath)</div>
<div>Call Rhino.DeleteObject(strLoft1)</div>
<div>Call Rhino.DeleteObject(strLoft2)</div>
<div>Call Rhino.DeleteObjects(strSrfShingle)</div>
<div>Call Rhino.DeleteObject(strShingleExtrudePath)</div>
<div>Next</div>
<div>Next</div>
<div>Call Rhino.HideObject(strSurface)</div>
<div>Call Rhino.EnableRedraw(True)</div>
<div>End Sub</div>
<div></div>
<div><!--more--></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/660/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/660/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=660&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/03/28/shingles-flow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/shingleton-001.jpg" medium="image">
			<media:title type="html">shingleflow 001</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/shingleton-003.jpg" medium="image">
			<media:title type="html">shingleflow 003</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/shingleton-004.jpg" medium="image">
			<media:title type="html">shingleflow 004</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/shingleton-006.jpg" medium="image">
			<media:title type="html">shingleflow 006</media:title>
		</media:content>
	</item>
		<item>
		<title>Weaving frame &#8211; Boreal House</title>
		<link>http://ncodon.com/2011/03/03/weaving-frame-boreal-house/</link>
		<comments>http://ncodon.com/2011/03/03/weaving-frame-boreal-house/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 12:04:52 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ncodon.com/?p=614</guid>
		<description><![CDATA[&#160; &#160; The house is a retreat for an artist  in the Scottish Highlands (visit full project on www.biomorphis.com) The initial roof structure concept was to express the multi-layering of the roof-build-up (enhanced by translucent ETFE membrane). The script allows  the weave tension and inflections to be parametrically malleable. Weaving Rhinoscript sample: ‘———-knitting V TWIN curves 1ST series—————————————————————– For [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=614&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://ncodon.files.wordpress.com/2011/03/frame-close-up-hdr-filter.jpg"><img class="aligncenter size-medium wp-image-615" title="frame-close-up-hdr-filter" src="http://ncodon.files.wordpress.com/2011/03/frame-close-up-hdr-filter.jpg?w=300&#038;h=183" alt="" width="300" height="183" /></a></p>
<div><a href="http://ncodon.files.wordpress.com/2011/03/camera02-int-300-375.jpg"><img class="aligncenter size-full wp-image-620" title="camera02-int-300-375" src="http://ncodon.files.wordpress.com/2011/03/camera02-int-300-375.jpg?w=720" alt=""   /></a></div>
<div></div>
<div><a href="http://ncodon.files.wordpress.com/2011/03/camera03-int-300-375.jpg"><img class="aligncenter size-full wp-image-624" title="camera03-int-300-375" src="http://ncodon.files.wordpress.com/2011/03/camera03-int-300-375.jpg?w=720" alt=""   /></a></div>
<div>
<div>
<div></div>
<div><a href="http://ncodon.files.wordpress.com/2011/03/camera-4-ext-300-3751.jpg"><img class="aligncenter size-full wp-image-656" title="camera-4-ext-300-375" src="http://ncodon.files.wordpress.com/2011/03/camera-4-ext-300-3751.jpg?w=720" alt=""   /></a></div>
<div><a href="http://ncodon.files.wordpress.com/2011/03/camera-1-ext-far-300-238.jpg"><img class="aligncenter size-full wp-image-657" title="camera-1-ext-far-300-238" src="http://ncodon.files.wordpress.com/2011/03/camera-1-ext-far-300-238.jpg?w=720" alt=""   /></a></div>
<div></div>
<div>The house is a retreat for an artist  in the   Scottish Highlands (visit full project on <a title="biomorphis" href="http://www.biomorphis.com" target="_blank">www.biomorphis.com</a>)</div>
<div>The initial roof structure concept was to express   the multi-layering of the roof-build-up (enhanced by translucent ETFE membrane).   The script allows  the weave tension and inflections to be parametrically   malleable.</div>
<div>
<p>Weaving   Rhinoscript sample:</p>
<p>‘———-knitting V TWIN curves 1ST   series—————————————————————–</p>
<p>For q=0 To strDivU Step   2<br />
dblParameterU=arrDomU(0) +((arrDomU(1)-arrDomU(0))/strDivU)*q<br />
For p=0 To   strDivV Step   4<br />
dblParameterV=arrDomV(0)+((arrDomV(1)-arrDomV(0))/strDivV)*p<br />
vecNormal=rhino.SurfaceNormal(strSurface,Array(dblParameterU,dblParameterV))<br />
newVecNormal   = vecnormal<br />
newVecNormal(2)= dblIntense<br />
arrCtrPt1(q)(p)=   Rhino.PointSubtract(arrCtrPt1(q)(p),newVecNormal)<br />
arrCtrPt2(q)(p)=   Rhino.PointSubtract(arrCtrPt2(q)(p),newVecNormal)<br />
Next<br />
For p=1 To strDivV   Step 4<br />
arrCtrPt1(q)(p)(2)= (arrCtrPt1(q)(p)(2))<br />
arrCtrPt2(q)(p)(2)=   (arrCtrPt2(q)(p)(2))<br />
Next<br />
For p=2 To strDivV Step   4<br />
dblParameterV=arrDomV(0)+((arrDomV(1)-arrDomV(0))/strDivV)*p<br />
vecNormal=rhino.SurfaceNormal(strSurface,Array(dblParameterU,dblParameterV))<br />
arrCtrPt1(q)(p)=   Rhino.PointAdd(arrCtrPt1(q)(p),newVecNormal)<br />
arrCtrPt2(q)(p)=   Rhino.PointAdd(arrCtrPt2(q)(p),newVecNormal)<br />
Next<br />
For p=3 To strDivV Step   4<br />
arrCtrPt1(q)(p)(2)= (arrCtrPt1(q)(p)(2))<br />
arrCtrPt2(q)(p)(2)=   (arrCtrPt2(q)(p)(2))<br />
Next<br />
For p=4 To strDivV Step   4<br />
dblParameterV=arrDomV(0)+((arrDomV(1)-arrDomV(0))/strDivV)*p<br />
vecNormal=rhino.SurfaceNormal(strSurface,Array(dblParameterU,dblParameterV))<br />
arrCtrPt1(q)(p)=   Rhino.PointSubtract(arrCtrPt1(q)(p),newVecNormal)<br />
arrCtrPt2(q)(p)=   Rhino.PointSubtract(arrCtrPt2(q)(p),newVecNormal)<br />
Next<br />
ReDim Preserve   arrVCurves1(q)<br />
arrVCurves1(q)= Rhino.AddCurve(arrCtrPt1(q),2)<br />
ReDim   Preserve arrVCurves2(q)<br />
arrVCurves2(q)=   Rhino.AddCurve(arrCtrPt2(q),2)<br />
Call   rhino.AddLoftSrf(array(arrVCurves1(q),arrVCurves2(q)))<br />
Next</p>
<p><a title="weave script" href="http://dl.dropbox.com/u/20191438/ncodon/Weave%20RhinoScript/Knit%20basket%20weave%20%28large%20objects%20mm%29.rvb" target="_blank">download full script here</a></p>
</div>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/614/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=614&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2011/03/03/weaving-frame-boreal-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/frame-close-up-hdr-filter.jpg?w=300" medium="image">
			<media:title type="html">frame-close-up-hdr-filter</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/camera02-int-300-375.jpg" medium="image">
			<media:title type="html">camera02-int-300-375</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/camera03-int-300-375.jpg" medium="image">
			<media:title type="html">camera03-int-300-375</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/camera-4-ext-300-3751.jpg" medium="image">
			<media:title type="html">camera-4-ext-300-375</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2011/03/camera-1-ext-far-300-238.jpg" medium="image">
			<media:title type="html">camera-1-ext-far-300-238</media:title>
		</media:content>
	</item>
		<item>
		<title>spider evolution</title>
		<link>http://ncodon.com/2010/12/20/spider-evolution/</link>
		<comments>http://ncodon.com/2010/12/20/spider-evolution/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 10:41:09 +0000</pubDate>
		<dc:creator>sinQb</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[generative forms]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=479</guid>
		<description><![CDATA[during the course of my investigation of simplistic model ideas with large number of different outcomes, I found myself working on a circular stack of triangles which are defined by few simple parameters. each parameter was originally defined by the user (the coding was left within the script but deactivated), however, as I was going [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=479&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2010/11/spider-6j.jpg"><img class="aligncenter size-full wp-image-481" title="spider 6j" src="http://ncodon.files.wordpress.com/2010/11/spider-6j.jpg?w=720&#038;h=400" alt="'spider evolution' overview" width="720" height="400" /></a></p>
<p>during the course of my investigation of simplistic model ideas with large number of different outcomes, I found myself working on a circular stack of triangles which are defined by few simple parameters. each parameter was originally defined by the user (the coding was left within the script but deactivated), however, as I was going through different settings to get shapes which are very different from each other for testing purposes, I decided to fully randomise the script. I have settled for the boundary condition of 20 units randomly picked to speed up the process of the shape search. within a matter of several minutes I have generated some 30 random shapes which were eventually dubbed &#8216;spider evolution&#8217;. I&#8217;m now planning to expand the script or modify it for other purposes.<a href="https://sites.google.com/site/sinqbdl/05spiderrandomised.rar?attredirects=0&amp;d=1" target="_blank"> the script is available for download.</a></p>
<p><a href="http://ncodon.files.wordpress.com/2010/11/spider-solo-3.jpg"><img class="aligncenter size-full wp-image-486" title="spider solo 3" src="http://ncodon.files.wordpress.com/2010/11/spider-solo-3.jpg?w=720&#038;h=400" alt="" width="720" height="400" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2010/11/spider-solo-2.jpg"><img class="aligncenter size-full wp-image-485" title="spider solo 2" src="http://ncodon.files.wordpress.com/2010/11/spider-solo-2.jpg?w=720&#038;h=400" alt="" width="720" height="400" /></a><a href="http://ncodon.files.wordpress.com/2010/11/spider-solo-1.jpg"><img class="aligncenter size-full wp-image-484" title="spider solo 1" src="http://ncodon.files.wordpress.com/2010/11/spider-solo-1.jpg?w=720&#038;h=400" alt="" width="720" height="400" /></a></p>
<p>.:script example:.</p>
<p>Option Explicit</p>
<p>&#8216;Script written by shane gregoran</p>
<p>&#8216;Script version 30 August 2010 00:20:56 updated 28 October 2010</p>
<p>Call p04TriangularSomethings()</p>
<p>Sub p04TriangularSomethings()</p>
<p>&#8216;for this purpose all random numbers have been set to max of 20</p>
<p>&#8216;Dim nPts : nPts = Rhino.GetReal(&#8220;how many segments&#8221;, 12)</p>
<p>Dim nPts : nPts = Floor(rnd*20)</p>
<p>If nPts &lt; 3 Then</p>
<p>nPts = 3</p>
<p>End If</p>
<p>Dim cp : cp = Rhino.WorldXYPlane</p>
<p>cp(0)(2) = Floor(rnd*10)</p>
<p>&#8216;Dim iR : iR = Rhino.GetReal(&#8220;length of short triangulation&#8221;,10)</p>
<p>Dim iR : iR = Floor(rnd*20)</p>
<p>If iR &lt; 1 Then</p>
<p>iR = 1</p>
<p>End If</p>
<p>&#8216;Dim R : R = Rhino.GetReal(&#8220;length of segments&#8221;,15)</p>
<p>Dim R : R = Floor(rnd*20)</p>
<p>If R &lt; 1 Then</p>
<p>R = 1</p>
<p>End If</p>
<p><span id="more-479"></span></p>
<p>Dim iCirc, iLength, iPts</p>
<p>ReDim iPts(nPts)</p>
<p>iCirc = Rhino.AddCircle (cp,iR)</p>
<p>If Rhino.IsCurve(iCirc) Then</p>
<p>iLength = Rhino.CurveLength(iCirc)</p>
<p>End If</p>
<p>Dim i, S, iSc</p>
<p>For i = 0 To (nPts-1)</p>
<p>iSc = iLength/nPts</p>
<p>If i=0 Then</p>
<p>S=0</p>
<p>Else</p>
<p>S = iSc*i</p>
<p>End If</p>
<p>iPts(i) = Rhino.CurveArcLengthPoint(iCirc, S)</p>
<p>Next</p>
<p>Dim oCirc, oLength, oPts</p>
<p>ReDim oPts(nPts)</p>
<p>cp(0)(2) = Floor(rnd*10)</p>
<p>oCirc = Rhino.AddCircle (cp,R)</p>
<p>If Rhino.IsCurve(oCirc) Then</p>
<p>oLength = Rhino.CurveLength(oCirc)</p>
<p>End If</p>
<p>Dim outS, oSc</p>
<p>For i = 0 To (nPts-1)</p>
<p>oSc = oLength/nPts</p>
<p>If i=0 Then</p>
<p>outS=0</p>
<p>Else</p>
<p>outS = oSc*i</p>
<p>End If</p>
<p>oPts(i) = Rhino.CurveArcLengthPoint(oCirc, outS)</p>
<p>Next</p>
<p>&#8216;Dim apxH : apxH = Rhino.GetReal(&#8220;height of apex guide curvature points&#8221;, 6)</p>
<p>Dim apxH : apxH = Floor(rnd*20)</p>
<p>Dim Origin, Direction, Normal, hPlane</p>
<p>Origin = array(0,0,apxH)</p>
<p>If IsArray(Origin) Then</p>
<p>Direction = array(0,0,apxH+1)</p>
<p>If IsArray(Direction) Then</p>
<p>Normal = VectorCreate(Direction, Origin)</p>
<p>Normal = VectorUnitize(Normal)</p>
<p>hPlane =  Rhino.PlaneFromNormal(Origin, Normal)</p>
<p>End If</p>
<p>End If</p>
<p>&#8216;Dim apxR : apxR = Rhino.GetReal(&#8220;distance of apex point from base&#8221;, 5)</p>
<p>Dim apxR : apxR = Floor(rnd*20)</p>
<p>If apxR &lt; 1 Then</p>
<p>apxR = 1</p>
<p>End If</p>
<p>Dim hCirc, hLength, hPts</p>
<p>ReDim hPts(nPts-1)</p>
<p>hCirc = Rhino.AddCircle (hPlane,apxR)</p>
<p>If Rhino.IsCurve(hCirc) Then</p>
<p>hLength = Rhino.CurveLength(hCirc)</p>
<p>End If</p>
<p>Dim hS, hSc</p>
<p>For i = 0 To (nPts-1)</p>
<p>hSc = hLength/nPts</p>
<p>If i=0 Then</p>
<p>hS=hSc/2</p>
<p>Else</p>
<p>hS = (hSc/2)+(hSc*i)</p>
<p>End If</p>
<p>hPts(i) = Rhino.CurveArcLengthPoint(hCirc, hS)</p>
<p>Next</p>
<p>Dim wo : wo = array (0,0,(apxH/2))</p>
<p>Dim crvInnerPTS, crvOutterPTS, crvInnerPTSstring, crvOutterPTSstring</p>
<p>ReDim crvOutterPTS(nPts-1), crvInnerPTS(nPts-1), crvInnerPTSstring(nPts-1), crvOutterPTSstring(nPts-1)</p>
<p>For i = 0 To (nPts-1)</p>
<p>crvOutterPTS(i) = array(wo, hPts(i), oPts(i))</p>
<p>crvOutterPTSstring(i) = Rhino.AddCurve (crvOutterPTS(i))</p>
<p>Next</p>
<p>For i = 0 To (nPts-1)</p>
<p>If i = 0 Then</p>
<p>crvInnerPTS(i) = array(wo, hPts(nPts-2), iPts(i))</p>
<p>Else</p>
<p>If i = 1 Then</p>
<p>crvInnerPTS(i) = array(wo, hPts(nPts-1), iPts(i))</p>
<p>Else</p>
<p>crvInnerPTS(i) = array(wo, hPts(i-2), iPts(i))</p>
<p>End If</p>
<p>End If</p>
<p>crvInnerPTSstring(i) = Rhino.AddCurve (crvInnerPTS(i))</p>
<p>Next</p>
<p>Dim capCurve, capCurveString</p>
<p>ReDim capCurve(nPts-1), capCurveString(nPts-1)</p>
<p>For i = 0 To (nPts-1)</p>
<p>If i = (nPts-1) Then</p>
<p>capCurve(i) = array(oPts(i), hPts(i), iPts(1))</p>
<p>Else</p>
<p>If i = (nPts-2) Then</p>
<p>capCurve(i) = array(oPts(i), hPts(i), iPts(0))</p>
<p>Else</p>
<p>capCurve(i) = array(oPts(i),hPts(i), iPts(i+2))</p>
<p>End If</p>
<p>End If</p>
<p>capCurveString(i) = Rhino.AddCurve (capCurve(i))</p>
<p>Next</p>
<p>Dim LoftA, rr, LoftB, SurfA, rrr</p>
<p>ReDim LoftA(nPts-1), LoftB(nPts-1), SurfA(nPts-1)</p>
<p>For rr = 0 To nPts-1</p>
<p>If rr = nPts-2 Then</p>
<p>rrr = 0</p>
<p>Else</p>
<p>If rr = nPts-1 Then</p>
<p>rrr = 1</p>
<p>Else</p>
<p>rrr = rr + 2</p>
<p>End If</p>
<p>End If</p>
<p>LoftA(rr) = Array(crvOutterPTSstring(rr), crvInnerPTSstring(rrr), capCurveString(rr))</p>
<p>rhino.DeleteObject iCirc</p>
<p>rhino.DeleteObject oCirc</p>
<p>rhino.DeleteObject hCirc</p>
<p>Rhino.AddEdgeSrf LoftA(rr)</p>
<p>Next</p>
<p>End Sub</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=479&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2010/12/20/spider-evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bda44b03389b6ce5292086e1ebba2cef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sinqb</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/spider-6j.jpg" medium="image">
			<media:title type="html">spider 6j</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/spider-solo-3.jpg" medium="image">
			<media:title type="html">spider solo 3</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/spider-solo-2.jpg" medium="image">
			<media:title type="html">spider solo 2</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/spider-solo-1.jpg" medium="image">
			<media:title type="html">spider solo 1</media:title>
		</media:content>
	</item>
		<item>
		<title>TAC &#8211; Technically Advanced Construction &#8211; Lectures Live</title>
		<link>http://ncodon.com/2010/11/22/tac-technically-advanced-construction-lectures-live/</link>
		<comments>http://ncodon.com/2010/11/22/tac-technically-advanced-construction-lectures-live/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 20:37:37 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[generative architecture]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=507</guid>
		<description><![CDATA[TAC &#8211; Technically Advanced Construction 2011 Milano Organized by Politecnico di Milano and friends from Co-de-iT .  One of the most interesting events for 2011 in Italy on advanced construction,  with some great people lecturing.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=507&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tac.polimi.it/"><img class="size-full wp-image-508 alignright" title="TAC_logo_nero" src="http://ncodon.files.wordpress.com/2010/11/tac_logo_nero.png?w=720" alt=""   /></a>TAC &#8211; <a href="http://www.tac.polimi.it/">Technically Advanced Construction </a><a href="http://www.tac.polimi.it/">2011 Milano</a> <a href="http://ncodon.files.wordpress.com/2010/11/tac_live_eng.jpg"><img title="TAC_Live_eng" src="http://ncodon.files.wordpress.com/2010/11/tac_live_eng.jpg?w=444&#038;h=620" alt="" width="444" height="620" /></a></p>
<p>Organized by <a href="http://www.polimi.it/home/">Politecnico di Milano</a> and friends from <a href="http://www.co-de-it.com/">Co-de-iT</a> .  One of the most interesting events for 2011 in Italy on advanced construction,  with some great people lecturing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/507/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=507&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2010/11/22/tac-technically-advanced-construction-lectures-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/tac_logo_nero.png" medium="image">
			<media:title type="html">TAC_logo_nero</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/11/tac_live_eng.jpg" medium="image">
			<media:title type="html">TAC_Live_eng</media:title>
		</media:content>
	</item>
		<item>
		<title>gravity field visualization experiment</title>
		<link>http://ncodon.com/2010/10/29/gravity-field-visualization-experiment/</link>
		<comments>http://ncodon.com/2010/10/29/gravity-field-visualization-experiment/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 20:25:28 +0000</pubDate>
		<dc:creator>sinQb</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=460</guid>
		<description><![CDATA[Gfield script is an attempt to visualize the units of space-time as they are distorted by a gravity type field. given that each &#8216;cube&#8217; represents a unit of space-time, greatly enlarged for this purpose, the distortions of each said unit will continue until the geometry can no longer represent a &#8216;cube&#8217; type space, at which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=460&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span style="text-align:center; display: block;"><a href="http://ncodon.com/2010/10/29/gravity-field-visualization-experiment/"><img src="http://img.youtube.com/vi/bMIWvSOZer4/2.jpg" alt="" /></a></span>
<p><strong><em>Gfield</em></strong> script is an attempt to visualize the units of space-time as they are distorted by a gravity type field. given that each &#8216;cube&#8217; represents a unit of space-time, greatly enlarged for this purpose, the distortions of each said unit will continue until the geometry can no longer represent a &#8216;cube&#8217; type space, at which point the &#8216;cube&#8217; will vanish. at a later time I plan to add additions to the script to uphold a change in geometry from a standard eight point geometric shape to one that can support seven or less points as well as adding mass value which will increase the strength of field generated by the attractor point for each unit of space-time that has collapsed onto the attractor point. the following video is a top view of the change in the quantity of space-time units and how they are distorted over time.</p>
<p style="text-align:center;"><a href="http://ncodon.files.wordpress.com/2010/10/gfield3d.jpg"><img class="size-medium wp-image-471 aligncenter" title="GField3d" src="http://ncodon.files.wordpress.com/2010/10/gfield3d.jpg?w=450&#038;h=380" alt="" width="450" height="380" /></a></p>
<p>I will, given time, make another &#8216;perspective view&#8217; video to further represent the three dimensionality of the changes taking place. <a title="GField rhino script" href="https://sites.google.com/site/sinqbdl/GField.rar?attredirects=0&amp;d=1" target="_blank">script is available for download.</a><br />
<a href="https://docs.google.com/leaf?id=0B1WaJajz3Oc1YjNiYTYxNGMtOGYwZS00ODM1LTk4ZTctN2U1Y2Q3MmYwMTM1&amp;sort=name&amp;layout=list&amp;num=50"></a></p>
<p><strong>.: script example:.</strong></p>
<p>Option Explicit<br />
&#8216;Script written by shane gregoran<br />
&#8216;Script version 06 May 2010 18:31:30 updated 21 October 2010</p>
<p>Call SpaceDistortionAttractor()<br />
Sub SpaceDistortionAttractor()<br />
&#8216;first we create our playground<br />
Dim Area : Area = Rhino.GetInteger(&#8220;Area covered&#8221;,10)<br />
If IsNull(Area) Then Exit Sub<br />
Dim side : side = Rhino.GetReal(&#8220;Distance between points&#8221;,0.5)<br />
If IsNull(side) Then Exit Sub<br />
Dim Gforce1 : Gforce1 = Rhino.GetReal(&#8220;Strength of the field (higher number yields bigger projection)&#8221;, 0.1)<br />
If IsNull(Gforce1) Then Exit Sub<br />
Dim PtNumber : PtNumber = Area^3 &#8211; 1<br />
Dim x : x = 0<br />
Dim y : y = 0<br />
Dim z : z = 0<br />
Dim m1 : m1 = 1<br />
Dim m2 : m2 = 1</p>
<p>Dim Sphere, boxID<br />
Dim AttPt, AttPx, AttPy, AttPz<br />
AttPx = (Area*side)/2<br />
AttPy = (Area*side)/2<br />
AttPz = (Area*side)/2<br />
AttPt = Array(AttPx,AttPy,AttPz)<br />
&#8216;Sphere = Rhino.AddSphere (AttPt,2)<br />
&#8216;Rhino.ObjectColor Sphere,RGB(255,0,0)</p>
<p>Dim Box, i, j, k<br />
Dim T : T = -1<br />
Dim A, B, C, D, E, F, G, H<br />
ReDim Box(PtNumber), A(PtNumber), B(PtNumber), C(PtNumber), D(PtNumber), E(PtNumber), F(PtNumber), G(PtNumber), H(PtNumber)</p>
<p>Call Rhino.EnableRedraw(False)<br />
Rhino.Print &#8220;please wait&#8230; universe is being sucked into a hole&#8221;</p>
<p><span id="more-460"></span>For i = 0 To Area &#8211; 1<br />
For j = 0 To Area &#8211; 1<br />
For k = 0 To Area &#8211; 1<br />
T = T + 1<br />
A(T) = Array((x+i)*side,(y+j)*side,(z+k)*side)<br />
B(T) = Array(((x+i)*side)+side,(y+j)*side,(z+k)*side)<br />
C(T) = Array(((x+i)*side)+side,((y+j)*side)+side,(z+k)*side)<br />
D(T) = Array((x+i)*side,((y+j)*side)+side,(z+k)*side)<br />
E(T) = Array((x+i)*side,(y+j)*side,((z+k)*side)+side)<br />
F(T) = Array(((x+i)*side)+side,(y+j)*side,((z+k)*side)+side)<br />
G(T) = Array(((x+i)*side)+side,((y+j)*side)+side,((z+k)*side)+side)<br />
H(T) = Array((x+i)*side,((y+j)*side)+side,((z+k)*side)+side)<br />
Box(T) = Array(A(T),B(T),C(T),D(T),E(T),F(T),G(T),H(T))<br />
&#8216;boxID = Rhino.AddBox (Box(T))<br />
&#8216;Rhino.ObjectColor boxID, RGB(120,120,120)<br />
Next<br />
Next<br />
Next<br />
&#8216;now we work out the distances<br />
&#8216;F=G*((m1*m2)/r^2)<br />
&#8216;G in this case will be valued at a scale where effects will be obvious<br />
&#8216;m1 and m2 will be added later</p>
<p>Dim GF, dist, n<br />
Dim nAx, nBx,nCx, nDx, nEx, nFx, nGx, nHx<br />
ReDim nAx(PtNumber), nBx(PtNumber), nCx(PtNumber), nDx(PtNumber), nEx(PtNumber), nFx(PtNumber), nGx(PtNumber), nHx(PtNumber)<br />
Dim nAy, nBy, nCy, nDy, nEy, nFy, nGy, nHy<br />
ReDim nAy(PtNumber), nBy(PtNumber), nCy(PtNumber), nDy(PtNumber), nEy(PtNumber), nFy(PtNumber), nGy(PtNumber), nHy(PtNumber)<br />
Dim nAz, nBz, nCz, nDz, nEz, nFz, nGz, nHz<br />
ReDim nAz(PtNumber), nBz(PtNumber), nCz(PtNumber), nDz(PtNumber), nEz(PtNumber), nFz(PtNumber), nGz(PtNumber), nHz(PtNumber)<br />
Dim timeloop<br />
Dim time : time = 1000<br />
Dim cTime, GFchange, GForce, runTime<br />
runTime=0<br />
GForce = Gforce1<br />
GFchange = 0.01</p>
<p>For cTime = 0 To time-1<br />
Gforce = Gforce+GFchange<br />
Rhino.Print &#8220;change is &#8221; &amp; (Gforce)</p>
<p>Call Rhino.EnableRedraw(False)</p>
<p>For n = 0 To PtNumber<br />
&#8216;for Ax process<br />
dist = Rhino.Distance(A(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (A(n)(0)) &lt; AttPx Then<br />
nAx(n) = (A(n)(0)) + GF<br />
End If<br />
If (A(n)(0)) = AttPx Then<br />
nAx(n) = (A(n)(0))<br />
End If<br />
If (A(n)(0)) &gt; AttPx Then<br />
nAx(n) = (A(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nAx(n) = AttPx<br />
End If</p>
<p>&#8216;for Bx process<br />
dist = Rhino.Distance(B(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (B(n)(0)) &lt; AttPx Then<br />
nBx(n) = (B(n)(0)) + GF<br />
End If<br />
If (B(n)(0)) = AttPx Then<br />
nBx(n) = (B(n)(0))<br />
End If<br />
If (B(n)(0)) &gt; AttPx Then<br />
nBx(n) = (B(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nBx(n) = AttPx<br />
End If</p>
<p>&#8216;for Cx process<br />
dist = Rhino.Distance(C(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (C(n)(0)) &lt; AttPx Then<br />
nCx(n) = (C(n)(0)) + GF<br />
End If<br />
If (C(n)(0)) = AttPx Then<br />
nCx(n) = (C(n)(0))<br />
End If<br />
If (C(n)(0)) &gt; AttPx Then<br />
nCx(n) = (C(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nCx(n) = AttPx<br />
End If</p>
<p>&#8216;for Dx process<br />
dist = Rhino.Distance(D(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (D(n)(0)) &lt; AttPx Then<br />
nDx(n) = (D(n)(0)) + GF<br />
End If<br />
If (D(n)(0)) = AttPx Then<br />
nDx(n) = (D(n)(0))<br />
End If<br />
If (D(n)(0)) &gt; AttPx Then<br />
nDx(n) = (D(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nDx(n) = AttPx<br />
End If</p>
<p>&#8216;for Ex process<br />
dist = Rhino.Distance(E(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (E(n)(0)) &lt; AttPx Then<br />
nEx(n) = (E(n)(0)) + GF<br />
End If<br />
If (E(n)(0)) = AttPx Then<br />
nEx(n) = (E(n)(0))<br />
End If<br />
If (E(n)(0)) &gt; AttPx Then<br />
nEx(n) = (E(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nEx(n) = AttPx<br />
End If</p>
<p>&#8216;for Fx process<br />
dist = Rhino.Distance(F(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (F(n)(0)) &lt; AttPx Then<br />
nFx(n) = (F(n)(0)) + GF<br />
End If<br />
If (F(n)(0)) = AttPx Then<br />
nFx(n) = (F(n)(0))<br />
End If<br />
If (F(n)(0)) &gt; AttPx Then<br />
nFx(n) = (F(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nFx(n) = AttPx<br />
End If</p>
<p>&#8216;for Gx process<br />
dist = Rhino.Distance(G(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (G(n)(0)) &lt; AttPx Then<br />
nGx(n) = (G(n)(0)) + GF<br />
End If<br />
If (G(n)(0)) = AttPx Then<br />
nGx(n) = (G(n)(0))<br />
End If<br />
If (G(n)(0)) &gt; AttPx Then<br />
nGx(n) = (G(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nGx(n) = AttPx<br />
End If</p>
<p>&#8216;for Hx process<br />
dist = Rhino.Distance(H(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (H(n)(0)) &lt; AttPx Then<br />
nHx(n) = (H(n)(0)) + GF<br />
End If<br />
If (H(n)(0)) = AttPx Then<br />
nHx(n) = (H(n)(0))<br />
End If<br />
If (H(n)(0)) &gt; AttPx Then<br />
nHx(n) = (H(n)(0)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nHx(n) = AttPx<br />
End If</p>
<p>&#8216;for Ay process<br />
dist = Rhino.Distance(A(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (A(n)(1)) &lt; AttPx Then<br />
nAy(n) = (A(n)(1)) + GF<br />
End If<br />
If (A(n)(1)) = AttPx Then<br />
nAy(n) = (A(n)(1))<br />
End If<br />
If (A(n)(1)) &gt; AttPx Then<br />
nAy(n) = (A(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nAy(n) = AttPy<br />
End If</p>
<p>&#8216;for By process<br />
dist = Rhino.Distance(B(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (B(n)(1)) &lt; AttPx Then<br />
nBy(n) = (B(n)(1)) + GF<br />
End If<br />
If (B(n)(1)) = AttPx Then<br />
nBy(n) = (B(n)(1))<br />
End If<br />
If (B(n)(1)) &gt; AttPx Then<br />
nBy(n) = (B(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nBy(n) = AttPy<br />
End If</p>
<p>&#8216;for Cy process<br />
dist = Rhino.Distance(C(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (C(n)(1)) &lt; AttPx Then<br />
nCy(n) = (C(n)(1)) + GF<br />
End If<br />
If (C(n)(1)) = AttPx Then<br />
nCy(n) = (C(n)(1))<br />
End If<br />
If (C(n)(1)) &gt; AttPx Then<br />
nCy(n) = (C(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nCy(n) = AttPy<br />
End If</p>
<p>&#8216;for Dy process<br />
dist = Rhino.Distance(D(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (D(n)(1)) &lt; AttPx Then<br />
nDy(n) = (D(n)(1)) + GF<br />
End If<br />
If (D(n)(1)) = AttPx Then<br />
nDy(n) = (D(n)(1))<br />
End If<br />
If (D(n)(1)) &gt; AttPx Then<br />
nDy(n) = (D(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nDy(n) = AttPy<br />
End If</p>
<p>&#8216;for Ey process<br />
dist = Rhino.Distance(E(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (E(n)(1)) &lt; AttPx Then<br />
nEy(n) = (E(n)(1)) + GF<br />
End If<br />
If (E(n)(1)) = AttPx Then<br />
nEy(n) = (E(n)(1))<br />
End If<br />
If (E(n)(1)) &gt; AttPx Then<br />
nEy(n) = (E(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nEy(n) = AttPy<br />
End If</p>
<p>&#8216;for Fy process<br />
dist = Rhino.Distance(F(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (F(n)(1)) &lt; AttPx Then<br />
nFy(n) = (F(n)(1)) + GF<br />
End If<br />
If (F(n)(1)) = AttPx Then<br />
nFy(n) = (F(n)(1))<br />
End If<br />
If (F(n)(1)) &gt; AttPx Then<br />
nFy(n) = (F(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nFy(n) = AttPy<br />
End If</p>
<p>&#8216;for Gy process<br />
dist = Rhino.Distance(G(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (G(n)(1)) &lt; AttPx Then<br />
nGy(n) = (G(n)(1)) + GF<br />
End If<br />
If (G(n)(1)) = AttPx Then<br />
nGy(n) = (G(n)(1))<br />
End If<br />
If (G(n)(1)) &gt; AttPx Then<br />
nGy(n) = (G(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nGy(n) = AttPy<br />
End If</p>
<p>&#8216;for Hy process<br />
dist = Rhino.Distance(H(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (H(n)(1)) &lt; AttPx Then<br />
nHy(n) = (H(n)(1)) + GF<br />
End If<br />
If (H(n)(1)) = AttPx Then<br />
nHy(n) = (H(n)(1))<br />
End If<br />
If (H(n)(1)) &gt; AttPx Then<br />
nHy(n) = (H(n)(1)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nHy(n) = AttPy<br />
End If</p>
<p>&#8216;for Az process<br />
dist = Rhino.Distance(A(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (A(n)(2)) &lt; AttPx Then<br />
nAz(n) = (A(n)(2)) + GF<br />
End If<br />
If (A(n)(2)) = AttPx Then<br />
nAz(n) = (A(n)(2))<br />
End If<br />
If (A(n)(2)) &gt; AttPx Then<br />
nAz(n) = (A(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nAz(n) = AttPz<br />
End If</p>
<p>&#8216;for Bz process<br />
dist = Rhino.Distance(B(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (B(n)(2)) &lt; AttPx Then<br />
nBz(n) = (B(n)(2)) + GF<br />
End If<br />
If (B(n)(2)) = AttPx Then<br />
nBz(n) = (B(n)(2))<br />
End If<br />
If (B(n)(2)) &gt; AttPx Then<br />
nBz(n) = (B(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nBz(n) = AttPz<br />
End If</p>
<p>&#8216;for Cz process<br />
dist = Rhino.Distance(C(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (C(n)(2)) &lt; AttPx Then<br />
nCz(n) = (C(n)(2)) + GF<br />
End If<br />
If (C(n)(2)) = AttPx Then<br />
nCz(n) = (C(n)(2))<br />
End If<br />
If (C(n)(2)) &gt; AttPx Then<br />
nCz(n) = (C(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nCz(n) = AttPz<br />
End If</p>
<p>&#8216;for Dz process<br />
dist = Rhino.Distance(D(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (D(n)(2)) &lt; AttPx Then<br />
nDz(n) = (D(n)(2)) + GF<br />
End If<br />
If (D(n)(2)) = AttPx Then<br />
nDz(n) = (D(n)(2))<br />
End If<br />
If (D(n)(2)) &gt; AttPx Then<br />
nDz(n) = (D(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nDz(n) = AttPz<br />
End If</p>
<p>&#8216;for Ez process<br />
dist = Rhino.Distance(E(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (E(n)(2)) &lt; AttPx Then<br />
nEz(n) = (E(n)(2)) + GF<br />
End If<br />
If (E(n)(2)) = AttPx Then<br />
nEz(n) = (E(n)(2))<br />
End If<br />
If (E(n)(2)) &gt; AttPx Then<br />
nEz(n) = (E(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nEz(n) = AttPz<br />
End If</p>
<p>&#8216;for Fz process<br />
dist = Rhino.Distance(F(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (F(n)(2)) &lt; AttPx Then<br />
nFz(n) = (F(n)(2)) + GF<br />
End If<br />
If (F(n)(2)) = AttPx Then<br />
nFz(n) = (F(n)(2))<br />
End If<br />
If (F(n)(2)) &gt; AttPx Then<br />
nFz(n) = (F(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nFz(n) = AttPz<br />
End If</p>
<p>&#8216;for Gz process<br />
dist = Rhino.Distance(G(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (G(n)(2)) &lt; AttPx Then<br />
nGz(n) = (G(n)(2)) + GF<br />
End If<br />
If (G(n)(2)) = AttPx Then<br />
nGz(n) = (G(n)(2))<br />
End If<br />
If (G(n)(2)) &gt; AttPx Then<br />
nGz(n) = (G(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nGz(n) = AttPz<br />
End If</p>
<p>&#8216;for Hz process<br />
dist = Rhino.Distance(H(n), AttPt)<br />
If dist &lt;&gt; 0 Then<br />
GF = Gforce*((m1*m2)/dist^2)<br />
Else GF = 0<br />
End If<br />
If (H(n)(2)) &lt; AttPx Then<br />
nHz(n) = (H(n)(2)) + GF<br />
End If<br />
If (H(n)(2)) = AttPx Then<br />
nHz(n) = (H(n)(2))<br />
End If<br />
If (H(n)(2)) &gt; AttPx Then<br />
nHz(n) = (H(n)(2)) &#8211; GF<br />
End If<br />
If GF &gt; dist Then<br />
nHz(n) = AttPz<br />
End If</p>
<p>&#8216;Rhino.AddPoint Array(nAx(n), nAy(n), nAz(n)) &#8211; test purposes<br />
Next</p>
<p>Dim nBox, nA, nB, nC, nD, nE, nF, nG, nH, m, IDbox<br />
ReDim nA(PtNumber), nB(PtNumber), nC(PtNumber), nD(PtNumber), nE(PtNumber), nF(PtNumber), nG(PtNumber), nH(PtNumber), nBox(PtNumber), IDbox(PtNumber)<br />
For m = 0 To PtNumber<br />
nA(m) = Array(nAx(m), nAy(m), nAz(m))<br />
nB(m) = Array(nBx(m), nBy(m), nBz(m))<br />
nC(m) = Array(nCx(m), nCy(m), nCz(m))<br />
nD(m) = Array(nDx(m), nDy(m), nDz(m))<br />
nE(m) = Array(nEx(m), nEy(m), nEz(m))<br />
nF(m) = Array(nFx(m), nFy(m), nFz(m))<br />
nG(m) = Array(nGx(m), nGy(m), nGz(m))<br />
nH(m) = Array(nHx(m), nHy(m), nHz(m))<br />
nBox(m) =  Array(nA(m), nB(m), nC(m), nD(m), nE(m), nF(m), nG(m), nH(m))<br />
IDbox(m) = Rhino.AddBox(nBox(m))<br />
Next</p>
<p>Call Rhino.EnableRedraw(True)<br />
&#8216;Rhino.CreatePreviewImage &#8220;G1r&#8221; &amp; cTime &amp; &#8220;.jpg&#8221;,,array(1000,800),,True</p>
<p>If runTime = 0 Then<br />
Call Rhino.EnableRedraw(False)<br />
For timeloop = 0 To PtNumber<br />
If IsNull(IDbox(timeloop)) Then<br />
&#8216;Rhino.Print(&#8220;space is being eaten by a massive black hole !!!!!&#8221;)<br />
Else<br />
Rhino.Sleep 5<br />
Rhino.DeleteObject IDbox(timeloop)<br />
End If<br />
Next<br />
Call Rhino.EnableRedraw(True)<br />
End If<br />
runTime = 0<br />
Next</p>
<p>End Sub</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=460&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2010/10/29/gravity-field-visualization-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bda44b03389b6ce5292086e1ebba2cef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sinqb</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/10/gfield3d.jpg?w=300" medium="image">
			<media:title type="html">GField3d</media:title>
		</media:content>
	</item>
		<item>
		<title>Twirl_RhinoScript</title>
		<link>http://ncodon.com/2010/07/04/twirl_rhinoscript/</link>
		<comments>http://ncodon.com/2010/07/04/twirl_rhinoscript/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 17:57:02 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[generative forms]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=438</guid>
		<description><![CDATA[Option Explicit &#8216;Script written by &#60;pierre forissier&#62; for nCodon Call Main() Sub Main() &#8216;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62; &#8216;Points cloud for twirl base curve Dim arrPoint0, arrPoint1, arrPoint2, arrPoint3 Dim arrCtlPts() Dim i Dim N Dim crvBase N=0 For i = 0 To 500 Step 5 arrPoint0 = array(rnd*10,(rnd*10),i) arrPoint1 = array(90+rnd*10,(10*rnd),i) arrPoint2 = array(90+10*rnd,(90+rnd*10),i) arrPoint3 = array(rnd*10,(90+10*rnd),i) ReDim [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=438&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-001-copy.jpg"><img class="aligncenter size-full wp-image-439" title="DNA Post 001 copy" src="http://ncodon.files.wordpress.com/2010/07/dna-post-001-copy.jpg?w=720&#038;h=531" alt="" width="720" height="531" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-002-copy.jpg"><img class="aligncenter size-full wp-image-440" title="DNA Post 002 copy" src="http://ncodon.files.wordpress.com/2010/07/dna-post-002-copy.jpg?w=720&#038;h=529" alt="" width="720" height="529" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-002-copy.jpg"></a><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-003-copy.jpg"><img class="aligncenter size-full wp-image-441" title="DNA Post 003 copy" src="http://ncodon.files.wordpress.com/2010/07/dna-post-003-copy.jpg?w=720&#038;h=531" alt="" width="720" height="531" /></a></p>
<p><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-003-copy.jpg"></a><a href="http://ncodon.files.wordpress.com/2010/07/dna-post-006-copy.jpg"><img class="aligncenter size-full wp-image-442" title="DNA Post 006 copy" src="http://ncodon.files.wordpress.com/2010/07/dna-post-006-copy.jpg?w=720&#038;h=531" alt="" width="720" height="531" /></a></p>
<p>Option Explicit</p>
<p>&#8216;Script written by &lt;pierre forissier&gt; for nCodon</p>
<p>Call Main()<br />
Sub Main()</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Points cloud for twirl base curve</p>
<p>Dim arrPoint0, arrPoint1, arrPoint2, arrPoint3<br />
Dim arrCtlPts()<br />
Dim i<br />
Dim N<br />
Dim crvBase<br />
N=0</p>
<p>For i = 0 To 500 Step 5</p>
<p>arrPoint0 = array(rnd*10,(rnd*10),i)<br />
arrPoint1 = array(90+rnd*10,(10*rnd),i)<br />
arrPoint2 = array(90+10*rnd,(90+rnd*10),i)<br />
arrPoint3 = array(rnd*10,(90+10*rnd),i)</p>
<p>ReDim Preserve arrCtlPts(N)<br />
arrCtlPts(N) = arrPoint0</p>
<p>ReDim Preserve arrCtlPts(N+1)<br />
arrCtlPts(N+1) = arrPoint1</p>
<p>ReDim Preserve arrCtlPts(N+2)<br />
arrCtlPts(N+2) = arrPoint2</p>
<p>ReDim Preserve arrCtlPts(N+3)<br />
arrCtlPts(N+3) = arrPoint3</p>
<p>N=N+4</p>
<p>Next</p>
<p>crvBase = Rhino.AddCurve(arrCtlPts,2)</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Twirl</p>
<p>Call Rhino.EnableRedraw(False)</p>
<p>Dim intSamples : intSamples = 1000</p>
<p>Dim crvDomain : crvDomain = Rhino.CurveDomain(crvBase)<br />
Dim t, M</p>
<p>Dim arrCrossSections(), CrossSectionPLane<br />
Dim crvPoint, crvTangent, crvPerp, crvNormal</p>
<p>M=0</p>
<p>For t = crvDomain(0) To crvDomain(1) + 1e-9 Step (crvDomain(1)-crvDomain(0))/2000</p>
<p>crvPoint = Rhino.EvaluateCurve(crvBase,t)<br />
crvTangent = Rhino.CurveTangent(crvBase,t)<br />
crvPerp = Array(0,0,1)<br />
crvNormal = Rhino.VectorCrossProduct(crvTangent, crvPerp)</p>
<p>CrossSectionPlane = Rhino.PlaneFromFrame(crvPoint,crvPerp,crvNormal)</p>
<p>ReDim Preserve arrCrossSections(M)<br />
arrCrossSections(M) = Rhino.AddCircle(CrossSectionPlane,1)</p>
<p>M = M+1</p>
<p>Next</p>
<p>Call Rhino.AddLoftSrf(arrCrossSections)</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Twirl connectors</p>
<p>Dim arrPtBaseConnect1, arrPtBaseConnect2<br />
Dim arrPtTopConnect1<br />
Dim j</p>
<p>For j = crvDomain(0) To crvDomain(.7) Step ((crvDomain(1)-crvDomain(0))/intSamples)*20.1<br />
Dim dblRandom1 : dblRandom1 = rnd*.3<br />
arrPtBaseConnect1 = Rhino.EvaluateCurve(crvBase, j+dblRandom1)<br />
arrPtBaseConnect2 = Rhino.EvaluateCurve(crvBase, j+dblRandom1+.1)<br />
arrPtTopConnect1 = Rhino.EvaluateCurve(crvBase, j+4.3)<br />
Dim crvConnector1 : crvConnector1 = Rhino.Addline(arrPtBaseConnect1, arrPtTopConnect1)<br />
Dim objBaseSphere1 : objBaseSphere1 = Rhino.AddSphere(arrPtBaseConnect1, 2)<br />
Dim objBaseSphere2 : objBaseSphere2 = Rhino.AddSphere(arrPtBaseConnect2, 2)<br />
Dim objTopSphere1 : objTopSphere1 = Rhino.AddSphere(arrPtTopConnect1, 2)<br />
Dim objCylindLink1 : objCylindLink1 = Rhino.AddCylinder (arrPtBaseConnect1, arrPtTopConnect1, 0.3)<br />
Dim objCylindLink2 : objCylindLink2 = Rhino.AddCylinder (arrPtBaseConnect2, arrPtTopConnect1, 0.3)</p>
<p>Next</p>
<p>Call Rhino.EnableRedraw(True)</p>
<p>End Sub</p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:2017px;width:1px;height:1px;">Option Explicit<br />
&#8216;Script written by &lt;pierre forissier&gt;</p>
<p>Call Main()<br />
Sub Main()</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Points cloud for twirl base curve</p>
<p>Dim arrPoint0, arrPoint1, arrPoint2, arrPoint3<br />
Dim arrCtlPts()<br />
Dim i<br />
Dim N<br />
Dim crvBase<br />
N=0</p>
<p>For i = 0 To 500 Step 5</p>
<p>arrPoint0 = array(rnd*10,(rnd*10),i)<br />
arrPoint1 = array(90+rnd*10,(10*rnd),i)<br />
arrPoint2 = array(90+10*rnd,(90+rnd*10),i)<br />
arrPoint3 = array(rnd*10,(90+10*rnd),i)</p>
<p>ReDim Preserve arrCtlPts(N)<br />
arrCtlPts(N) = arrPoint0</p>
<p>ReDim Preserve arrCtlPts(N+1)<br />
arrCtlPts(N+1) = arrPoint1</p>
<p>ReDim Preserve arrCtlPts(N+2)<br />
arrCtlPts(N+2) = arrPoint2</p>
<p>ReDim Preserve arrCtlPts(N+3)<br />
arrCtlPts(N+3) = arrPoint3</p>
<p>N=N+4</p>
<p>Next</p>
<p>crvBase = Rhino.AddCurve(arrCtlPts,2)</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Twirl</p>
<p>Call Rhino.EnableRedraw(False)</p>
<p>Dim intSamples : intSamples = 1000</p>
<p>Dim crvDomain : crvDomain = Rhino.CurveDomain(crvBase)<br />
Dim t, M</p>
<p>Dim arrCrossSections(), CrossSectionPLane<br />
Dim crvPoint, crvTangent, crvPerp, crvNormal</p>
<p>M=0</p>
<p>For t = crvDomain(0) To crvDomain(1) + 1e-9 Step (crvDomain(1)-crvDomain(0))/2000</p>
<p>crvPoint = Rhino.EvaluateCurve(crvBase,t)<br />
crvTangent = Rhino.CurveTangent(crvBase,t)<br />
crvPerp = Array(0,0,1)<br />
crvNormal = Rhino.VectorCrossProduct(crvTangent, crvPerp)</p>
<p>CrossSectionPlane = Rhino.PlaneFromFrame(crvPoint,crvPerp,crvNormal)</p>
<p>ReDim Preserve arrCrossSections(M)<br />
arrCrossSections(M) = Rhino.AddCircle(CrossSectionPlane,1)</p>
<p>M = M+1</p>
<p>Next</p>
<p>Call Rhino.AddLoftSrf(arrCrossSections)</p>
<p>&#8216;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br />
&#8216;Twirl connectors</p>
<p>Dim arrPtBaseConnect1, arrPtBaseConnect2<br />
Dim arrPtTopConnect1<br />
Dim j</p>
<p>For j = crvDomain(0) To crvDomain(.7) Step ((crvDomain(1)-crvDomain(0))/intSamples)*20.1<br />
Dim dblRandom1 : dblRandom1 = rnd*.3<br />
arrPtBaseConnect1 = Rhino.EvaluateCurve(crvBase, j+dblRandom1)<br />
arrPtBaseConnect2 = Rhino.EvaluateCurve(crvBase, j+dblRandom1+.1)<br />
arrPtTopConnect1 = Rhino.EvaluateCurve(crvBase, j+4.3)<br />
Dim crvConnector1 : crvConnector1 = Rhino.Addline(arrPtBaseConnect1, arrPtTopConnect1)<br />
Dim objBaseSphere1 : objBaseSphere1 = Rhino.AddSphere(arrPtBaseConnect1, 2)<br />
Dim objBaseSphere2 : objBaseSphere2 = Rhino.AddSphere(arrPtBaseConnect2, 2)<br />
Dim objTopSphere1 : objTopSphere1 = Rhino.AddSphere(arrPtTopConnect1, 2)<br />
Dim objCylindLink1 : objCylindLink1 = Rhino.AddCylinder (arrPtBaseConnect1, arrPtTopConnect1, 0.3)<br />
Dim objCylindLink2 : objCylindLink2 = Rhino.AddCylinder (arrPtBaseConnect2, arrPtTopConnect1, 0.3)</p>
<p>Next</p>
<p>Call Rhino.EnableRedraw(True)</p>
<p>End Sub</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/438/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/438/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/438/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=438&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2010/07/04/twirl_rhinoscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/07/dna-post-001-copy.jpg" medium="image">
			<media:title type="html">DNA Post 001 copy</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/07/dna-post-002-copy.jpg" medium="image">
			<media:title type="html">DNA Post 002 copy</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/07/dna-post-003-copy.jpg" medium="image">
			<media:title type="html">DNA Post 003 copy</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2010/07/dna-post-006-copy.jpg" medium="image">
			<media:title type="html">DNA Post 006 copy</media:title>
		</media:content>
	</item>
		<item>
		<title>Change/Time Component of a Form</title>
		<link>http://ncodon.com/2010/04/25/change-time-component-of-a-form/</link>
		<comments>http://ncodon.com/2010/04/25/change-time-component-of-a-form/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 17:16:47 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[theory]]></category>
		<category><![CDATA[generative forms]]></category>
		<category><![CDATA[writings]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=398</guid>
		<description><![CDATA[/‘concrete geometries’ &#8211; a resultants of a continual actualization of the moment now/ It is suggested that a change/time is a fundamental element of a form and that it is necessary to view the change sequence as an intrinsic component of it. Perceiving change/time as inseparable quality implies that all of the parameters that are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=398&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><span style="font-size:small;">/</span>‘concrete geometries’  &#8211; a resultants of a continual actualization of the moment now<span style="font-size:small;">/</span></em></p>
<p><strong>It is suggested that a change/time is a fundamental element of a form and that it is necessary to view the change sequence as an intrinsic component of it. Perceiving change/time as inseparable quality implies that all of the parameters that are impacting a particular formation are directly linked to its basic structure and acting together.</strong></p>
<p>As the change is perceived as a fundamental element of a form, than all of the factors and conditions that are impacting it, become essential to the form itself &#8211; it can not be viewed as a separate entity any longer – it becomes evident that its actual structure and the conditions shaping it along the streamlines of change/time are fused and working in essentially interconnected way.</p>
<p style="text-align:left;">It is suggested that changing the way in which we think about the forms to view them  as inseparable of the flux of change, can give birth to a ‘higher’ level method planning, where parameters of change/time are included in the initial description and the basic structure of the form, giving it an integrated response mechanisms and a living entity qualities.</p>
<p>Most importantly, the spontaneous processes of change present a very powerful source of energy. The knowledge that would enable ‘connecting’ the forms with the processes and fluxes that are already in place, would empower in a sense that instead of giving a solutions that are made to withstand the change and in principle work against it, it would present a mean of ‘tapping’ into these resources.</p>
<p>Realizing and implementing this force of change, ie. the flow of matter, will potentially present a very powerful resource, whose occurrence in the architectural practice so far has been seen more along the lines of the external conditions, a sort of a consequence, rather than seeing it as a very potent source.</p>
<p><a href="http://bojanavuksanovic.blogspot.com/2010/04/change-time-component-of-form.html"><em><em>The rest of this entry on orig. website »</em></em></a></p>
<p><a href="http://sites.google.com/site/bvarchive/Home/Time-ChangeComponentofaForm.pdf?attredirects=0&amp;d=1">PDF  full text</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/398/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=398&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2010/04/25/change-time-component-of-a-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>
	</item>
		<item>
		<title>Unspecified Form</title>
		<link>http://ncodon.com/2009/12/26/unspecified-form/</link>
		<comments>http://ncodon.com/2009/12/26/unspecified-form/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 12:17:58 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[theory]]></category>
		<category><![CDATA[generative forms]]></category>
		<category><![CDATA[writings]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=364</guid>
		<description><![CDATA[Unspecified Form by Bojana Vuksanović an infinite number of possible forms Overview 1. Introduction 2. The cultural background 3. The perfect form 4. Mathematics of space, objects and relationships 5. &#8220;Unspecified form&#8221; &#8211; the &#8216;cubes&#8217; project 6. Design given as a function 7. Neutral configuration &#8211; dealing with the complexity 8. Designing the &#8216;essence&#8217; Read [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=364&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Unspecified Form<br />
by <a href="http://bojanavuksanovic.blogspot.com">Bojana Vuksanović</a></p>
<p><a href="http://1.bp.blogspot.com/_eOX0mQSV60s/ScZmb8rJMDI/AAAAAAAAAnc/89KOM0-zvpg/s1600-h/bv-state-1-web.jpg"><img class="alignleft size-full wp-image-383" title="bv-state-1-web" src="http://ncodon.files.wordpress.com/2009/12/bv-state-1-web5.jpg?w=720&#038;h=509" alt="" width="720" height="509" /></a></p>
<p>an infinite number of possible forms</p>
<p><strong>Overview</strong></p>
<p><strong>1.</strong> Introduction<br />
<strong>2.</strong> The cultural background<br />
<strong>3.</strong> The<em> perfect form</em><br />
<strong>4.</strong> Mathematics of space, objects and relationships<br />
<strong>5.</strong> &#8220;Unspecified form&#8221; &#8211; the &#8216;cubes&#8217; project<br />
<strong>6.</strong> Design given as a function<br />
<strong>7.</strong> Neutral configuration &#8211; dealing with the complexity<br />
<strong>8.</strong> Designing the &#8216;essence&#8217;</p>
<p><strong></strong><a href="http://unspecifiedform.blogspot.com/"><em>Read the rest of this entry »</em></a></p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=364&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/12/26/unspecified-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/12/bv-state-1-web5.jpg" medium="image">
			<media:title type="html">bv-state-1-web</media:title>
		</media:content>
	</item>
		<item>
		<title>T-Splines towers</title>
		<link>http://ncodon.com/2009/12/11/t-splines-towers/</link>
		<comments>http://ncodon.com/2009/12/11/t-splines-towers/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 11:45:10 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[T-Splines rhino]]></category>
		<category><![CDATA[vray]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=356</guid>
		<description><![CDATA[Exploring T-Splines options and manual operations.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=356&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncodon.files.wordpress.com/2009/12/ts-render-06-tower-copy.jpg"><img class="aligncenter size-full wp-image-357" title="ts render 06 tower copy" src="http://ncodon.files.wordpress.com/2009/12/ts-render-06-tower-copy.jpg?w=720&#038;h=540" alt="" width="720" height="540" /></a></p>
<p>Exploring T-Splines options and manual operations.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/356/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=356&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/12/11/t-splines-towers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/12/ts-render-06-tower-copy.jpg" medium="image">
			<media:title type="html">ts render 06 tower copy</media:title>
		</media:content>
	</item>
		<item>
		<title>T-Splines frame</title>
		<link>http://ncodon.com/2009/12/10/t-spline-frame/</link>
		<comments>http://ncodon.com/2009/12/10/t-spline-frame/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 20:56:20 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[T-Splines rhino]]></category>
		<category><![CDATA[vray]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=339</guid>
		<description><![CDATA[Pavilion modelled with T-Splines trial version for rhino. It&#8217;s a really nice plug-in&#8230;.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=339&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://ncodon.files.wordpress.com/2009/12/ts-render-01-montage-copy3.jpg"><img class="aligncenter size-full wp-image-343" title="ts render 01" src="http://ncodon.files.wordpress.com/2009/12/ts-render-01-montage-copy3.jpg?w=720" alt=""   /></a></p>
<p style="text-align:center;"><a href="http://ncodon.files.wordpress.com/2009/12/ts-render-03.jpg"><img class="aligncenter size-full wp-image-346" title="ts render 03" src="http://ncodon.files.wordpress.com/2009/12/ts-render-03.jpg?w=720" alt=""   /></a></p>
<p style="text-align:center;"><a href="http://ncodon.files.wordpress.com/2009/12/ts-render-04-copy.jpg"><img class="aligncenter size-full wp-image-350" title="ts render 04 copy" src="http://ncodon.files.wordpress.com/2009/12/ts-render-04-copy.jpg?w=720" alt=""   /></a></p>
<p style="text-align:center;">Pavilion modelled with <strong>T-Splines</strong> trial version for rhino. It&#8217;s a really nice plug-in&#8230;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=339&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/12/10/t-spline-frame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/12/ts-render-01-montage-copy3.jpg" medium="image">
			<media:title type="html">ts render 01</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/12/ts-render-03.jpg" medium="image">
			<media:title type="html">ts render 03</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/12/ts-render-04-copy.jpg" medium="image">
			<media:title type="html">ts render 04 copy</media:title>
		</media:content>
	</item>
		<item>
		<title>definition surface population/test</title>
		<link>http://ncodon.com/2009/12/03/definition-surface-populationtest/</link>
		<comments>http://ncodon.com/2009/12/03/definition-surface-populationtest/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 10:21:31 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=310</guid>
		<description><![CDATA[00014 00014 test rhino/v-ray rendering engine based on &#8216;Bounding box, divide interval and box component&#8217; definition found at ARTC MIAMI / ARTC Miami / (requires registration/otherwise free) gh definition / download /<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=310&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>00014<br />
<a href="http://lh5.ggpht.com/_eOX0mQSV60s/Slj3tSYPgRI/AAAAAAAAAsI/3qDFu_61Ejc/s1600-h/gh%20definition%20test%5B4%5D.jpg"><img title="gh definition test" src="http://lh6.ggpht.com/_eOX0mQSV60s/Slj3vtp3QxI/AAAAAAAAAsQ/6yM3wjJOIHY/gh%20definition%20test_thumb%5B2%5D.jpg?imgmax=800" border="0" alt="gh definition test" /></a><br />
00014 test <span style="font-size:x-small;">rhino/v-ray rendering engine</span></p>
<p>based on &#8216;Bounding box, divide interval and box component&#8217; definition found at ARTC MIAMI <span style="font-size:small;">/<span style="font-size:small;"> </span></span><span style="font-family:courier new;font-size:small;"><a href="http://www.rhino3d.tv/english/info/" target="_blank">ARTC Miami</a></span> <span style="font-size:small;">/</span><span style="font-size:small;"><span style="font-family:courier new;"> </span></span>(requires registration/otherwise free)</p>
<p>gh definition <span style="font-size:small;">/<span style="font-size:small;"> </span></span><span style="font-family:courier new;font-size:small;"><a href="http://sites.google.com/site/bvarchive/Home/ghdefinitionforsurfacepopulating.ghx?attredirects=0" target="_blank">download</a></span> <span style="font-size:small;">/</span><span style="font-size:small;"><span style="font-family:courier new;"> </span></span><span style="font-size:small;"><span style="font-family:courier new;"><span style="font-size:medium;"> </span></span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=310&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/12/03/definition-surface-populationtest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>

		<media:content url="http://lh6.ggpht.com/_eOX0mQSV60s/Slj3vtp3QxI/AAAAAAAAAsQ/6yM3wjJOIHY/gh%20definition%20test_thumb%5B2%5D.jpg?imgmax=800" medium="image">
			<media:title type="html">gh definition test</media:title>
		</media:content>
	</item>
		<item>
		<title>PLANNED Spontaneity</title>
		<link>http://ncodon.com/2009/11/30/planned-spontaneity-2/</link>
		<comments>http://ncodon.com/2009/11/30/planned-spontaneity-2/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 13:39:21 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[theory]]></category>
		<category><![CDATA[writings]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=200</guid>
		<description><![CDATA[Planned Spontaneity by Bojana Vuksanović Overview 1. Introduction 2. Planning 3. Spontaneity 4. The Issue of Complexity 5. Planned versus Spontaneous 6. Planned Spontaneity 7. Conclusion Read the rest of this entry »<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=200&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Planned </strong><em>Spontaneity</em><br />
by <a href="http://bojanavuksanovic.blogspot.com">Bojana Vuksanović</a></p>
<p><strong>Overview</strong></p>
<p><strong>1.</strong> Introduction<br />
<strong>2.</strong> Planning<br />
<strong>3.</strong> <em>Spontaneity</em><br />
<strong>4.</strong> The Issue of Complexity<br />
<strong>5.</strong> Planned versus <em>Spontaneous</em><br />
<strong>6.</strong> Planned <em>Spontaneity</em></p>
<p><strong>7.</strong> Conclusion</p>
<p><a href="http://plannedsp.blogspot.com/"><em>Read the rest of this entry »</em></a></p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=200&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/11/30/planned-spontaneity-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>
	</item>
		<item>
		<title>Art Fund Pavilion Exhibited at the Lightbox</title>
		<link>http://ncodon.com/2009/04/14/157/</link>
		<comments>http://ncodon.com/2009/04/14/157/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 17:19:34 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=157</guid>
		<description><![CDATA[We have just received the news that Pierre Forissier&#8217;s Art Fund Pavilion, entered for Cre8Architecture Office is one of the 19 entries chosen to be exhibited at the Lightbox, together with: THEVERYMANY, USA, www.theverymany.net Tina Manis Associates, USA, www.tinamanis.com 3SIX0 Architecture &#38; Design, USA, www.3six0.com AREA [Architecture Research Athens], Greece, www.areaoffice.gr Alexander Malm, Anna H. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=157&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We have just received the news that Pierre Forissier&#8217;s <a href="http://ncodon.wordpress.com/2009/03/21/art-fund-pavilion-competition-submission/">Art Fund Pavilion</a>, entered for <a href="http://cre8architecture.com">Cre8Architecture</a> Office is one of the 19 entries chosen to be exhibited at the <a href="http://www.thelightbox.org.uk">Lightbox</a>, together with:</p>
<ul>
<li> <strong>THEVERYMANY</strong>, USA, <a href="http://www.theverymany.net/">www.theverymany.net</a></li>
<li><strong> Tina Manis Associates</strong>,  USA, <a href="http://www.tinamanis.com/">www.tinamanis.com</a></li>
<li><strong>3SIX0 Architecture &amp; Design</strong>, USA, <a href="http://www.3six0.com/">www.3six0.com</a></li>
<li> <strong>AREA</strong> [Architecture  Research Athens], Greece, <a href="http://www.areaoffice.gr/">www.areaoffice.gr</a></li>
<li><strong>Alexander Malm, Anna H. Denis &amp; Henrik</strong><strong> Börjesson</strong>, Sweden</li>
<li> <strong>BCK Design</strong>, Canada, <a href="http://www.bckdesign.ca/">www.bckdesign.ca</a></li>
<li> <strong>Cesare Grifffa, Mauro Fassino, Federico Rizzo</strong>, Italy, <a href="http://www.studiogriffa.net/">www.studiogriffa.net</a></li>
<li> <strong>Diana Dina &amp; Magdalena Vieriu </strong>, Romania, <a href="http://www.diana-dina.com/">www.diana-dina.com</a></li>
<li> <strong>Feix&amp;Merlin Architects with Martin Stockley Associates</strong>, UK, <a href="http://www.feixandmerlin.com/">www.feixandmerlin.com</a></li>
<li> <strong>GABPA architects</strong>, USA, <a href="http://www.gabpa.com/">www.gabpa.com</a></li>
<li> <strong>Interlaced</strong> (Britta Knobel, Carine Cohen &amp; Florien Dubiel), UK, <a href="http://www.floriandubiel.net/main/?page_id=446">www.floriandubiel.net </a></li>
<li> <strong>IN &amp; EDIT Architecture</strong>,  France</li>
<li> <strong>Karim Muallem</strong>, UK</li>
<li> <strong>LINKsignatur</strong>, Denmark, <a href="http://www.link-signatur.dk/">www.link-signatur.dk</a></li>
<li> <strong>Maciej Walczuk</strong>, UK</li>
<li> <strong>M. Olejniczak, A. Strzelecki, D. Kabza, M. Janiec</strong>, Poland</li>
<li> <strong>Pracownia Projektowa Wloskowicz</strong>, Poland, <a href="http://www.wloskowicz.pl/">www.wloskowicz.pl</a></li>
<li> <strong>Swona</strong> (Andre Guimond &amp; Evan Erlebacher), UK</li>
</ul>
<p>More information at the <a href="http://www.tentlondon.co.uk/artfundpavilion/news.html">art fund pavilion news website</a></p>
<p>Congratulations!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=157&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/04/14/157/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>
	</item>
		<item>
		<title>aast///advanced architecture settimo tokyo</title>
		<link>http://ncodon.com/2009/04/02/aastadvanced-architecture-settimo-tokyo/</link>
		<comments>http://ncodon.com/2009/04/02/aastadvanced-architecture-settimo-tokyo/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 15:48:17 +0000</pubDate>
		<dc:creator>bojana vuksanovic</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[generative architecture]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=133</guid>
		<description><![CDATA[Generative Architecture events in Settimo Tokyo, promoter CASARTARC Settimo Torinese Association. aast is a group of events intended to spread Generative Computational Design, becoming an Advanced Architectural Research International Exhibition. aast gives the opportunity to professionals and students to test a new approach to design, using innovatory tools. aast is a survey of researches on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=133&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="logo 1" src="http://ncodon.files.wordpress.com/2009/04/logo1.jpg?w=103&#038;h=86" alt="" width="103" height="86" />Generative Architecture events in Settimo Tokyo, promoter CASARTARC Settimo Torinese Association. <a href="http://aast09.wordpress.com/">aast</a> is a group of events intended to spread Generative Computational Design, becoming an Advanced Architectural Research International Exhibition. aast gives the opportunity to professionals and students to test a new approach to design, using innovatory tools. aast is a survey of researches on new generations of architects oriented to understand the huge transformation of contemporary architecture perspectives. aast’s aim is the promotion of 3D parametric software, which is able to integrate all the building components and data into one parametric model. All the building information becomes highly manageable throughout all the design and construction phases. aast deals with the parametric software brand-new trend as generating design and extending design creativity. The convention will involve the discussion about complex forms impossible to be generated before and also raise a series of new design theories, methods and tools.</p>
<p>Congratulations to everyone involved, especially to curators <a href="http://andreagraziano.blogspot.com">Andrea Graziano</a>, Lorena Alessio and <a href="http://madeincalifornia.blogspot.com">Davide Del Giudice </a> for making this event possible.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=133&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/04/02/aastadvanced-architecture-settimo-tokyo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ff679c612b7df07e0f874d983fa0c20?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bojanavuksanovic</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/04/logo1.jpg?w=103" medium="image">
			<media:title type="html">logo 1</media:title>
		</media:content>
	</item>
		<item>
		<title>Art Fund Pavilion competition submission</title>
		<link>http://ncodon.com/2009/03/21/art-fund-pavilion-competition-submission/</link>
		<comments>http://ncodon.com/2009/03/21/art-fund-pavilion-competition-submission/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 14:24:25 +0000</pubDate>
		<dc:creator>pierre forissier</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[grasshopper]]></category>
		<category><![CDATA[rhino]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=121</guid>
		<description><![CDATA[Parametric pavilion modelled in rhino + grasshopper. I started the whole pavilion with 5 curbs (that will be lofted) and a grid of perpendicular lines (that will make the ribs of the pavilion). The build-up (essentialy creating the ribs with adjustable parameters) was made with grasshopper. And the final frame looks as below The whole [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=121&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-122" title="artfund-boards-1-mini" src="http://ncodon.files.wordpress.com/2009/03/artfund-boards-1-mini.jpg?w=720&#038;h=594" alt="artfund-boards-1-mini" width="720" height="594" /></p>
<p><img class="alignnone size-full wp-image-126" title="artfund-boards-2-mini1" src="http://ncodon.files.wordpress.com/2009/03/artfund-boards-2-mini1.jpg?w=720&#038;h=606" alt="artfund-boards-2-mini1" width="720" height="606" /></p>
<p><img class="alignnone size-full wp-image-127" title="artfund-boards-3-mini" src="http://ncodon.files.wordpress.com/2009/03/artfund-boards-3-mini.jpg?w=720&#038;h=602" alt="artfund-boards-3-mini" width="720" height="602" /></p>
<p><img class="alignnone size-full wp-image-129" title="artfund-boards-4-mini1" src="http://ncodon.files.wordpress.com/2009/03/artfund-boards-4-mini1.jpg?w=720&#038;h=600" alt="artfund-boards-4-mini1" width="720" height="600" /></p>
<p>Parametric pavilion modelled in rhino + grasshopper.</p>
<p>I started the whole pavilion with 5 curbs (that will be lofted) and a grid of perpendicular lines (that will make the ribs of the pavilion).</p>
<p><img class="alignnone size-full wp-image-172" title="grid" src="http://ncodon.files.wordpress.com/2009/03/grid1.jpg?w=720&#038;h=415" alt="grid" width="720" height="415" /></p>
<p>The build-up (essentialy creating the ribs with adjustable parameters) was made with grasshopper.</p>
<p><img class="alignnone size-full wp-image-173" title="gsh schematic" src="http://ncodon.files.wordpress.com/2009/03/gsh-schematic.jpg?w=720&#038;h=517" alt="gsh schematic" width="720" height="517" /></p>
<p>And the final frame looks as below</p>
<p><img class="alignnone size-full wp-image-174" title="frame" src="http://ncodon.files.wordpress.com/2009/03/frame.jpg?w=720&#038;h=413" alt="frame" width="720" height="413" /></p>
<p>The whole thing was eventually exported to 3d Studio and rendered with vray as this is my favorit combination to render.</p>
<p>You will see that the grasshopper definition is far from short as I did not manage to get the result in any other way.</p>
<p>Here is at last a link to the GH file <a title="dropbox panelion" href="http://dl.dropbox.com/u/20191438/ncodon/Panelion%20GHX/panelion.ghx">http://dl.dropbox.com/u/20191438/ncodon/Panelion%20GHX/panelion.ghx</a></p>
<p>As I commented below, this is far from pretty as I ran short of time for the competition and had to get a result.. So any suggestion to make this smarter is welcome!</p>
<p>Once modelled with Rhino, I exported the model to 3d Studio and rendered all with vray. You can download the scene here http://drop.io/panelscene3ds</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=121&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2009/03/21/art-fund-pavilion-competition-submission/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/01a6e42b06e34ee7a443359da93752ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">studioparallel</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/artfund-boards-1-mini.jpg" medium="image">
			<media:title type="html">artfund-boards-1-mini</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/artfund-boards-2-mini1.jpg" medium="image">
			<media:title type="html">artfund-boards-2-mini1</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/artfund-boards-3-mini.jpg" medium="image">
			<media:title type="html">artfund-boards-3-mini</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/artfund-boards-4-mini1.jpg" medium="image">
			<media:title type="html">artfund-boards-4-mini1</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/grid1.jpg" medium="image">
			<media:title type="html">grid</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/gsh-schematic.jpg" medium="image">
			<media:title type="html">gsh schematic</media:title>
		</media:content>

		<media:content url="http://ncodon.files.wordpress.com/2009/03/frame.jpg" medium="image">
			<media:title type="html">frame</media:title>
		</media:content>
	</item>
		<item>
		<title>Hugo Häring &#8211; Lamella Roof</title>
		<link>http://ncodon.com/2008/11/03/haring/</link>
		<comments>http://ncodon.com/2008/11/03/haring/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 14:34:21 +0000</pubDate>
		<dc:creator>peterguthrie</dc:creator>
				<category><![CDATA[examples]]></category>
		<category><![CDATA[3dstudiomax]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[panelingtools]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[vray]]></category>

		<guid isPermaLink="false">http://ncodon.wordpress.com/?p=100</guid>
		<description><![CDATA[A 3d diversion (away from proper work) inspired by fascinating photos on flickr by seier+seier+seier of an agricultural building by German architect Hugo Häring from the 1920s. Modeled in rhino3d using panelingtools. The timber structural components ended up being curved which isn&#8217;t correct, and strictly speaking I could have modeled it using other methods. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=100&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A 3d diversion (away from proper <a href="http://www.peterguthrie.net/">work</a>) inspired by <a href="http://www.flickr.com/photos/seier/sets/72157605255516048/">fascinating photos on flickr</a> by <a href="http://www.flickr.com/photos/seier/">seier+seier+seier</a> of an agricultural building by German architect Hugo Häring from the 1920s.</p>
<p>Modeled in <a href="http://www.rhino3d.com/">rhino3d</a> using <a href="http://en.wiki.mcneel.com/default.aspx/McNeel/PanelingTools.html">panelingtools</a>. The timber structural components ended up being curved which isn&#8217;t correct, and strictly speaking I could have modeled it using other methods. The trickiest part was probably working out the shape of the component. All dimensions are guessed&#8230; Rendered in 3dstudio with vray as always.</p>
<p><a href="http://www.flickr.com/photos/pg/2991608223/" title="hugo häring (2) by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3066/2991608223_9c787fc3a2.jpg" width="500" height="500" alt="hugo häring (2)" /></a></p>
<p><a href="http://www.flickr.com/photos/pg/2992460250/" title="hugo häring (4) by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3200/2992460250_23e103860a.jpg" width="500" height="333" alt="hugo häring (4)" /></a></p>
<p><a href="http://www.flickr.com/photos/pg/2991610089/" title="hugo häring (3) by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3180/2991610089_1df26f9fb7.jpg" width="375" height="500" alt="hugo häring (3)" /></a></p>
<p><a href="http://www.flickr.com/photos/pg/2991606741/" title="hugo häring (1) by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3197/2991606741_c252865a46.jpg" width="500" height="500" alt="hugo häring (1)" /></a></p>
<p><a href="http://www.flickr.com/photos/pg/2991627159/" title="hugo häring model by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3017/2991627159_cd3be7a02a.jpg" width="500" height="500" alt="hugo häring model" /></a></p>
<p><a href="http://www.flickr.com/photos/pg/2991612329/" title="hugo häring component by Peter Guthrie, on Flickr"><img src="http://farm4.static.flickr.com/3230/2991612329_fb66c18247.jpg" width="500" height="500" alt="hugo häring component" /></a></p>
<p>An example of a structure which would be much more difficult to model without panelingtools:</p>
<p><a href="http://ncodon.wordpress.com/2008/11/03/haring/" title="hugo häring"><img src="http://i35.tinypic.com/efhq4g.jpg" alt="Image and video hosting by TinyPic" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncodon.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncodon.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncodon.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncodon.com&amp;blog=4980361&amp;post=100&amp;subd=ncodon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncodon.com/2008/11/03/haring/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/484c0704ecbb4f8a9be4041f858e7ced?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peterguthrie</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3066/2991608223_9c787fc3a2.jpg" medium="image">
			<media:title type="html">hugo häring (2)</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3200/2992460250_23e103860a.jpg" medium="image">
			<media:title type="html">hugo häring (4)</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3180/2991610089_1df26f9fb7.jpg" medium="image">
			<media:title type="html">hugo häring (3)</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3197/2991606741_c252865a46.jpg" medium="image">
			<media:title type="html">hugo häring (1)</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3017/2991627159_cd3be7a02a.jpg" medium="image">
			<media:title type="html">hugo häring model</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3230/2991612329_fb66c18247.jpg" medium="image">
			<media:title type="html">hugo häring component</media:title>
		</media:content>

		<media:content url="http://i35.tinypic.com/efhq4g.jpg" medium="image">
			<media:title type="html">Image and video hosting by TinyPic</media:title>
		</media:content>
	</item>
	</channel>
</rss>
