<?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>Syntopia &#187; Mathematical Art</title>
	<atom:link href="http://blog.hvidtfeldts.net/index.php/category/mathematical-art/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hvidtfeldts.net</link>
	<description>Art + Culture + Technology</description>
	<lastBuildDate>Tue, 01 Jun 2010 04:59:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Few Links</title>
		<link>http://blog.hvidtfeldts.net/index.php/2010/05/a-few-links/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2010/05/a-few-links/#comments</comments>
		<pubDate>Wed, 05 May 2010 21:12:49 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Generative Art]]></category>
		<category><![CDATA[Mandelbulb]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/?p=487</guid>
		<description><![CDATA[&#8230;some old, some new.
The Demoscene
It was only a matter of time, before a Mandelbox would show up on the Demoscene:

Hochenergiephysik by Still is a 4K demo, featuring the Mandelbox. If 4KB sounds bloated, Still has also created a 1K demo: Futurism by Still.
And while we are at it, may I suggest these as well: The [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;some old, some new.</p>
<h2>The Demoscene</h2>
<p>It was only a matter of time, before a Mandelbox would show up on the Demoscene:</p>
<p><a href="http://www.pouet.net/prod.php?which=54917&#038;howmanycomments=-1"><img src="http://blog.hvidtfeldts.net/media/hoch.jpg" /></a></p>
<p><a href="http://www.pouet.net/prod.php?which=54917&#038;howmanycomments=-1">Hochenergiephysik</a> by Still is a 4K demo, featuring the Mandelbox. If 4KB sounds bloated, Still has also created a 1K demo: <a href="http://pouet.net/prod.php?which=54812">Futurism</a> by Still.</p>
<p>And while we are at it, may I suggest these as well: <a href="http://www.youtube.com/watch?v=lG-g1l0FtDM&#038;feature=channel">The Cube</a> by Farbrausch, <a href="http://www.youtube.com/watch?v=k_oTQd93eRI">Rove</a> by Farbraush, and <a href="http://www.youtube.com/watch?v=ON4N0yGz4n8">Agenda Circling Forth</a> by Fairlight &#038; Cncd.</p>
<h2>New software</h2>
<p>NodeBox 2.0 is out in a <a href="http://beta.nodebox.net/">beta version</a>. The big news is that it is now available for Windows. It also sports a graph-based GUI for patching nodes together.</p>
<p><a href="http://news.deviantart.com/article/105035/">Tacitus</a> is a GUI for creating per-pixel GPU effects. In concept it is similar to Pixel Bender. It has a very nice look and feel, but a big short-coming is that it is not possible to directly edit the GPU scripts in the GUI &#8211; you have to compile your script to a plugin via an included compiler. Another feature I miss, is the ability to directly navigate the camera using the mouse on the viewport, instead of using sliders (something Pixel Bender also doesn&#8217;t support). But Tacitus is still in beta, and it will be interesting to see where it is going. It comes with a single plugin, a port of Subblue&#8217;s Mandelbulb Pixel Bender plugin. Tacitus is Windows only.</p>
<p><a href="http://www.neuro-systems.net/documents/substance.html"><img src="http://blog.hvidtfeldts.net/media/substance.jpg" /></a></p>
<p>NeuroSystems <a href="http://www.neuro-systems.net/documents/substance.html">Substance</a> is an &#8216;Evolutionary and Organic Art Creator&#8217;. Some interesting concepts here, including a real-time global illumination raytracer (video <a href="http://www.youtube.com/watch?v=PA7bqh3hTwc&#038;feature=player_embedded">here</a>). Unfortunately, the raytracer is not part of the free viewer. Surprisingly, NeuroSystems impressive visualization technology seems to originate from <a href="http://www.neuro-systems.net/documents/simplant.html">SIMPLANT</a>, a real-time 3D breast implant simulator. Substance is Windows only, and the full (non-free) versions should be released very soon.</p>
<h2>Gifts for Geeks</h2>
<p><a href="http://scientificsonline.com/product.asp_Q_pn_E_3151544"><img src="http://blog.hvidtfeldts.net/media/calabi.jpg" /></a></p>
<p>A <a href="http://scientificsonline.com/product.asp_Q_pn_E_3151544">Calabi-Yau Manifold Crystal</a> sculpture.</p>
<p><center><a href="http://www.gomboc-shop.com/"><img src="http://blog.hvidtfeldts.net/media/gomboc.jpg" /></a></center><br />
<br />
A <a href="http://www.gomboc-shop.com/">Gömböc</a>. &#8220;The &#8216;Gömböc&#8217; is the first known homogenous object with one stable and one unstable equilibrium point, thus two equilibria altogether on a horizontal surface. It can be proven that no object with less than two equilibria exists.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2010/05/a-few-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Reality of Fractals</title>
		<link>http://blog.hvidtfeldts.net/index.php/2010/04/the-reality-of-fractals/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2010/04/the-reality-of-fractals/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 20:49:02 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Fractals]]></category>
		<category><![CDATA[Generative Art]]></category>
		<category><![CDATA[Mandelbulb]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/?p=430</guid>
		<description><![CDATA[&#8220;&#8230; no one, not even Benoit Mandelbrot himself [...] had any real preconception of the set&#8217;s extraordinary richness. The Mandelbrot set was certainly no invention of any human mind. The set is just objectively there in the mathematics itself. If it has meaning to assign an actual existence to the Mandelbrot set, then that existence [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><i>&#8220;&#8230; no one, not even Benoit Mandelbrot himself [...] had any real preconception of the set&#8217;s extraordinary richness. The Mandelbrot set was certainly no invention of any human mind. The set is just objectively there in the mathematics itself. If it has meaning to assign an actual existence to the Mandelbrot set, then that existence is not within our mind, for no one can fully comprehend the set&#8217;s endless variety and unlimited complication.&#8221;</i></p>
<p>Roger Penrose (from The Road to Reality)
</p></blockquote>
<p>The recent proliferation of 3D fractals, in particular the Mandelbox and <a href="/index.php/category/mandelbulb/index.php/category/mandelbulb/">Mandelbulb</a>, got me thinking about the reality of these systems. The million dollar question is whether we <i>discover</i> or <i>construct</i> these entities. Surely these systems give the impression of exploring uncharted territory, perhaps even looking into another world. But the same can be said for many traditional man-made works of art.</p>
<p>I started out by citing Roger Penrose. He is a mathematical Platonist, and believes that both the fractals worlds (such as the Mandelbrot set) and the mathematical truths (such as Fermat&#8217;s last theorem) are discovered. In his view, the mathematical truths have an eternal, unchanging, objective existence in some kind of Platonic ideal world, independent of human observers. </p>
<p>In Penrose&#8217;s model, there are three distinct worlds: the physical world, the mental world (our perception of the physical world), and the cryptic Platonic world. Even Penrose himself admits that the connections and interactions between these worlds are mysterious. And personally I cannot see any kind of evidence pointing in favor of this third, metaphysical world.</p>
<p><a href="http://makinmagic.deviantart.com/art/Designer-World-158071809"><img src="http://blog.hvidtfeldts.net/media/makin.png" /></a><br />
<a href="http://makinmagic.deviantart.com/art/Designer-World-158071809">Designer World</a> by David Makin</p>
<p>Roger Penrose is a highly renowned mathematician and physicist, and I value his opinions and works highly. In fact, it was one of his earlier books, The Emperors New Mind, that in part motivated me to become a physicist myself. But even though he is probably one of the most talented mathematicians living today, I am not convinced by his Platonist belief. </p>
<p>Personally, I subscribe to the less exotic <i>formalist</i> view: that the mathematical truths are the theorems we can derive by applying a set of deduction rules to a set of mathematical axioms. The axioms are not completely arbitrary, though. For instance, a classic mathematical discipline, such as Euclidean geometry, was clearly motivated by empirical observations of the physical world. The same does not necessarily apply to modern mathematical areas. For instance, Lobachevsky&#8217;s non-Euclidean geometry, was conceived by exploring the consequences of modifying one of Euclid&#8217;s fundamental postulates (interestingly non-Euclidean geometry later turned out to be useful in describing the physical world through Einstein&#8217;s general theory of relativity). </p>
<p>But if modern mathematics has become detached from its empirical roots, what governs the evolution of modern mathematics? Are all formal systems thus equally interesting to study? My guess is that most mathematicians gain some kind of intuition about what directions to pursue, based on a mixture of trends, historical research, and feedback from applied mathematics.</p>
<p><a href="http://krzysztofmarczak.deviantart.com/art/Mandelballs-160925525"><img src="http://blog.hvidtfeldts.net/media/mandelballs.png" /></a><br />
<a href="http://krzysztofmarczak.deviantart.com/art/Mandelballs-160925525">Mandelballs </a> by Krzysztof Marczak [Mandelbox / Juliabulb mix]</p>
<p>Does my formalist position mean that I consider the Mandelbrot set to be a man-made creation, in the same category as a Picasso painting or a Bach concert? Not exactly. Because I do believe in a <i>physical</i> realism (in the sense that I believe in a objective, physical world independent of human existence), and since I do believe some parts of mathematics is inspired by this physical world and tries to model it, I believe some parts of mathematics can be attributed an objective status as well. But it is a weaker kind of objective existence: the mathematical models and structures used to describe reality are not persistent and ever-lasting, instead they may be refined and altered, as we progressively create models with greater predictive power. And I think this is the reason fractals often resemble natural structures and phenomena: because the mathematics used to produce the fractals was inspired by nature in the first place. Let me give another example:</p>
<p><a href="http://www.fractalforums.com/index.php?action=gallery;sa=view;id=1626"><img src="http://blog.hvidtfeldts.net/media/eggs.png" /></a><br />
<a href="http://www.fractalforums.com/index.php?action=gallery;sa=view;id=1626">Teeth</a> by Jesse</p>
<p>Would a distant alien civilization come up with the same Mandelbrot images as we see? I think it is very likely. Any advanced civilization studying nature, would most likely have created models such as the natural numbers, the real numbers, and eventually the complex numbers. The complex numbers are extremely useful when modeling many physical phenomena, such as waves or electrodynamics, and complex numbers are essential in the description of quantum mechanics. And if this hypothetical civilization had computational power available, eventually someone would investigate the convergence of a simple, iterated system like  <b>z = z<sup>2</sup> + c</b>. So there would probably be a lot of overlapping mathematical structures. But there would also be differences: for instance the construction of the slightly more complex Mandelbox set contains several human-made design decisions, making it less likely to be invented by our distant civilization.  </p>
<p>I think there is a connection to other areas of generative art as well. In the opening quote Penrose claims that no-one could have any real preconception of the Mandelbrot sets extraordinary richness. And the same applies to many generative systems: they are impossible to predict and often surprisingly complex and detailed. But this does not imply that they have a meta-physical Platonic origin. Many biological and physical systems share the same properties. And many of the most interesting generative systems are inspired by these physical or biological systems (for instance using models such as genetic algorithms, flocking behavior, cellular automata, reaction-diffusion systems, and L-systems). </p>
<p>Another point to consider is, that creating beautiful and interesting fractal images as the ones above, requires much more than a simple formula. It requires aesthetic intuition and skills to choose a proper palette, find an interesting camera location, and it takes many hours of formula parameter tweaking. I know this from my experiments with 3D fractals &#8211; I&#8217;m very rarely satisfied with my own results. </p>
<p>But to sum it all up: Even though fractals (and generative systems) may posses endless variety and unlimited complication, there is no need to call upon metaphysical worlds in order to explain them.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2010/04/the-reality-of-fractals/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mandelbulb</title>
		<link>http://blog.hvidtfeldts.net/index.php/2009/11/mandelbulb/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2009/11/mandelbulb/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 21:43:29 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[GPU]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/?p=152</guid>
		<description><![CDATA[A lot of sites have reported that a new, interesting 3D version of the Mandelbrot set has been discovered. The Mandelbulb has aesthetic qualities similar to Quaternion-Julia sets, but seems more diverse and suited for exploration.

&#8220;Cave of Lost Secrets&#8221; from Skytopia.
Skytopia has a great overview complete with many stunning images.
A good way to view the [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of sites have reported that a new, interesting 3D version of the Mandelbrot set has been discovered. The <i>Mandelbulb</i> has aesthetic qualities similar to <a href="http://blog.hvidtfeldts.net/index.php/2009/09/quaternion-julia-sets-and-gpu-computation/">Quaternion-Julia sets</a>, but seems more diverse and suited for exploration.</p>
<p><a href="http://www.skytopia.com/project/fractal/new/full/q85/MysteryCave-b-med.jpg"><img src="/media/mandelbulb.jpg" /></><br />
&#8220;Cave of Lost Secrets&#8221; from Skytopia.</p>
<p>Skytopia has a <a href="http://www.skytopia.com/project/fractal/mandelbulb.html">great overview</a> complete with many stunning images.</p>
<p>A good way to view the basic structure is this 56 Megapixel render from Skytopia (using the Seadragon viewer &#8211; requires Silverlight):<br />
<a href="http://seadragon.com/view/fnr"><br />
<img src="/media/seadragon.jpg" /><br />
</a></p>
<p />
As of now, I do not know of any released software capable of generating Mandelbulbs, but it probably won&#8217;t be long:</p>
<p>Recent posts by <a href="http://iquilezles.org/">Iñigo Quílez</a> (who produced the <a href="http://blog.hvidtfeldts.net/index.php/2007/11/4k-should-be-enough-for-everyone/">Kindernoiser</a> Quaternion-Julia set GPU renderer) indicate that he is very to close to completing a fast <a href="http://www.fractalforums.com/profile/iq/?sa=showPosts">GPU implementation</a>. These posts also include the basic source-code, which I believe should make it possible to port to other targets, for instance Pixel Bender. Apparently Quílez has cooked up a distance estimator, and a fake ambient occlusion scheme (based on orbit traps) for these Mandelbulbs, which sounds very promising.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2009/11/mandelbulb/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Inside Out: Rotations in 4D.</title>
		<link>http://blog.hvidtfeldts.net/index.php/2009/10/inside-out-rotations-in-4d/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2009/10/inside-out-rotations-in-4d/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 19:33:44 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/?p=137</guid>
		<description><![CDATA[Daniel Piker has some very interesting demonstrations of 4-dimensional rotations:

The 4D rotations build upon Pikers previous experiments with 3D inversions:

More information and several other impressive experiments can be found at Pikers blog, Space Symmetry Structure.
]]></description>
			<content:encoded><![CDATA[<p>Daniel Piker has some very interesting demonstrations of <a href="http://spacesymmetrystructure.wordpress.com/2008/12/11/4-dimensional-rotations/">4-dimensional rotations</a>:</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2429447&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2429447&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p>The 4D rotations build upon Pikers previous experiments with <a href="http://spacesymmetrystructure.wordpress.com/2007/08/02/inversion-applet-almost-ready-for-download/">3D inversions</a>:</p>
<p><img src="/media/horse.jpg" /></p>
<p>More information and several other impressive experiments can be found at Pikers blog, <a href="http://spacesymmetrystructure.wordpress.com">Space Symmetry Structure</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2009/10/inside-out-rotations-in-4d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quaternion Julia sets and GPU computation.</title>
		<link>http://blog.hvidtfeldts.net/index.php/2009/09/quaternion-julia-sets-and-gpu-computation/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2009/09/quaternion-julia-sets-and-gpu-computation/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 22:05:38 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Digital Art]]></category>
		<category><![CDATA[Fractals]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/?p=111</guid>
		<description><![CDATA[Subblue has released another impressive Pixel Bender plugin, this time a Quaternion Julia set renderer. 

The plugin can be downloaded here.
Quaternions are extensions of the complex numbers with four independent components. Quaternion Julia sets still explore the convergence of the system z &#8592; z2 + c, but this time z and c are allowed to [...]]]></description>
			<content:encoded><![CDATA[<p>Subblue has released another impressive Pixel Bender plugin, this time a <a href="http://www.subblue.com/blog/2009/9/20/quaternion_julia">Quaternion Julia set renderer</a>. </p>
<p><img src= "/media/q.png" /></p>
<p>The plugin can be <a href="http://www.subblue.com/blog/2009/9/20/quaternion_julia">downloaded here</a>.</p>
<p>Quaternions are extensions of the complex numbers with four independent components. Quaternion Julia sets still explore the convergence of the system <b>z &larr; z<sup>2</sup> + c</b>, but this time <b>z</b> and <b>c</b> are allowed to be quaternion-valued numbers. Since quaternions are essentially four-dimensional objects, only a slice (the intersection of the set with a plane) of the quaternion Julia sets is shown. </p>
<p>Quaternion Julia sets would be very time consuming to render if it wasn&#8217;t for a very elegant (and surprising) formula, <em>the distance estimator</em>, which for any given point gives you the distance to the closest point on the Julia Set. The distance estimator method was first described in: <a href="http://portal.acm.org/citation.cfm?id=74363&#038;dl=GUIDE&#038;coll=GUIDE&#038;CFID=54955448&#038;CFTOKEN=40869376">Ray tracing deterministic 3-D fractals (1989)</a>.</p>
<p>My first encounter with Quaternion Julia sets was Inigo Quilez&#8217; amazing <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=469773" rel="nofollow">Kindernoiser demo</a> which packed a complete renderer with ambient occlusion into a 4K executable. It also used the distance estimator method and GPU based acceleration. If you haven&#8217;t visited <a href="http://www.iquilezles.org/www/">Quilez&#8217; site</a> be sure to do so. It is filled with impressive demos, and well-written tech articles.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=967591&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=967591&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/967591">Transfigurations</a> (another Quaternion Julia set demo) from <a href="http://vimeo.com/iq">Inigo Quilez</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>In the 1989 Quaternion Julia set paper, the authors produced their images on an AT&#038;T Pixel Machine, with 64 CPU&#8217;s each running at 10 megaFLOPS. I suspect that this was an insanely expensive machine at the time. For comparison, the relatively modest NVIDIA GeForce 8400M GS in my laptop has a theoretical maximum processing rate of 38 gigaFLOPS, or approximately 60 times that of the Pixel Machine. A one megapixel image took the authors of the 1989 paper 1 hour to generate, whereas Subblues GPU implementation uses ca. 1 second on my laptop (making it much more efficient than what would have been expected from the FLOPS ratio).</p>
<h2>GPU Acceleration and the future.</h2>
<p>These days there is a lot of talk about using GPUs for general purpose programming. The first attempts to use GPUs to speed up general calculations relied on tricks such as using pixel shaders to perform calculations on data stored in texture memory, but since then several API&#8217;s have been introduced to make it easier to program the GPUs. </p>
<p>NVIDIAs CUDA is currently by far the most popular and documented API, but it is for NVIDIA only. Their <a href="http://www.nvidia.com/object/cuda_home.html#">gallery of applications</a> demonstrates the diversity of how GPU calculations can be used. AMD/ATIs has their competing Stream API (formerly called Close To Metal) <del datetime="2009-09-28T14:04:24+00:00">but don&#8217;t bet on this one &#8211; I&#8217;m pretty sure it is almost abandoned already</del>. <b>Update:</b> as pointed out in the comments, the new <a href="http://developer.amd.com/gpu/ATIStreamSDKBetaProgram/Pages/default.aspx">ATI Stream 2.0 SDK</A> will include ATIs OpenCL implemention, which for all I can tell is here to stay. What I meant to say was, that I don&#8217;t think ATIs earlier attempts at creating a GPU programming interface (including the Brook+ language) are likely to catch on.</p>
<p>Far more important is the emerging <a href="http://en.wikipedia.org/wiki/OpenCL">OpenCL standard</a> (which is being promoted in Apples Snow Leopard, and is likely to become a de facto standard). Just as OpenGL, it is managed by the Khronos group. OpenCL was originally developed by Apple, and they still own the <a href="http://tess2.uspto.gov/bin/showfield?f=doc&#038;state=4002:r3e1el.2.1">trademark</a>, which is probably why Microsoft has chosen to promote their own API, <a href="http://en.wikipedia.org/wiki/DirectCompute">DirectCompute</a>. My guess is that CUDA and Brook+ will slowly fade away, as both OpenCL and DirectCompute will come to co-exist just the same way as OpenGL and Direct3D do.</p>
<p>For cross-platform development OpenCL is therefore the most interesting choice, and I&#8217;m hoping to see NVIDIA and AMD/ATI release public drivers for Windows as soon as possible (as of now they are in <del datetime="2009-09-28T15:21:11+00:00">closed</del> beta versions).</p>
<p>GPU acceleration could be very interesting from a generative art perspective, since it suddenly becomes possible to perform advanced visualization, such as ray-tracing, in <em>real-time</em>.</p>
<p>A final comment: a few days ago I found this quaternion Julia set <a href="http://www.angisoft.de/Angisoft/Welcome.html" rel="nofollow">GPU implementation for the iPhone 3GS</a> using OpenGL ES 2.0 programmable shaders. I think this demonstrates the sophistication of the iPhone hardware and software platform &#8211; both that a hand-held device even has a programmable GPU, but also that the SDK is flexible enough to make it possible to access it. 																</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2009/09/quaternion-julia-sets-and-gpu-computation/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Generative Bots</title>
		<link>http://blog.hvidtfeldts.net/index.php/2009/08/generative-bots/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2009/08/generative-bots/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 21:28:18 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Generative Art]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/index.php/2009/08/generative-bots/</guid>
		<description><![CDATA[GroBoto is a commercial 3D modeling tool built around the concept of bots. Bots are small iterated systems, with a few selected variables that can be customized. Bots are selected from a list of presets &#8211; more than 100 are available. Some of the Bots are very similar to what can be accomplished in Structure [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.groboto.com">GroBoto</a> is a commercial 3D modeling tool built around the concept of <em>bots</em>. Bots are small iterated systems, with a few selected variables that can be customized. Bots are selected from a list of presets &#8211; more than 100 are available. Some of the Bots are very similar to what can be accomplished in Structure Synth.</p>
<p><a href="http://www.groboto.com/gallery-i-01/Webpages/detail.np/detail-04.html"><img src="/media/gb1.jpg" /></a></p>
<p>GroBoto is a very polished product. The GUI is slick, and there are loads of advanced visualization customizations: textures, lightning and animation. When moving and rotating objects an OpenGL view is used, but the scene is always automatically rendered using an internal raytracer, which is really amazingly fast (typically less than a second). </p>
<p><a href="http://www.groboto.com/gallery-i-01/Webpages/detail.np/detail-01.html"><img src="/media/gb2.jpg" /></a></p>
<p>My only complaint is that you are somewhat limited by the presets offered by GroBoto. It would be amazing to be able to completely script the objects. Yet again, that would make GroBoto a tough competitor to Structure Synth <img src='http://blog.hvidtfeldts.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>GroBoto is available for $59 (using the coupon offer) for Windows and Mac OS X.</p>
<p>Be sure to a look at their <a href="http://www.groboto.com/Galleries.html">gallery</a> for more images or try the <a href="http://www.groboto.com/Store_Downloads.html">demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2009/08/generative-bots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Communications of the ACM</title>
		<link>http://blog.hvidtfeldts.net/index.php/2009/03/communications-of-the-acm/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2009/03/communications-of-the-acm/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 22:35:40 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Mathematical Art]]></category>
		<category><![CDATA[Structure Synth]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/index.php/2009/03/communications-of-the-acm/</guid>
		<description><![CDATA[I did the cover for the April issue of Communications of the ACM and a few illustrations inside as well.

CACM Readers: for more Structure Synth pictures see either my personal Flickr account or the public Structure Synth pool. If you want to try out the program for youself, it is freely available from SourceForge.
The structures [...]]]></description>
			<content:encoded><![CDATA[<p>I did the cover for the <a href="http://cacm.acm.org/magazines/2009/4">April issue of Communications of the ACM</a> and a few illustrations inside as well.</p>
<p><a href="http://www.flickr.com/photos/syntopia/3393495068/sizes/o/"><img src="/media/ACMs.png" /></a></p>
<p><b>CACM Readers</b>: for more Structure Synth pictures see either my <a href="http://www.flickr.com/photos/syntopia/">personal Flickr account</a> or the public <a href="http://www.flickr.com/groups/structuresynth/">Structure Synth pool</a>. If you want to try out the program for youself, it is <a href="http://structuresynth.sourceforge.net/">freely available from SourceForge</a>.</p>
<p>The structures were created in Structure Synth, and raytraced in SunFlow in high resolution (the largest picture was 6000&#215;6000 pixels). </p>
<p>I was about to leave for Japan, when I was asked to make the cover image, so I had a very tight deadline. Despite this, the actual work process went fine, thanks to clear artistic guidance from the graphical editor (Alicia Kubista from Andrij Borys Associates). </p>
<p>By the way, even though the cover notes state that I&#8217;m a computer scientist, and even though I&#8217;ve worked professionally with software development for the last eight years or so, I am a physicist. Really.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2009/03/communications-of-the-acm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escher&#8217;s Droste Effect</title>
		<link>http://blog.hvidtfeldts.net/index.php/2008/11/eschers-droste-effect/</link>
		<comments>http://blog.hvidtfeldts.net/index.php/2008/11/eschers-droste-effect/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 22:00:51 +0000</pubDate>
		<dc:creator>Mikael Christensen</dc:creator>
				<category><![CDATA[Generative Art]]></category>
		<category><![CDATA[Mathematical Art]]></category>

		<guid isPermaLink="false">http://blog.hvidtfeldts.net/index.php/2008/11/eschers-droste-effect/</guid>
		<description><![CDATA[On Subblue&#8217;s blog I stumbled upon his Adobe Pixel Blender filter that recreates Escher&#8217;s Droste effect.
First a few words about Adobe Pixel Blender which was new to me. It is a toolkit that allows you to write filters in a C-like language, that are compiled and executed on either the GPU or CPU. They can [...]]]></description>
			<content:encoded><![CDATA[<p>On <a href="http://www.subblue.com/blog/2008/11/17/eschers_droste_effect">Subblue&#8217;s blog</a> I stumbled upon his <a href="http://www.subblue.com/projects/droste">Adobe Pixel Blender filter</a> that recreates Escher&#8217;s Droste effect.</p>
<p>First a few words about <a href="http://labs.adobe.com/wiki/index.php/Pixel_Bender_Toolkit">Adobe Pixel Blender</a> which was new to me. It is a toolkit that allows you to write filters in a C-like language, that are compiled and executed on either the GPU or CPU. They can be used in Photoshop, After Effects and even Flash 10 &#8211; making it possible to create very powerful Flash content. It is interesting to see that general-purpose computing on graphics processing units now are becoming mainstream, and no longer just an academic exercise.</p>
<p></p><div class="photo"><p><a class="snap_noshots" href="/media/escher.jpg" rel="gb_imageset[ddcxs]" title="Prentententoonstelling by M.C. Eschers (1956)"><img src="/media/eschers.jpg" alt="Prentententoonstelling by M.C. Eschers (1956)" /></a></p><div class="caption">Prentententoonstelling by M.C. Escher (1956) together with its grid transformation.</div></div><p></p>
<p>The story behind Escher&#8217;s Droste effect is very interesting. It refers to the particular transformation Escher used in his &#8216;Prentententoonstelling&#8217; lithograph (pictured above). The mathematics behind the picture was unraveled by a team of Dutch mathematicians in 2003 (it is &#8216;&#8230;drawn on a certain elliptic curve over the field of complex numbers&#8230;&#8217;) and is excellently described on their <a href="http://escherdroste.math.leidenuniv.nl/">website</a>. Several other software implementations exists, including <a href="http://www.flickr.com/photos/joshsommers/sets/72157594515046947/">one for GIMP</a> and a <a href="http://paintdotnet.forumer.com/viewtopic.php?p=137953#p137953">plugin for Paint.net</a>.</p>
<p><a href="http://www.flickr.com/photos/fpsurgeon/2680685329/in/pool-escherdroste"><img src="/media/droste.jpg"></a><br />
<a href="http://www.flickr.com/photos/fpsurgeon/2680685329/in/pool-escherdroste">Double Droste Clock by fpsurgeon</a></p>
<p>Above is a modern example of using this effect, found on the <a href="http://www.flickr.com/groups/escherdroste/pool/">Escher&#8217;s Droste Print Gallery</a> Flickr group. By coincidence, the structure of this particular picture reminds me of the <a href="http://www.flickr.com/photos/syntopia/1233629094/">very first structure synth image</a> I created.</p>
<p>To be honest, I never liked Escher&#8217;s original painting much. I&#8217;ve always found it to be too mathematical and fabricated and not very interesting. But the math behind it <i>is</i> interesting and the Flickr group really contain many great pictures.</p>
<p>Be sure to check out Subblue&#8217;s many <a href="http://www.subblue.com/projects/droste">excellent examples</a> of his filter (note the video at the bottom!).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hvidtfeldts.net/index.php/2008/11/eschers-droste-effect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
