<?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; drachenkurve</title>
	<atom:link href="http://blog.rki-home.de/tag/drachenkurve/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>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>
	</channel>
</rss>

