Right. Like I said, it was the simplest thing that would work to be able to autobuild stuff using a Logo-like dialect. OTOH it can&#39;t really be exactly Logo, not exactly; Logo didn&#39;t have flying turtles!<br><br><div class="gmail_quote">
On Thu, Feb 28, 2013 at 9:59 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
On 2013-02-28, at 08:38, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>
<br>
&gt; On 28 February 2013 01:04, Casey Ransberger &lt;<a href="mailto:casey.obrien.r@gmail.com">casey.obrien.r@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Vector3D is totally it. I knew I&#39;d seen it x@y@z somewhere, which was in<br>
&gt;&gt; OpenQWAQ now that I think about it.<br>
&gt;&gt;<br>
&gt;&gt; Is there a canonical MC repository for this code, or should I grab an Cobalt<br>
&gt;&gt; image and start filing stuff out?<br>
&gt;&gt;<br>
&gt;&gt; Eeep! I&#39;m a step closer to Logo in Minecraft :D I did the simplest thing<br>
&gt;&gt; that would work, which is something like...<br>
&gt;&gt;<br>
&gt;&gt; turtle<br>
&gt;&gt;    penDown;<br>
&gt;&gt;    turn: #west;<br>
&gt;&gt;    go: 5;<br>
&gt;&gt;    turn: #up;<br>
&gt;&gt;    go: 1;<br>
&gt;&gt;    turn: #east;<br>
&gt;&gt;    go: 5<br>
&gt;&gt;<br>
&gt;&gt; This is actually good enough to make procedurally generating relatively<br>
&gt;&gt; complex builds (e.g., a CPU) much less painful that even a map editor, but<br>
&gt;&gt; it doesn&#39;t feel like Logo at all. I haven&#39;t used Logo since childhood, but<br>
&gt;&gt; IIRC one would turn by degrees and these would be mapped onto pixel space. I<br>
&gt;&gt; *think* this is why I&#39;m wanting a 3D Point, so I can map 3D points onto<br>
&gt;&gt; voxel space without reinventing the third dimension from scratch.<br>
&gt;&gt;<br>
&gt;&gt; This was a fun problem to think about: I tried to get #left and #right as<br>
&gt;&gt; valid params to the turn method, but wait! What does #left mean when the<br>
&gt;&gt; turtle is currently traveling up? Which has me now thinking in terms of<br>
&gt;&gt; roll/yaw/pitch. It&#39;s weird to think about.<br>
&gt;<br>
&gt; Yep, that makes sense, given Logo&#39;s differential-geometry-ness.<br>
&gt; #left/#right are, of course, yaw: &#39;left a bit, up a bit, ok fly like<br>
&gt; that. down a bit, right a bit.&#39; Have you heard of the TNB frame at<br>
&gt; all? The torsion/normal/binormal frame. Might help in getting yourself<br>
&gt; inside the turtle.<br>
&gt;<br>
&gt; frank<br>
<br>
</div></div>Yep. The most important thing about turtle graphics is that almost all turtle commands are relative to the turtle&#39;s position and direction. So instead of turning &quot;west&quot; and &quot;east&quot; absolutely, you should turn &quot;left&quot; and &quot;right&quot;, and if you do 4 &quot;up + go&quot; in a row would have made a (square) looping. &quot;Left&quot; and &quot;right&quot; make total sense if you imagine being a turtle :)<br>

<br>
If it&#39;s just a &quot;cursor&quot; instead of a turtle, then using absolute directions would make sense. In that case &quot;cursor goX: 5; goY: 5; goX: -5; goY: -5&quot; would also draw an upright square. This might be more convenient in some cases, but you shouldn&#39;t call it &quot;turtle&quot;.<br>

<span class="HOEnZb"><font color="#888888"><br>
- Bert -<br>
<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Casey Ransberger