<?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>Ric&#039;s Blog &#187; fraktale</title>
	<atom:link href="http://blog.rki-home.de/tag/fraktale/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rki-home.de</link>
	<description>Interessantes oderso...</description>
	<lastBuildDate>Wed, 04 May 2011 08:42:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Drachenkurve revisited</title>
		<link>http://blog.rki-home.de/2011/05/04/drachenkurve-revisited/</link>
		<comments>http://blog.rki-home.de/2011/05/04/drachenkurve-revisited/#comments</comments>
		<pubDate>Wed, 04 May 2011 08:29:44 +0000</pubDate>
		<dc:creator>ric</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[drachenkurve]]></category>
		<category><![CDATA[fraktale]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.rki-home.de/?p=419</guid>
		<description><![CDATA[In einem früheren Blogartikel (Drachenkurve, 9.April 2008) schrieb ich, dass ich die Drachenkurve per PHP nachgezeichnet hatte. Der Nachteil mit dieser Methode war, dass das Erzeugen der Fraktal-Grafik selbst auf einem starken Server recht lange dauert, was zur Folge haben kann, dass der Browser oder der Server nach einer gewissen Zeit einfach abbricht, ohne dass [...]]]></description>
			<content:encoded><![CDATA[<p>In einem früheren Blogartikel (<a href="http://blog.rki-home.de/2008/04/09/drachenkurve/">Drachenkurve, 9.April 2008</a>) schrieb ich, dass ich die Drachenkurve per PHP nachgezeichnet hatte.<br />
Der Nachteil mit dieser Methode war, dass das Erzeugen der Fraktal-Grafik selbst auf einem starken Server recht lange dauert, was zur Folge haben kann, dass der Browser oder der Server nach einer gewissen Zeit einfach abbricht, ohne dass man irgendetwas zu Gesicht bekommt.</p>
<p>Deshalb habe ich die ganze Erstellung der Grafik einfach auf die Client-Seite verschoben. HTML5 bietet nämlich mit dem Canvas-Element und etwas Javascript eine hervorragende Möglichkeit dafür.<br />
<span id="more-419"></span><br />
Ich habe kurzerhand die ursprüngliche Vorgensweise mehr oder weniger neu mit Javascript gecoded jetzt kann man kann dabei zusehen, wie das Fraktal gemalt wird.<br />
Hier direkt ein Ergebnis:<br />
<img src="http://blog.rki-home.de/wp-content/uploads/2011/05/drachenkurve_14.png" alt="Drachenkurve mit 14 Iterationen" title="drachenkurve_14" width="522" height="362" class="aligncenter size-full wp-image-420" /></p>
<p>Wer tatsächlich live zusehen will, wie eine Drachenkurve mit 16 Iterationen gemalt wird, kann hier drauf klicken: <a href="http://blog.rki-home.de/coding/drachenkurve.html" rel="nofollow">Drachenkurve, 16 Iterationen, Live-Beispiel</a> (es wird ein aktueller Browser mit Canvas-Unterstützung benötigt, z.B. Firefox, Chrome, Safari undso).<br />
Da die Berechnung und das Zeichnen auf dem Client-Computer ablaufen, kann es schonmal ein paar Sekunden dauern, bis es anfängt zu zeichnen &#8211; abhängig von der Rechen-Leistung des Computers.<br />
Für diejenigen, denen es zu lange dauert, weil mein Code vermutlich keinen Geschwindigkeits-Preis gewinnen würde, hier <a href="http://blog.rki-home.de/coding/drachenkurve.png" target="_blank">das fertige Bild</a>.</p>
<p><strong>Nachtrag: </strong> Ich hab grad mal versucht, die Seite mit dem Script im Standard-Browser von meinem Android Handy (Milestone, übertaktet auf 1GHz) zu starten&#8230; nunja, es funktioniert, aber es dauert laaaaaange&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rki-home.de/2011/05/04/drachenkurve-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flocken ohne Ende</title>
		<link>http://blog.rki-home.de/2008/04/10/flocken-ohne-ende/</link>
		<comments>http://blog.rki-home.de/2008/04/10/flocken-ohne-ende/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 17:07:20 +0000</pubDate>
		<dc:creator>ric</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[flocken]]></category>
		<category><![CDATA[fraktale]]></category>
		<category><![CDATA[kurven]]></category>

		<guid isPermaLink="false">http://blogs.rki-home.de/ric/2008/04/10/flocken-ohne-ende/</guid>
		<description><![CDATA[Ich bin jetzt alle Beispiele durchgegangen, die auf der deutschen Wikipedia-Seite zu Fraktalen aufgeführt wurden, welche sich geometrisch konstruieren lassen. Hiermit ist quasi bewiesen, dass die dort angegebenen Regeln (auch &#8220;L-Systeme&#8221; genannt) zur Konstruktion alle korrekt sind, wobei nicht alle Fälle selbsterklärend sind. Speziell die Hilbert und die Peano Kurve wichen plötlich von der Notation [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin jetzt alle Beispiele durchgegangen, die auf der deutschen Wikipedia-Seite zu Fraktalen aufgeführt wurden, <a href="http://de.wikipedia.org/wiki/Fraktal#Fraktale.2C_die_sich_geometrisch_konstruieren_lassen">welche sich geometrisch konstruieren lassen</a>. Hiermit ist quasi bewiesen, dass die dort angegebenen Regeln (auch &#8220;L-Systeme&#8221; genannt) zur Konstruktion alle korrekt sind, wobei nicht alle Fälle selbsterklärend sind. Speziell die Hilbert und die Peano Kurve wichen plötlich von der Notation ab: zuerst gab es die Strecken-Variablen <em>L</em> und <em>R</em> und hier auf einmal <em>X</em>, <em>Y</em> UND <em>F</em>. Desweiteren ging man vorher von gleichen Seitenlängen für <em>R/L</em> aus, wobei <em>X/Y</em> plötzlich gar keine Länge mehr hatte und dafür nur noch <em>F</em> abgetragen wurde.</p>
<p>Aber schliesslich habe ich alle Systeme anwenden können. Hier sind die Ergebnisse:</p>
<p><strong>Hilbert Kurve:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/hilbert.png' alt='Hilbert Kurve' /></div>
<p><em>Streckenlänge: 4 Pixel<br />
Iterationstiefe: 6<br />
Winkel: 90°</em><br />
<span id="more-26"></span></p>
<p><strong>Gosper Kurve:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/gosper.png' alt='Gosper Kurve' /></div>
<p><em>Streckenlänge: 5 Pixel<br />
Iterationstiefe: 4<br />
Winkel: 60°</em></p>
<p><strong>Peano Kurve:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/peano.png' alt='Peano Kurve' /></div>
<p><em>Streckenlänge: 3 Pixel<br />
Iterationstiefe: 4<br />
Winkel: 90°</em></p>
<p><strong>Koch Kurve:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/koch.png' alt='Koch Kurve' /></div>
<p><em>Streckenlänge: 3 Pixel<br />
Iterationstiefe: 4<br />
Winkel: 60°</em></p>
<p><strong>Penta Plexity:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/pentaplexity.png' alt='Penta Plexity' /></div>
<p><em>Streckenlänge: 10 Pixel<br />
Iterationstiefe: 3<br />
Winkel: 36°</em></p>
<p><strong>Pfeilspitze:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/pfeilspitze.png' alt='Pfeilspitze' /></div>
<p><em>Streckenlänge: 5 Pixel<br />
Iterationstiefe: 6<br />
Winkel: 60°</em></p>
<p><strong>Sierpinskidreieck:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/sierpinskidreieck.png' alt='Sierpinskidreieck' /></div>
<p><em>Streckenlänge: 5 Pixel<br />
Iterationstiefe: 5<br />
Winkel: 60°</em></p>
<p><strong>Sierpinskiteppich:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/sierpinskiteppich.png' alt='Sierpinskiteppich' /></div>
<p><em>Streckenlänge: 3 Pixel<br />
Iterationstiefe: 4<br />
Winkel: 90°</em></p>
<p><strong>Lévy C Kurve:</strong></p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/levyc.png' alt='Lévy C Kurve' /></div>
<p><em>Streckenlänge: 3 Pixel<br />
Iterationstiefe: 12<br />
Winkel: 45°</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rki-home.de/2008/04/10/flocken-ohne-ende/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drachenkurve</title>
		<link>http://blog.rki-home.de/2008/04/09/drachenkurve/</link>
		<comments>http://blog.rki-home.de/2008/04/09/drachenkurve/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:26:21 +0000</pubDate>
		<dc:creator>ric</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[drachenkurve]]></category>
		<category><![CDATA[fraktale]]></category>

		<guid isPermaLink="false">http://blogs.rki-home.de/ric/2008/04/09/drachenkurve/</guid>
		<description><![CDATA[So&#8230;noch ein bisschen rumgespielt und dabei die Drachenkurve reproduziert: Dafür bin ich von einem String ausgegangen, in dem anfangs nur &#8220;R&#8221; steht. Den habe ich dann in eine (rekursive) Funktion gesteckt, die in jedem Durchlauf folgende Textersetzung durchführt: &#8220;R&#8221; -&#62; &#8220;+R&#8211;&#8211;L+&#8221; &#8220;L&#8221; -&#62; &#8220;&#8211;R++L&#8211;&#8221; Das bedeutet, dass nach einem Durchlauf &#8220;+R&#8211;&#8211;L+&#8221; im String steht und [...]]]></description>
			<content:encoded><![CDATA[<p>So&#8230;noch ein bisschen rumgespielt und dabei die Drachenkurve reproduziert:</p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/drachenkurve.png' alt='Drachenkurve' /></div>
<p><span id="more-24"></span><br />
Dafür bin ich von einem String ausgegangen, in dem anfangs nur &#8220;R&#8221; steht.<br />
Den habe ich dann in eine (rekursive) Funktion gesteckt, die in jedem Durchlauf folgende Textersetzung durchführt:<br />
<strong><br />
&#8220;R&#8221; -&gt; &#8220;+R&ndash;&ndash;L+&#8221;<br />
&#8220;L&#8221; -&gt; &#8220;&ndash;R++L&ndash;&#8221;<br />
</strong><br />
Das bedeutet, dass nach einem Durchlauf &#8220;<em>+R&ndash;&ndash;L+</em>&#8221; im String steht und im nächsten dann &#8220;<em>++R&ndash;&ndash;L+&ndash;&ndash;&ndash;R++L&ndash;+</em>&#8220;. Nach 14 Durchläufen hat man dann einen kilometerlangen String aus lauter Plussen, Minussen, Ls und Rs. Diesen String habe ich dann als Anweisung zum Malen verwendet, bei dem die Zeichen folgendermassen interpretiert wurden:</p>
<p><strong>&#8220;&ndash;&#8221;:</strong> Zeichenrichtung um 45° nach <em>links</em> drehen,<br />
<strong>&#8220;+&#8221;:</strong> Zeichenrichtung um 45° nach <em>rechts</em> drehen,<br />
<strong>&#8220;L&#8221;, &#8220;R&#8221;:</strong> eine Linie einer bestimmten Länge (hier: 2 Pixel) in die aktuelle Zeichenrichtung ziehen.</p>
<p>Das ist eigentlich schon alles. Simpler gehts eigentlich kaum, und trotzdem kommt dann so eine mehr oder weniger interessante Grafik heraus.</p>
<p>Mehr dazu gibts in Wikipedia: <a href="http://de.wikipedia.org/wiki/Fraktal">Fraktal</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rki-home.de/2008/04/09/drachenkurve/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fraktale Spielereien</title>
		<link>http://blog.rki-home.de/2008/04/09/fraktale-spielereien/</link>
		<comments>http://blog.rki-home.de/2008/04/09/fraktale-spielereien/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 15:29:19 +0000</pubDate>
		<dc:creator>ric</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[farne]]></category>
		<category><![CDATA[fraktale]]></category>

		<guid isPermaLink="false">http://blogs.rki-home.de/ric/2008/04/09/fraktale-spielereien/</guid>
		<description><![CDATA[Ich habe mich das erste Mal seit der Schulzeit wieder mit Fraktalen Spielereien beschäftigt und ein paar (trivialere) Beispiele nachgebastelt. Dafür musste ich aber glatt ein kleines bisschen Schul-Mathematik wiederholen, was eigentlich doch immer wieder Spass machen kann. Konkret habe ich den Computer simple Farne malen lassen. Die auzufrischenden mathematischen Grundlagen waren hierbei Vektoren (z.B. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich das erste Mal seit der Schulzeit wieder mit Fraktalen Spielereien beschäftigt und ein paar (trivialere) Beispiele nachgebastelt.</p>
<p>Dafür musste ich aber glatt ein kleines bisschen Schul-Mathematik wiederholen, was eigentlich doch immer wieder Spass machen kann.<br />
Konkret habe ich den Computer simple Farne malen lassen. Die auzufrischenden mathematischen Grundlagen waren hierbei Vektoren (z.B. Berechnung von Betrag/Länge und Winkel) oder auch Schlagworte wie Polarkoordinaten bzw Kartesisches Koordinatensystem.<br />
<span id="more-22"></span><br />
Jedenfalls ist das alles ganz und gar nichts Neues, aber es kann nicht schaden, auch mal mit sowas rumzuspielen <img src='http://blog.rki-home.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="bigimage"><img src='http://gallery.koehls.de/albums/geometic_fractals/farne.png' alt='Farne' /></div>
<p>Links ist ein sehr simpler Farn, der dadurch entsteht, dass an eine Linie quasi eine leicht skalierte Kopie eben jener Linie in einem bestimmten Winkel angelegt wird. Dann legt man an die neue Linie wieder eine im gleichen Maße skalierte Version der zweiten Linie an und wiederholt das so lange, bis die Linie nur noch ein Punkt ist und sich kaum noch eine Veränderung im Bild dadurch ergeben kann.<br />
Rechts ist ein etwas komplexerer Farn, bei dem eben immer zwei verschiedene, skalierte Kopien in verschiedenen Winkeln an die Ursprungslinie angelegt werden.</p>
<p>Während ich mit dem simplen Farn noch keine rekursive Funktion benötigt habe, sondern einfach nur eine begrenzte Schleife benutzt habe, musste ich für den zweiten Farn schon eine sich selbst aufrufende Funktion verwenden, was bei einer Tiefe von zwölf Iterationen durchaus einen merklichen Verbrauch an Sytemressourcen zur Folge hat. Dabei ist die Wahl der Skriptsprache PHP vielleicht auch nicht gerade das Optimum für solche Spielereien&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rki-home.de/2008/04/09/fraktale-spielereien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

