<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.2" -->
<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/"
	>

<channel>
	<title>blog://martharch.net</title>
	<link>http://martha.pnoe.net/blog</link>
	<description>Digital Architecture Scrapbook</description>
	<pubDate>Sat, 07 Oct 2006 16:49:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>
	<language>en</language>
			<item>
		<title>Tessellation of Arbitrarily Shaped Objects</title>
		<link>http://martha.pnoe.net/blog/tessellation-of-arbitrarily-shaped-objects/</link>
		<comments>http://martha.pnoe.net/blog/tessellation-of-arbitrarily-shaped-objects/#comments</comments>
		<pubDate>Sat, 07 Oct 2006 13:06:07 +0000</pubDate>
		<dc:creator>Martha</dc:creator>
		
	<category>Architecture</category>
		<guid isPermaLink="false">http://martha.pnoe.net/blog/tesselation-of-arbitrarily-shaped-ojects/</guid>
		<description><![CDATA[[ MSc AAC - UCL // THESIS ABSTRACT ]
During the past decades the use of programming as a design approach has widen the architect’s creative perception and has set a new dynamic equilibrium between digital and physical space models. Frequently this newly acquired programmatic freedom leads to a wide spectrum of geometrically challenging double curved [...]]]></description>
			<content:encoded><![CDATA[<p>[ <a target="_blank" href="http://www.aac.bartlett.ucl.ac.uk/">MSc AAC - UCL</a> // THESIS ABSTRACT ]</p>
<p>During the past decades the use of programming as a design approach has widen the architect’s creative perception and has set a new dynamic equilibrium between digital and physical space models. Frequently this newly acquired programmatic freedom leads to a wide spectrum of geometrically challenging double curved surfaces. The problem then lies on defining these objects in terms of constructible components.</p>
<p>Various custom tessellation algorithms have thus been developed in response to the problem mentioned above. Most of them are based on a top-down method of mapping triangular grids on the generated surface. This thesis will try to investigate whether it is possible to create a more efficient, quadrilateral tessellation algorithm by using a bottom-up approach. The hypothesis rests on the fact that by having agents estimating the curvature along the surface by making very small, fixed steps, one can have a better approximation of it, as the agents will not overstep any curve inflections. As there is no standard solution to this problem, the method will be tested against two other algorithms more commonly used to solve tessellation problems. The first is the traditional gradient descent algorithm, where the agent’s step size varies based on iterative estimations of the optimal deviation measured from the curved surface. The second emulates an original top-down approach to the problem, where the surface is defined topologically in advance and is solved globally.</p>
<p>Eventually, the results of this comparison show how the ‘walking agent’ method is in some ways advantageous against the other two, while capable of producing interesting tessellation patterns. Ultimately the usefulness of this new tool rests on the fact that the surface is explored based on its local curvature conditions without having to specify the mesh’s node topology in advance. Furthermore the surface is tessellated with respect to a predefined acceptable deviation threshold and maximum tile size.</p>
<div style="text-align: center"><img id="image94" alt="Surfaces" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/10/surfaces.jpg" /></div>
<p><a id="more-96"></a></p>
<p>[ CODE EXCERPT ]</p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt; color: #ff6600">//set the basis functions in u-direction, based on the mathematical formula</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt; color: #ff6600">//u defines the current u-coordinate, k the control point d the degree of the b-spline //surface in u</span></p>
<p class="MsoNormal"><strong><span lang="EN-GB" style="font-size: 9pt">float basisnU(float u, int k, int d) </span></strong><span lang="EN-GB" style="font-size: 9pt">{</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  if (d == 0) {</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return basis0U(u,k);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">   }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  else {</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    float b1 = basisnU(u,k,d-1) * (u - knotsU[k]) / (knotsU[k+d] - knotsU[k]);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    float b2 = basisnU(u,k+1,d-1) * (knotsU[k+d+1] - u) / (knotsU[k+d+1] - knotsU[k+1]);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return b1 + b2;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">   }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt"> }</span></p>
<p class="MsoNormal"><strong><span lang="EN-GB" style="font-size: 9pt">float basis0U(float u, int k)</span></strong><span lang="EN-GB" style="font-size: 9pt">{</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  if (u >= knotsU[k] &#038;&#038; u < knotsU[k+1]){// &#038;&#038;  knotsU[k]</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return 1;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  else{</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return 0;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">}</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt; color: #ff6600">//set the basis functions in v-direction, based on the mathematical formula</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt; color: #ff6600">//u defines the current v-coordinate, m the control points and d the degree of the b-spline </span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt; color: #ff6600">//surface in v</span></p>
<p class="MsoNormal"><strong><span lang="EN-GB" style="font-size: 9pt">float basisnV(float v, int m, int d)</span></strong><span lang="EN-GB" style="font-size: 9pt"> {</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  if (d == 0) {</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return basis0V(v,m);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">   }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  else {</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    float b1 = basisnV(v, m, d-1) * (v - knotsV[m]) / (knotsV[m+d] - knotsV[m]);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    float b2 = basisnV(v,m+1,d-1) * (knotsV[m+d+1] - v) / (knotsV[m+d+1] - knotsV[m+1]);</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return b1 + b2;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">   }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt"> }</span></p>
<p class="MsoNormal"><strong><span lang="EN-GB" style="font-size: 9pt">float basis0V(float v, int m)</span></strong><span lang="EN-GB" style="font-size: 9pt">{</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  if (v >= knotsV[m] &#038;&#038; v < knotsV[m+1]){//&#038;&#038;  knotsV[m]</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return 1;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  else{</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">    return 0;</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">  }</span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size: 9pt">}</span></p>
<p class="MsoNormal">
<div style="text-align: center"><img id="image95" alt="Agent" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/10/agent.jpg" /></div>
<div style="text-align: center" />
]]></content:encoded>
			<wfw:commentRSS>http://martha.pnoe.net/blog/tessellation-of-arbitrarily-shaped-objects/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Sun Sensitive Skin - Generative Components</title>
		<link>http://martha.pnoe.net/blog/sun-sensitive-skin-generative-components/</link>
		<comments>http://martha.pnoe.net/blog/sun-sensitive-skin-generative-components/#comments</comments>
		<pubDate>Sun, 25 Jun 2006 21:36:47 +0000</pubDate>
		<dc:creator>Martha</dc:creator>
		
	<category>Architecture</category>
		<guid isPermaLink="false">http://martha.pnoe.net/blog/sun-sensitive-skin-generetive-components/</guid>
		<description><![CDATA[A sun sensitive skin, that reacts to sun’s movement. The skin is composed by a tessellated four-membrane component. The membranes close up when the sun is nearer to them and vice versa.



In order to accomplish this, first an emulation of the sun’s path was created. Using sliders one could then regulate the trajectory of the [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center">A sun sensitive skin, that reacts to sun’s movement. The skin is composed by a tessellated four-membrane component. The membranes close up when the sun is nearer to them and vice versa.</div>
<div style="text-align: center"><img width="787" height="209" alt="1a_membrans" id="image86" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_1a.jpg" /></div>
<p style="text-align: center">
<p style="text-align: center">
<p style="text-align: center">In order to accomplish this, first an emulation of the sun’s path was created. Using sliders one could then regulate the trajectory of the sun in regards 1) to the seasons and 2) to a day’s circle. The membranes’ component takes as an input the positioning of the sun in the sky sphere and adjusts itself accordingly. Eventually the component was applied to a semi-hypaethral pavilion. The renderings of various sun-studies revealed a playful variety of shadow and light patterns inside the pavilion. The sun sensitive skin transforms differently on the surface of the structure, based on the sun’s location, thus making some components to close and others to open.</p>
<p style="text-align: center"><a id="p93" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/07/membranes_short.wmv">component</a> (wmv video, 0.3 Mb) - <a target="_blank" href="http://martha.pnoe.net/projects/sun_sensitive_skin/sun_trajectory.html">day &#038; year trajectories</a> (Flash video, 1.7 Mb) <a id="p90" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/skin.wmv">skin</a> (wmv video, 1.4 Mb)<a id="p90" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/skin.wmv"><br />
</a></p>
<p style="text-align: center"><a class="imagelink" title="2a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_2.jpg"><img id="image72" alt="2a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_2.thumbnail.jpg" /> </a><a class="imagelink" title="4a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_4.jpg"><img id="image74" alt="4a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_4.thumbnail.jpg" /></a> <a class="imagelink" title="3a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_3.jpg"><img id="image73" alt="3a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_3.thumbnail.jpg" /></a></p>
<p style="text-align: center"><a class="imagelink" title="6a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_6.jpg"><img id="image75" alt="6a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_6.thumbnail.jpg" /></a> <a class="imagelink" title="10a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_10.jpg"><img id="image76" alt="10a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_10.thumbnail.jpg" /> </a><a class="imagelink" title="5a_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_5.jpg"><img id="image83" alt="5a_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_5.thumbnail.jpg" /></a></p>
<p style="text-align: center"><a class="imagelink" title="5b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_5.jpg"><img id="image78" alt="5b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_5.thumbnail.jpg" /></a><span style="text-decoration: underline"> <a class="imagelink" title="6b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_6.jpg"><img id="image79" alt="6b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_6.thumbnail.jpg" /></a></span> <a class="imagelink" title="7b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_7.jpg"><img id="image80" alt="7b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_7.thumbnail.jpg" /></a></p>
<p style="text-align: center"><a class="imagelink" title="8b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_8.jpg"><img id="image81" alt="8b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_8.thumbnail.jpg" /> </a><a class="imagelink" title="9b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_9.jpg"><img id="image82" alt="9b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_9.thumbnail.jpg" /></a> <a class="imagelink" title="3b_membrans" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_3%28100%29.jpg"><img id="image77" alt="3b_membrans" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans_surface_reversed_3%28100%29.thumbnail.jpg" /></a></p>
<p style="text-align: center">This project was created in Bentley&#8217;s Generative Components (Microstation platform). Renderings made in Microstation.</p>
<p style="text-align: center">
<p style="text-align: center">
]]></content:encoded>
			<wfw:commentRSS>http://martha.pnoe.net/blog/sun-sensitive-skin-generative-components/feed/</wfw:commentRSS>
<enclosure url='http://martha.pnoe.net/blog/wp-content/uploads/2006/06/sun_year_tranjectory.avi' length='1576960' type='video/x-msvideo'/>
<enclosure url='http://martha.pnoe.net/blog/wp-content/uploads/2006/06/membrans-plan-persp.avi' length='1069278' type='video/x-msvideo'/>
<enclosure url='http://martha.pnoe.net/blog/wp-content/uploads/2006/06/sun_day_tranjectory.avi' length='1748992' type='video/x-msvideo'/>
<enclosure url='http://martha.pnoe.net/blog/wp-content/uploads/2006/06/sun_year_trajectory_1.avi' length='802002' type='video/x-msvideo'/>
<enclosure url='http://martha.pnoe.net/blog/wp-content/uploads/2006/06/sun_day_tranjectory_1.avi' length='1421938' type='video/x-msvideo'/>
		</item>
		<item>
		<title>Transformative City - Sonic Projections</title>
		<link>http://martha.pnoe.net/blog/sonic-projections/</link>
		<comments>http://martha.pnoe.net/blog/sonic-projections/#comments</comments>
		<pubDate>Mon, 15 May 2006 09:25:15 +0000</pubDate>
		<dc:creator>Martha</dc:creator>
		
	<category>Architecture</category>
		<guid isPermaLink="false">http://martha.pnoe.net/blog/sonic-projections/</guid>
		<description><![CDATA[Sonic Projections interactive demo
(.jar file, Java needed, 0.3 Mb)

Sonic Projections (Flash presentation, 1 Mb), is an installation for the central axes that lead to Bath’s museum. The original scope of this case study is to create an inviting element towards the museum.

 

A generative structure &#038; an interactive installation that explores the creation of a [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><strong><a target="_blank" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/Bath_arches_Final_ap.jar">Sonic Projections interactive demo</a></strong><br />
(.jar file, <a target="_blank" href="http://java.sun.com/">Java</a> needed, 0.3 Mb)</p>
<div align="center" />
<p align="center">Sonic Projections (<a title="Project presentation" target="_blank" href="http://martha.pnoe.net/projects/transformative_city">Flash presentation</a>, 1 Mb), is an installation for the central axes that lead to Bath’s museum. The original scope of this case study is to create an inviting element towards the museum.</p>
<p align="center">
<p align="center"><img id="image31" title="Renderings" alt="Renderings" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/SPFront1.jpg" /> <strong><span lang="EN-GB" /></strong></p>
<blockquote>
<p align="center"><strong><span lang="EN-GB">A generative structure &#038; an interactive installation<em> that explores the creation of a new Dynamic Space.</em></span></strong></p>
<p align="center"><span lang="EN-GB"><em>A responsive environment that not only interacts with people when triggered, but also seeks interaction.</em></span><span lang="EN-GB"> The representation of this reaction comes with the form of attractors and repulsors that travel through the installation -as humans move- and change the shape of its shell. This installation can be realized by using SmartDust technology &#038; Ubiquitous </span><span lang="EN-GB">Computing techniques.</span></p>
<p align="center"><em>Unfortunatelly no music with this file (no dancing arches!) but I think you will enjoy it more if it doesn&#8217;t take an hour to download it!!!</em></p>
<p align="center">
</blockquote>
<div style="text-align: center"><img id="image34" title="Diagram" alt="Diagram" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/1_a.jpg" /></div>
<div style="text-align: center"><strong>Space Embedded Network</strong></div>
<div style="text-align: center">In the case of Sonic Projections, SmartDust particles are set on the nodes of the mesh and also travel through the installation. Via <a target="_blank" href="http://sourceforge.net/projects/tinyos/">TinyOS</a> (open-source operating system designed for wireless embedded sensor networks) they transmit signals to one another and thus create a wireless peer-to-peer network. The particles travel based on swarm logic programming. In that sense, the whole network has self-organization properties and creates an intelligent space. When a traveling particle is triggered, it activates a reaction among the other swarming particles and together they act as attractors and repulsors for the mesh-connected particles, thus changing its formation.<br />
The form emerges through a series of interactions between the humans and the particles and reality is blurred while the INTERFACE is consisted by space, architectural forms, individuals and SmartDust particles.<br />
(Smart dust devices are tiny wireless microelectromechanical sensors -MEMS- that can detect everything, from light to vibrations. These &#8220;motes&#8221; could eventually be the size of a grain of sand, though each would contain sensors, computing circuits, bidirectional wireless communications technology and a power supply. When clustered together, they automatically create highly flexible, low-power networks.)</div>
<div style="text-align: center" />
<div style="text-align: center" />
<div style="text-align: center" />
<div style="text-align: center" />
<div style="text-align: center" />
<div style="text-align: center" />
<blockquote>
<p align="center"><a target="_blank" title="Mesh" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/2-mesh.jpg"><img id="image23" alt="Mesh" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/2-mesh.thumbnail.jpg" /></a><a id="p25" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/mesh2.swf"><br />
Mesh&#8217;s Movement</a><br />
(flash movie, 1.3 Mb)</p>
<p>Not all Sound Patterns trigger the particles. They choose what they consider “interesting” sounds - based on sound frequencies- and follow them. In that way, a new pattern of interaction is established, where people will be challenged to find ways to attract the particles, in order to participate to the installation&#8217;s transformation. When no people pass through the installation, a certain memory mechanism recalls recorded sounds from people who were previously there and tries to create new sound patterns (testing the results through a GA) from them, in order to attract more people… a new kind of Siren in search of her Ulysses…</p>
<p align="center"><a title="Arches" target="_blank" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/3-arches.jpg"><img id="image24" title="Arches" alt="Arches" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/3-arches.thumbnail.jpg" /></a><br />
<a id="p26" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/arches2.swf">Arches&#8217; Movement</a><br />
(flash movie, 1.1 Mb)</p>
<p align="center">The arches are generated via the script and are being transformed dynamically. This dynamic transformation is based either on input frequencies taken by a musical piece embedded in the code (dancing arches) or on the user&#8217;s interaction with the installation.</p>
<p align="center"><a id="p30" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/transformation.swf" /><a title="Rendered Photo" target="_blank" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/6.jpg"><img id="image29" title="Rendered Photo" alt="Rendered Photo" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/6.thumbnail.jpg" /></a><br />
<a id="p30" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/transformation.swf">Transfomation</a><br />
(flash movie, 1.6 Mb)</p>
<p align="center"><em>A rendered visualizaton of the installation, in the road that leads to Bath&#8217;s Museum.</em></p>
</blockquote>
<p align="center"><a id="p27" href="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/vortex.swf"><img id="image35" title="Partices_Human" alt="Partices_Human" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/7-particles_a.jpg" /><br />
Particle Movement</a><br />
(flash movie, 0.43 Mb)</p>
<p align="center"><strong>Vortices and Dynamic Space</strong><br />
The SmartDust particles create an embedded network inside the installation. Human emitted Sound Patterns trigger the particles which gather around him/her. The particle network tries to keep an equilibrium by keeping minimum distances from the humans, as well as from each other. In that way, patterns emerge not only on the mesh (by forces of attraction and repulsion), but also on the way particles move. The system&#8217;s self organizes itself in such a way so that the particles create toruses and vortices. The louder the Sound Patterns, the more particles participate in the “pattern creation” game.</p>
<p align="center">
<p align="center"><img id="image64" title="Astroidal" alt="Astroidal" src="http://martha.pnoe.net/blog/wp-content/uploads/2006/05/4-astroidal.jpg" /><br />
<strong>Astroidal Variation</strong><br />
A variation of this installation can be created if we replace the particles on the mesh&#8217;s nodes, with an &#8220;astroidal&#8221; component. The behaviour of the installation remains the same, while the formal outcome is completelly different.</p>
<p align="center">
<p align="center"><em>This project was created with <a target="_blank" title="processing" href="http://www.processing.org/">Processing</a> programming language. All images produced through scripting. Rendered images were exported as DXF files and rendered in CAD application.</em></p>
]]></content:encoded>
			<wfw:commentRSS>http://martha.pnoe.net/blog/sonic-projections/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
