[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LOGO-L> Total Turtle Trip



Chuck Shavit wrote:
> 
> At 02:25 PM 10/27/97 -0500, George Mills wrote:
> >Chuck Shavit wrote:
> >>   * I do not think that the concept of  "turtle geometry" necessarily
> >> precludes "real" circles.  It so happened that the original Logo's
> >> implementation has FORWARD movements only along straight lines.  So this is
> >> a limitation of Logo and not of the concept of turtle geometry.
> >
> >I agree with you, I consider a "true" ARC function as part Turtle
> >Geometry.
> 
> If I understand you correctly, then I am not sure we are in a total
> agreement -- although it's really semantics.  I do not consider ARC part of
> turtle geometry.  To me, turtle geometry consists only of the basic
> relative movement commands: forward/backward and right/left.  If you have
> 3D (and you do...), then you need two more rotation axes.  So drawing lines
> and curves between absolute coords is not turtle geometry.  At least that's
> my definition.  Your mileage may vary.

My definition is less restrictive it is nothing more than relative moves
(and turns)
within a polar coordinate system. ARC (actually ARC2) is just a curved
move within
that same space. It was created partly for the reasons you described.

The 3D uses the exact same model as 2D, all still relative polar
coordinate moves.
You just get to turn in other dimensions [you can choose to work in
absolute
coordinates or relative polar coordinates just like 2D] call it "3D
Turtle Geometry"
is you wish. I based it on all the same principles as the 2D. In fact I
could of fit
it in more invisibly by making POS, and TOWARDS etc. return XYZ when in
3D mode
and require setheading to have (roll pitch and yaw). But I elected to
keep some
commands as separate commands for several reasons. One was, I did not
want to confuse
the 2D user in the documentation, another was I wanted to allow 2D code
to run in 3D.

If you wanted to stick with the "minimal" commands as you did for 2D
above then for
3D you simply add up/down to forward/backward and right/left to make it
"3D Turtle
Geometry". Everything else is icing on the cake.

I also consider the "absolute" coordinates in Logo a critical learning
tool
(I did not say you don't :-)). Call it part of or not part of "Turtle
Geometry",
I think all Logo's have SETXY or SETPOS or BOTH, it's a critical piece
of the
learning puzzle.

CS
FD 100
RT 90
FD 100
;Where should I be now?
SHOW POS
[100 100]

CS
ARC2 90 100
;Where should I be now?
SHOW POS
[100 100]

> 
> What I meant in my comment above is that Logo could have been extended so
> that FORWARD would behave differently depending on whether the current mode
> is to move in straight lines, in a circle of a given radius and direction,
> etc.  Just like you can set the color and then draw a red line using

That's exactly what ARC does (actually ARC2)

ARC2 :radius :degrees

In fact I believe it was Yehuda that has ARCFD and ARCBK in his library
or something like that. Note that ARC2 moves the turtle along the arc,
ARC draws the circle about the turtle and does not move or turn the
turtle.

> FORWARD, you could set the movement mode and draw a circle using the very
> same FORWARD.
> 
> To illustrate: if the turtle movement mode is to move on a circle of radius
> 100, then FORWARD 100 would draw 1/(2*pi) of the circle's perimeter.
> 
> Chuck

Since that would constantly require you to change the "radius" of the
"curve" mode
(and it would be tedious to switch back and forth between straight and
curve mode) I
created "ARC". In your terms it simply specifies the radius each time
you call it
and jumps into that "mode" for the one command but the "distance" is in
degrees.

ARC is essentially implemented as you described using basic turtle
geometry.
Actually I should say more accurately ARC is implemented in such a way
that will
end up with just as "true" an ARC. The main reason I wrote ARC was for
performance
reasons because the POLY method everyone used was terribly slow, got
poor results
and drawing fast curves is cool.

I don't want to go crazy here, call this stuff what you like, but both
ARC and 3D
follow the "Spirit" of Turtle Geometry.

-- 
===============================================================
George Mills
email: mills@softronix.com
http://www.softronix.com
The www page contains some very powerful educational software.
Our single most important investment is our kids.
---------------------------------------------------------------
Please post messages to the Logo forum to logo-l@gsn.org.  Mail
questions about the list administration to logofdn@gsn.org.  To
unsubscribe send    unsubscribe logo-l    to majordomo@gsn.org.



Global SchoolNet Foundation - Linking Kids Around the World!
Copyright GSN - All Rights Reserved - Comments & Questions
Visit GSN's Global Schoolhouse for more exciting learning resources!
Search our Site - Home