<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>@improved &#187; rhinoscript</title>
	<atom:link href="http://improved.ro/blog/tag/rhinoscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://improved.ro/blog</link>
	<description>[a,e]</description>
	<lastBuildDate>Fri, 09 Dec 2011 16:06:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>StuFo 6</title>
		<link>http://improved.ro/blog/2008/06/stufo-6/</link>
		<comments>http://improved.ro/blog/2008/06/stufo-6/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 09:41:08 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[arhitectura]]></category>
		<category><![CDATA[rhinoscript]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/?p=160</guid>
		<description><![CDATA[I had some fun some time ago with plexiglass, a laser printer, rhino, and a very limited and buggy script that made &#8220;ribs&#8221; out of a surface. The results were nice, so I decided to share: Here&#8217;s the bugged up script (it&#8217;s quite useless, but people may find inspiration where I didn&#8217;t): Option Explicit &#8216; [...]]]></description>
			<content:encoded><![CDATA[<p>I had some fun some time ago with plexiglass, a laser printer, rhino, and a very limited and buggy script that made &#8220;ribs&#8221; out of a surface.</p>
<p>The results were nice, so I decided to share:</p>
<p><a href="http://dimitrie.files.wordpress.com/2008/06/pl2_web.jpg"><img class="alignnone size-thumbnail wp-image-162" src="http://dimitrie.files.wordpress.com/2008/06/pl2_web.jpg?w=128" alt="" width="128" height="90" /></a><a href="http://dimitrie.files.wordpress.com/2008/06/pl1_web.jpg"><img class="alignnone size-thumbnail wp-image-161" src="http://dimitrie.files.wordpress.com/2008/06/pl1_web.jpg?w=128" alt="" width="128" height="90" /></a></p>
<p>Here&#8217;s the bugged up script (it&#8217;s quite useless, but people may find inspiration where I didn&#8217;t):</p>
<p><em>Option Explicit<br />
&#8216;</em></p>
<p><em><span id="more-160"></span><br />
&#8216;Script written by Dimitrie Stefanescu<br />
&#8216;Released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0<br />
&#8216;№ 5:28:35 AMW ednesday, May 21, 2008</em></p>
<p><em>Call Main()<br />
Sub Main()</em></p>
<p><em>Dim surf : surf = Rhino.GetObject(&#8220;sel surf &#8220;, 8, True)</em></p>
<p><em>Dim detailLevel : detailLevel = Rhino.GetInteger(&#8220;det lev &#8220;, 10, 5, 50)<br />
Dim matTh : matTh = Rhino.GetReal(&#8220;mat thickness &#8220;, .4, .1, 2)<br />
Dim hght : hght = Rhino.GetReal(&#8220;rib height &#8220;, 1.5,  matTh, 10)</em></p>
<p><em>Dim uDomain : uDomain = Rhino.SurfaceDomain(surf, 0)<br />
Dim uStep : uStep = (uDomain(1) &#8211; uDomain(0))/detailLevel</em></p>
<p><em>Dim vDomain : vDomain = Rhino.SurfaceDomain(surf, 1)<br />
Dim vStep : vStep = (vDomain(1) &#8211; vDomain(0))/detailLevel</em></p>
<p><em>Call rhino.enableredraw(False)</em></p>
<p><em>Dim pts : pts = Array()<br />
ReDim pts(detailLevel)</em></p>
<p><em>Dim i, j, k : k = -1<br />
Dim rib</em></p>
<p><em>&#8216;<br />
&#8216;U direction<br />
&#8216;</em></p>
<p><em>For i=uDomain(0) To uDomain(1) Step uStep<br />
For j=vDomain(0) To vDomain(1) Step vStep<br />
k = k + 1<br />
ReDim Preserve pts(k)<br />
pts(k) = Rhino.EvaluateSurface(surf, Array(i, j))<br />
Next<br />
rib = addRib(pts, matTh, hght)<br />
k = -1<br />
Next</em></p>
<p><em>&#8216;<br />
&#8216;V direction<br />
&#8216;</em></p>
<p><em>&#8216;k = -1<br />
&#8216;For j=uDomain(0) To uDomain(1) Step uStep<br />
&#8216;    For i=vDomain(0) To vDomain(1) Step vStep<br />
&#8216;        k = k + 1<br />
&#8216;        ReDim Preserve pts(k)<br />
&#8216;        pts(k) = Rhino.EvaluateSurface(surf, Array(i, j))<br />
&#8216;    Next<br />
&#8216;    rib = addRib(pts, matTh, hght)<br />
&#8216;    k = -1<br />
&#8216;Next</em></p>
<p><em>Call rhino.enableredraw(True)</em></p>
<p><em>End Sub</em></p>
<p><em>Function addRib(pts, matThickness, height)</em></p>
<p><em>Dim crv, crvPlane, norm, ppp, art, crvOff, arrCrvs, ribb, perpFrame, fff, dirV, extSurf</em></p>
<p><em>crv = Rhino.AddInterpCurve(pts)</em></p>
<p><em>crvPlane = Rhino.CurvePlane(crv)</em></p>
<p><em>If Not isArray(crvPlane) Then<br />
Call rhino.print(&#8220;Surface not ribbable by this script. SORRY!&#8221;)<br />
End If</em></p>
<p><em>norm = Rhino.CurveNormal(crv)<br />
ppp = Rhino.AddPlaneSurface(crvPlane, 1, 1)<br />
art = Rhino.SurfacePoints(ppp)</em></p>
<p><em>crvOff = Rhino.OffsetCurve(crv, art(1) , height , norm)<br />
arrCrvs = Array(crv, crvOff(0))</em></p>
<p><em>ribb = Rhino.AddEdgeSrf(arrCrvs)</em></p>
<p><em>perpFrame = Rhino.CurvePerpFrame(crv, 0)<br />
fff = Rhino.AddPlaneSurface(perpFrame, matThickness, matThickness)<br />
art = Rhino.SurfacePoints(fff)<br />
dirV = Rhino.AddLine(art(0), art(2))</em></p>
<p><em>extSurf = Rhino.ExtrudeSurface(ribb, dirV)</em></p>
<p><em>Call Rhino.DeleteObjects(Array(fff, ppp, dirV, ribb))</em></p>
<p><em>addRib = extSurf<br />
End Function</em></p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2008/06/stufo-6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Scripts (RhinoScript): Adaptive Fenestration and Massive Unroll</title>
		<link>http://improved.ro/blog/2008/06/scripts-rhinoscript-adaptive-fenestration-and-massive-unroll/</link>
		<comments>http://improved.ro/blog/2008/06/scripts-rhinoscript-adaptive-fenestration-and-massive-unroll/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 21:54:30 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[algoritmic architecture]]></category>
		<category><![CDATA[computational architecture]]></category>
		<category><![CDATA[rhinoscript]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/?p=157</guid>
		<description><![CDATA[As I promised, I hand out some of the scripts I&#8217;ve written in the course of the latest project. Massive unroll Script: Select as many surfaces as you like and then unroll each one of them. Download it. Adaptive fenestration script: An interesting script that cuts holes in a surface based on the relation with [...]]]></description>
			<content:encoded><![CDATA[<p>As I promised, I hand out some of the scripts I&#8217;ve written in the course of the latest project.</p>
<p><a href="http://dimitrie.files.wordpress.com/2008/06/ribsunrolscrpscrn.jpg"><img class="alignnone size-medium wp-image-158" src="http://dimitrie.files.wordpress.com/2008/06/ribsunrolscrpscrn.jpg?w=300" alt="" width="300" height="195" /></a></p>
<p><span style="text-decoration:underline;">Massive unroll Script:</span></p>
<p>Select as many surfaces as you like and then unroll each one of them.</p>
<p><span style="color:#ff0000;"><strong><a href="http://improved.ro/RhinoScripts/massiveUnroll.rvb">Download it.</a></strong></span></p>
<hr /><a href="http://dimitrie.files.wordpress.com/2008/06/adaaaa.jpg"><img class="alignnone size-medium wp-image-159" src="http://dimitrie.files.wordpress.com/2008/06/adaaaa.jpg?w=300" alt="" width="300" height="242" /></a></p>
<p><span style="text-decoration:underline;">Adaptive fenestration script:</span></p>
<p>An interesting script that cuts holes in a surface based on the relation with a given attractor(point). I used it to generate a porous membrane for my <a href="http://dimitrie.wordpress.com/2008/06/13/architectural-organism/">latest project</a>.</p>
<p><strong><a href="http://improved.ro/RhinoScripts/faceting_rev.rvb">Download it.</a></strong></p>
<hr />Those were some scripts that have actually proven to be quite stable&#8230;</p>
<p>Here are some other potentially super-bugged scripts:</p>
<p><strong><a href="http://improved.ro/RhinoScripts/faceting.rvb">Faceting.</a></strong> &#8211; Does the same as the adaptive fenestration script only it also &#8220;facets&#8221; the seed surface.</p>
<p><strong><a href="http://improved.ro/RhinoScripts/ribs_hex.rvb">Ribs.</a></strong> &#8211; My attempt (quite sucesefull) at writing a <a href="http://www.materialsystems.org/?page_id=384">honeycomb script</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2008/06/scripts-rhinoscript-adaptive-fenestration-and-massive-unroll/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Constanta &#8211; design proposal for the waterfront of the leisure port</title>
		<link>http://improved.ro/blog/2008/03/constanta/</link>
		<comments>http://improved.ro/blog/2008/03/constanta/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 11:19:20 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[circle packing]]></category>
		<category><![CDATA[circulation study]]></category>
		<category><![CDATA[computational architecture]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/?p=113</guid>
		<description><![CDATA[We started out on this by analyzing the area and its surroundings from the point of view of circulation (more on how we did this). How would people move around? The conclusions from this study where integrated later on in the project. Next we took on the task of (re)creating the landscape &#8211; modify the [...]]]></description>
			<content:encoded><![CDATA[<p><a title="prezentare_1250.jpg" href="http://dimitrie.files.wordpress.com/2008/03/prezentare_1250.jpg"><img src="http://dimitrie.files.wordpress.com/2008/03/prezentare_1250.thumbnail.jpg" alt="prezentare_1250.jpg" /></a> <a title="mobilier-copy.jpg" href="http://dimitrie.files.wordpress.com/2008/03/mobilier-copy.jpg"><img src="http://dimitrie.files.wordpress.com/2008/03/mobilier-copy.thumbnail.jpg" alt="mobilier-copy.jpg" /></a> <a title="plansafinala3_1200.jpg" href="http://dimitrie.files.wordpress.com/2008/03/plansafinala3_1200.jpg"> <img src="http://dimitrie.files.wordpress.com/2008/03/plansafinala3_1200.thumbnail.jpg" alt="plansafinala3_1200.jpg" /></a> <a title="plandesfasurate_1200.jpg" href="http://dimitrie.files.wordpress.com/2008/03/plandesfasurate_1200.jpg"><img src="http://dimitrie.files.wordpress.com/2008/03/plandesfasurate_1200.thumbnail.jpg" alt="plandesfasurate_1200.jpg" /> </a></p>
<p>We started out on this by analyzing the <a href="http://kmap.org/o4dgv">area and its surroundings</a> from the point of view of circulation (<a href="http://dimitrie.wordpress.com/circulation-study/">more on how we did this</a>). How would people move around? The conclusions from this study where integrated later on in the project.</p>
<p><a title="vederi_1200.jpg" href="http://dimitrie.files.wordpress.com/2008/03/vederi_1200.jpg"><img src="http://dimitrie.files.wordpress.com/2008/03/vederi_1200.jpg" alt="vederi_1200.jpg" width="465" height="328" /></a></p>
<p>Next we took on the task of (re)creating the landscape &#8211; modify the terrain in a functional yet unobtrusive way. Formal concepts revolved around <a href="http://nestlaboratory.com/images/contentimages/50.gif">radiolaria</a>, <a href="http://upload.wikimedia.org/wikipedia/commons/f/f4/Foam_-_big.jpg">foam</a>, water, waves etc. Luckily we had a working circle packing applet in <a href="http://processing.org">processing</a> ready (which was used for <a href="http://dimitrie.wordpress.com/2007/10/08/circle-packing-a-book-cover/">this</a>). From here on, it was quite straightforward: expand the circles to smooth spherical caps and smartly transform them into urban furniture.</p>
<p>The interstitial space that remained between the&#8221;bubbles&#8221; is packed with wood alongside the routes we discovered to be ideal using the circulation study. The rest is  English lawn <img src='http://improved.ro/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  pure green smartly-cut grass.</p>
<p>This project is a collaboration between Veronica and me.</p>
<p><strong><span style="text-decoration:underline;"><span style="color:#000000;">Tools we used include:</span></span></strong><br />
<a href="http://processing.org">Processing</a> was VERY important early on in the design process &#8211; we used it for the <a href="http://dimitrie.wordpress.com/circulation-study/">circulation study</a> as well as for the early circle packing experiments (size, density, spread etc).</p>
<p><a href="http://rhino3d.com">Rhino</a> and <a href="http://en.wiki.mcneel.com/default.aspx/McNeel/RhinoScript.html">RhinoScript</a>: RhinoScript is great &#8211; we used it extensively (create spherical caps based on the generating circle&#8217;s radius, expand circles, contract circles, import circles which the processing applet generated, etc.). <a href="http://rhino3d.com">Rhino</a> was used for everything else &#8211; 3D modelling and, of course, making valid STL files for the <a href="http://mazarom.ro">3D printer</a> and also exporting the right things for the laser printer.</p>
<p><a title="macheta1.jpg" href="http://dimitrie.files.wordpress.com/2008/04/macheta1.jpg"><img src="http://dimitrie.files.wordpress.com/2008/04/macheta1.thumbnail.jpg" alt="macheta1.jpg" /></a><a title="macheta4.jpg" href="http://dimitrie.files.wordpress.com/2008/04/macheta4.jpg"><img src="http://dimitrie.files.wordpress.com/2008/04/macheta4.thumbnail.jpg" alt="macheta4.jpg" width="186" height="128" /></a><a title="macheta2.jpg" href="http://dimitrie.files.wordpress.com/2008/04/macheta2.jpg"><img src="http://dimitrie.files.wordpress.com/2008/04/macheta2.thumbnail.jpg" alt="macheta2.jpg" width="229" height="129" /></a></p>
<p>Laser cutting was done <a href="http://machetelaser.ro">here</a> (as always).</p>
<p>3D wax models were kindly made for us by <a href="http://www.mazarom.ro">mazarom</a> (at the moment the only 3D printing service in Bucharest). If you need a complicated model, don&#8217;t hesitate to contact <a href="http://www.mazarom.ro">them</a>!</p>
<p>Plotting the final presentation was done at studio spot. They don&#8217;t have a <a href="http://duostudio.ro/" target="_blank">webiste</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2008/03/constanta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SPRscrpts is out now</title>
		<link>http://improved.ro/blog/2008/01/sprscrpts-is-out-now/</link>
		<comments>http://improved.ro/blog/2008/01/sprscrpts-is-out-now/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 12:43:12 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[computational]]></category>
		<category><![CDATA[elegance]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhinoscript]]></category>
		<category><![CDATA[super shape]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/?p=100</guid>
		<description><![CDATA[SPRscrpts for Rhino is out now. Grab it while it&#8217;s fresh (and buggy). Sorry for the huge delay.]]></description>
			<content:encoded><![CDATA[<p><a href="http://dimitrie.wordpress.com/sprscrpts/" title="supa scripts"><img src="http://dimitrie.files.wordpress.com/2008/01/header.jpg" alt="header.jpg" /></a></p>
<h1><a href="http://dimitrie.wordpress.com/sprscrpts/">SPRscrpts </a></h1>
<p>for <a href="http://rhino3d.com" target="_blank">Rhino</a> is out now. Grab it while it&#8217;s fresh (and buggy).</p>
<p>Sorry for the huge delay.</p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2008/01/sprscrpts-is-out-now/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SPRscrpts</title>
		<link>http://improved.ro/blog/2008/01/sprscrpts/</link>
		<comments>http://improved.ro/blog/2008/01/sprscrpts/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 22:57:17 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[computational]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhinoscript]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[spherical harmonics]]></category>
		<category><![CDATA[supershape]]></category>
		<category><![CDATA[supertori]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/2008/01/04/sprscrpts/</guid>
		<description><![CDATA[RELEASED! SPRscrpts is coming (with documentation). It brings to your Rhino 4 SuperShapes, SphericalHarmonics, SuperTori and Shells. Below is an illustration of what it can do (that&#8217;s the shell script at work).]]></description>
			<content:encoded><![CDATA[<h2><a href="http://dimitrie.wordpress.com/sprscrpts">RELEASED!</a></h2>
<p>SPRscrpts is coming (with documentation). It brings to your Rhino 4 SuperShapes, SphericalHarmonics, SuperTori and Shells. Below is an illustration of what it can do (that&#8217;s the shell script at work).</p>
<p><a href="http://dimitrie.files.wordpress.com/2008/01/sprscrptsteaser.jpg" title="sprscrptsteaser.jpg"><img src="http://dimitrie.files.wordpress.com/2008/01/sprscrptsteaser.jpg" alt="sprscrptsteaser.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2008/01/sprscrpts/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Spherical Harmonics</title>
		<link>http://improved.ro/blog/2007/12/spherical-harmonics/</link>
		<comments>http://improved.ro/blog/2007/12/spherical-harmonics/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 15:53:42 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[computational]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/2007/12/25/spherical-harmonics/</guid>
		<description><![CDATA[Wanna be more inventive than Liebeskind, Ghery or Zaha? Well, you easily can. The following will generate quite a few possible shapes, some of which will surely look better than this. Option Explicit &#8216;Script written by didi stefanescu &#8216;Released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 &#8216;http://creativecommons.org/licenses/by/3.0/legalcode Dim arrVertices Dim arrFaces &#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221; &#8221;CHANGE THE RESOLUTION/DETAIL [...]]]></description>
			<content:encoded><![CDATA[<p>Wanna be more inventive than Liebeskind, Ghery or Zaha?</p>
<p>Well, you easily can.</p>
<p><a href="http://dimitrie.files.wordpress.com/2007/12/sphharmonics.jpg" title="sphharmonics.jpg"><img src="http://dimitrie.files.wordpress.com/2007/12/sphharmonics.jpg" alt="sphharmonics.jpg" /></a></p>
<p>The following will generate quite a few possible shapes, some of which will surely look better than <a href="http://visualbasher.blogspot.com/2007/12/arata-ca-o-cizma-libeskind-reinventat.html" target="_blank">this</a>. <code></code></p>
<p><i>Option Explicit<br />
&#8216;Script written by didi stefanescu<br />
&#8216;Released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0<br />
&#8216;http://creativecommons.org/licenses/by/3.0/legalcode</i></p>
<p><i>Dim arrVertices<br />
Dim arrFaces</i></p>
<p><i>&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;<br />
&#8221;CHANGE THE RESOLUTION/DETAIL LEVEL BELOW    &#8221;<br />
&#8221;BUT BEAR IN MIND THAT 128 IS QUITE HIGH     &#8221;<br />
&#8221;SO IF YOU&#8217;RE ON A SLOWER COMPUTER YOU WOULD &#8221;<br />
&#8221;LIKE TO USE SOMETHING LIKE res = 64         &#8221;<br />
&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;</i></p>
<p><i>Dim res : res = 128<br />
Dim PI : PI = Rhino.Pi()<br />
Dim du, dv</i></p>
<p><i>Dim m0, m1, m2, m3, m4, m5, m6, m7<br />
Dim colors : colors = True<br />
Dim MESH</i></p>
<p><i>Call Main()</i></p>
<p><i>Sub Main()</i></p>
<p><i>du = PI * 2 / res<br />
dv = PI / res</i></p>
<p><i>Call initParams()<br />
Rhino.EnableRedraw(False)</i></p>
<p><i>arrVertices = createVertices()<br />
arrFaces = createFaces()</i></p>
<p><i>MESH = Rhino.AddMesh(arrVertices,arrFaces)</i></p>
<p><i>If(colors) Then<br />
Call ColorMe(MESH)<br />
End If</i></p>
<p><i>Rhino.EnableRedraw(True)<br />
End Sub</i></p>
<p><i>&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;<br />
&#8221;CHANGE THESE PARAMETERS TO WHATEVER YOU LIKE&#8221;<br />
&#8221;AS LONG AS THEY STAY INTEGERS               &#8221;<br />
&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;&#8221;</i></p>
<p><i>Function initParams()<br />
m0 = 4 : m1 = 1 : m2 = 5 : m3 = 2<br />
m4 = 2 : m5 = 1 : m6 = 4 : m7 = 5<br />
End Function</i></p>
<p><i>Function createVertices()<br />
Dim u, v, i, j<br />
Dim k : k = -1<br />
Dim arrVert()</i></p>
<p><i>For    i = 0 To res Step 1<br />
u = i * du<br />
For j = 0 To res Step 1<br />
k = k + 1<br />
v = j * dv<br />
ReDim Preserve arrVert(k)<br />
arrVert(k) = sphHarmonics(u, v)<br />
Next<br />
Next<br />
createVertices = arrVert<br />
End Function</i></p>
<p><i>Function createFaces()<br />
Dim i, j<br />
Dim k : k = -1<br />
Dim base<br />
Dim arrF()<br />
For i = 0 To res &#8211; 1 Step 1<br />
For j = 0 To res &#8211; 1 Step 1<br />
k = k + 1</i></p>
<p><i>ReDim Preserve ArrF(k)<br />
base = i * (res + 1) + j<br />
arrF(k) = Array(base, base + 1, base + res + 2, base + res + 1)<br />
Next<br />
Next</i></p>
<p><i>createFaces = arrF</i></p>
<p><i>End Function</i></p>
<p><i>Function sphHarmonics(ByVal th, ByVal phi)</i></p>
<p><i>Dim r, x, y, z</i></p>
<p><i>r = sin(m0 * phi) ^ m1 + cos(m2 * th) ^ m3 + sin(m4 * phi) ^ m5 + cos(m6 * th) ^ m7</i></p>
<p><i>x = r * sin(phi) * cos(th)<br />
y = r * cos(phi)<br />
z = r * sin(phi) * sin(th)</i></p>
<p><i>sphHarmonics = Array(x, y, z)<br />
End Function</i></p>
<p><i>Function colorMe(ByVal obj2Color)<br />
Dim vert : vert = Rhino.MeshVertices(obj2Color)<br />
Dim face : face = Rhino.MeshFaceVertices(obj2Color)<br />
Dim color() : ReDim color(Ubound(vert))</i></p>
<p><i>Dim i, tempV</i></p>
<p><i>For i = 0 To Ubound(vert) Step 1<br />
tempV = vert(i)<br />
color(i) = RGB(abs(tempV(0)*200), abs(tempV(1)*200), abs(tempV(2)*100))<br />
Next</i></p>
<p><i>Call Rhino.AddMesh(vert, face, , , color)<br />
Call Rhino.DeleteObject(obj2Color)<br />
End Function<br />
</i></p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2007/12/spherical-harmonics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Terraced houses</title>
		<link>http://improved.ro/blog/2007/12/terraced-houses/</link>
		<comments>http://improved.ro/blog/2007/12/terraced-houses/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 21:11:13 +0000</pubDate>
		<dc:creator>Dimitrie Andrei Stefanescu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[computational architecture]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[rhinoscript]]></category>

		<guid isPermaLink="false">http://dimitrie.wordpress.com/2007/12/19/terraced-houses/</guid>
		<description><![CDATA[I&#8217;ve taken a different approach to our latest aufgabe. Doing it more digitally (in a smart way I like to think). parametric variation of given frame (lateral walls) in given limits. each house becomes uniqe, escaping repetition. hints of emergence. Basically the facades are independent from the core. Each lateral wall (calcan/blind wall) starts from [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve taken a different approach to our latest aufgabe. Doing it more digitally (in a <i>smart </i>way I like to think).</p>
<p><strike><i>parametric variation of given frame (lateral walls) in given limits. each house becomes uniqe, escaping repetition. hints of emergence.</i></strike></p>
<p><a href="http://dimitrie.files.wordpress.com/2007/12/extra-copy.jpg" title="extra-copy.jpg"><img src="http://dimitrie.files.wordpress.com/2007/12/extra-copy.jpg" alt="extra-copy.jpg" /></a></p>
<p>Basically the <i>facades</i> are independent from the core. Each lateral wall (<i>calcan/blind wall)</i> starts from an <i>ideal </i>shape that is subtly altered by a small script. This creates <i>variation, </i>as opposed to the usual repetition of a terraced housing lot. Mass production of 18 identical houses becomes mass production of 18 identical and UNIQUE houses. I would like to stress that: Mass production of 18 identical houses becomes mass production of 18 identical and, in the same time, UNIQUE houses.</p>
<p>There. Now I feel better.</p>
]]></content:encoded>
			<wfw:commentRss>http://improved.ro/blog/2007/12/terraced-houses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>


