# Function Newbie question...

erik hansen erikhans08 at yahoo.com
Sat Dec 7 19:50:01 EST 2002

```--- Jim Hurley <jhurley at infostations.com> wrote:

> Eric, there is a function "distance" in Turtle
> Graphics but it
> relates to the  distance between the current
> location of the turtle
> (cursor element) and some chosen point.  For
> example, if the turtle
> were at the origin (center of the screen), the
> function
> "distance(30,40)" would return 50--the
> hypotenuse of a right triangle
> whose legs are 30, 40  is 50.
>
> In some versions of TG there are multiple
> turtles--called sprites.
> And so in a game with multiple, moving objects,
> one would need a
> function to determine distance between each of
> the turtles.
>
> The very basics in TG might be the following
> set of commands and
> functions, which I hope are self explanatory:
>
> Commands:
> forward 100
> back 100
> right 30
> left 30
> setXY 30,40
> incXY 3,4 --increment the x and y  coordinates
>
> Functions:
> xCor()
> yCor()
> distance (xTemp, yTemp)
>
> This is all quite simple to implement in
> Transcript. But the beauty
> of TG, like Transcript itself, is that it is
> extensible.
>
> I know that RunRev is looking eventually to
> expand its market in
> education. When it does, I think it will be
> examples of how Transcript and Turtle Graphics
> might be employed by
> students as problem solving tools. For example,
> with sufficient
> background, the students would write their own
> program to simulate
> planetary motion using only the TG defined
> above:
>
> constant G = 8000
>
> on orbitTheSun
>    forward 90 -- Move the plant 90 units from
> the sun
>    put 0 into vx -- Initial horizontal velocity
> of planet
>    put 12 into vy -- Initial vertical velocity
> of planet
>
>    repeat until mouseClick() -- My apologies
> for polling the mouse.
>      incXY vx, vy -- Move the turtle (planet) a
> distance v
> (distance/second) in each second
>    end repeat
>
> end orbitTheSun
>
> function accx
>    -- Newton's inverse square law of gravity
>    return -G * xcor()/ distance(0,0)^3 -- The
> sun is at 0,0
> end accx
>
> function accy
>    return -G * ycor()/ distance(0,0)^3
> end accy
>
> The result is an ellipse.
>
> The emphasis would not necessarily be
> programing for its own sake,
> but for programing (Transcript + TG) as a
> problem solving tool in a
> variety of disciplines--in fact, getting back
> to the original
> function of programming.
>
> Sorry Eric: That's probably a lot more than
> the distance function.

just right in fact. wasn't there something about
a bouncing ball? anyway, as soon as i get
converted to RunRev, there are some dancers
("sprites") that i am now moving around linearly,
but want to eventually move parabolicly. the
funny thing is that the danceSprites <appear> to
move in a curvaceous fashion.

=====
erik at erikhansen.org    http://www.erikhansen.org

__________________________________________________
Do you Yahoo!?