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