[LogoForum] Re: Parabolic curve ... `radial array of parabolas' and `hoop skirt' strategies



The message below is being cross-posted from LogoForum.

--- In LogoForum@xxxxxxxxxxxxxxx, "jotape1960" <jotape1960@xxxx>
wrote:

HI LOGO FANS!!!!!!!

Thank you Andreas and Gene!!!

But, please let me remember you something: I tried to do it,
I put my
mind in the turtle's eyes, then I could use FD .... RT (or LT) ....
some computed angle. Right! It works!!! But, the final target (to
revise the geometry mathematical area) doesn't get because I want
to "reinforce" the X Y Z world. Do you "catch" my idea?

When we want to draw a parabolic curve, in the 2D world,
it's so easy because we just need to know what is our
wanted x coordinate and what is the focus of the parabolic
curve (it could be an arbitrary point on the x axis).
Then we can compute the y coordinate so easy because
it's a function of the x coordinate:

make "y SQRT(4*:focus*:x)

The problem is when we want to draw it in the 3D world.

Unless you use a higher level of abstraction, it seems.

Solution #1: The `radial array of parabolas' method
  As you have `hard wired' x and y -- the same x and y
triplets which also have the clonish sibling named `z' --
into your equation I suspect that this `favoritism'
is causing you grief. Your formula is more `concrete'
and less `abstract' than it needs (as if `it' has needs)
to be, don't you think?
If one wanted a parabola on the Y-Z plane one could
exchange :x in your formula for :z I suppose.
But, as you are drawing a parabola on a plane already,
why not decouple your formuala from the X-Y plane so
that it will work on any plane you specify?  If you
do this then it is simple to generate a parabloid-by-revolution
by rotating the turtle's plane-of-generation about
whatever axis chosen (assuming one of the 3 simplest cases,
although a parabola or paraboloid may be formed about
any arbitary line) then redrawing the parabola you have chosen as
your template or `mother curve'.  This results in a wire frame model
of a paraboloid, of course.  But I believe this strategy may
allow you to metamorphoze what you already have into
something closer to what you want.

Solution #2: The `hoop skirt' method
  As you already claim to be happy with the parabola
you've generated, here is a quick-and-dirty way to
get something closer to a paraboloid: Every time you
generate a unit of length along the curve (using fd of bk)
don't generate the next unit of length until you've rolled
the turle over 90 degrees so that it's next `fd' or `bk' command
is enacted on the X-Z plane.  Then draw a circle.  after
drawing the circle roll the turtle back over to the X-Y
plane where it was and then draw the next unit of length.
Lather, rinse, repeat. (to use a shampoo methaphor)
This method produces a `hoop skirt' form of wire frame paraboloid.

I hope one or the other of these strategies works for you.

All the best,
  Gene

Let's see, if we draw it on the x axis, there is no problem:
it's the same as in 2D world!

But if we draw it on any other plane, not the x
axis.... "Houston, we have a problem" Why? Well, we know the y
coordinate is a function of the x coordinate, but it's only valid in
2D world and on the x axis of the 3D world, because in any other
plane of this "3D world" this "x" coordinate is a pair of values: the
junction between the x coordinate and the z coordinate!. The problem
of the paraboloid is about what's the valid equation to get the value
of this pair or coordinates (x and z). Because I'm not a mathematical
teacher, please, Can somebody help me?

Now the set of procedures we have until today (all of them are for
MSWLogo only):

to parabolicaerial2D :focus
2Dworld
cartesianaxis2D
parabolic2D :focus
rays
focus
end

to cartesianaxis2D
pu home setpc [200 200 200] setpensize [0 0]
pd fd 300 bk 600 fd 300 rt 90 fd 400 bk 800 fd 400 lt 90
pu home setpc [0 0 0] pd
end

to cartesianaxis3D :r
setorientation (list :r 0 0)
fd 100 bk 200 fd 100
rt 90 fd 100 bk 200 fd 100 lt 90
setpitch 90 fd 100 bk 200 fd 100 setpitch 0
end

to focus
setpc [255 0 0] setpensize [5 5]
pu home fd 4 pd fd 20
pu home bk 4 pd bk 20
pu home rt 90 fd 4 pd fd 20
pu home rt 90 bk 4 pd bk 20
pu home setpensize [0 0] pd ht
end

to 2Dworld
cs ct window home
scrollx 0 scrolly 0 zoom 1
setsc [0 0 0] setpc [255 255 255] setpensize [0 0]
end

to 3Dworld
cs ct perspective home
scrollx 0 scrolly 0 zoom 1
setsc [0 0 0] setpc [255 255 255] setpensize [0 0]
end

to parabolic2D :focus
pu home rt 90 bk 0-:focus lt 90
setpensize [5 5] setpc [0 0 255]
make "xy []
for [p :focus 0 -1][make "x (0-:focus)+:p
		make "y (sqrt (4*:focus*:p))
		make "xy lput (list :x :y) :xy
		setxy :x :y pd]
pu setxy 0 0 rt 90 bk 0-:focus lt 90
for [p 0 :focus 1][make "x (0-:focus)+:p
		make "y (sqrt (4*:focus*:p))*-1
		make "xy lput (list :x :y) :xy
		setxy :x :y pd]
pu home setpensize [0 0] setpc [0 0 0] pd
end

to rays
setpc [255 200 0] setpensize [0 0]
for [v 0 :focus 3][pu home
	pd setpos (list (first item :v+1 :xy) (last item :v+1 :xy))
setx 400]
for [v 0 :focus 3][pu home
	pd setpos (list (first item :v+1 :xy) -(last item :v+1 :xy))
	setx 400]
end

to rotationscene
for [r 0 360 10][3Dworld
	cartesianaxis3D :r]
rotationscene
end

About the "slow motion" of the turtle sometimes: try to
run "ROTATIONSCENE" changing the background color to black and the
pen to white and look the "very beautiful" blinking screen:

to 3Dworld
cs ct perspective home
scrollx 0 scrolly 0 zoom 1
setsc [255 255 255] setpc [0 0 0] setpensize [0 0]
end

to cartesianaxis3D :r
setorientation (list :r 0 0)
fd 100 bk 200 fd 100
rt 90 fd 100 bk 200 fd 100 lt 90
setpitch 90 fd 100 bk 200 fd 100 setpitch 0
end

to rotationscene
for [r 0 360 10][3Dworld
	cartesianaxis3D :r]
rotationscene
end

Aditional note:

Why I try to intentionally avoid the use of "more advanced" commands
(as MAP, REDUCE, CASCADE, etc.) in "my" procedures? (actually some of
these procedures are written by my pupils)

Maybe it's a non accepted answer to someone, specially the
technicians and advanced Logo programmers, but it's my reason.

In the educational process, we always have to go from one very simple
and basic point (the knowing thing) to one more complex and advanced
point (the unknowing thing), and with the expected target: our pupils
can "catch" all the details of the phenomenon to remember it so well
in the future.

In this way, I try to avoid my students pass through my personal and
sad experience: "to know how to move the turtle in the screen without
to know how the internal gnome handles the zeros and ones".

Of course, I can't do nothing about something I don't know (I can't
teach them that I don't know). But I can teach them all the basic an
simple statements, and repeat it again and again and again, and
then... try to use some more advanced way. But with simple or
advanced commands, they would never forget the Logo essence: from the
simple to the complex.

All my kids are chilean boys and girls. Only one of them has a
computer at home, the others just can to work here in the school (or
in a "cybercoffee"). They aren't... let's say, "outstanding"
students. They are "normal" students. They have their dreams, their
feelings, their personalities and their capabilities. If they don't
dominate, so well, all the "basic" commands, How can I teach
the "advanced" commands?

Then, I could use SETORIENTATION but as long as they dominate the X Y
Z concept.

If I use MAP, or REDUCE, it works, yeah! But my students will
say... "What?"

It's the same as when we use some Microsoft software as Word: we use
the computer and write a letter, so easy! but... we can't "see" the
internal process and we don't enjoy of all the "magic" of it.

Then... I prefer to use the paleolithic way and write the well-known
REPEAT 4 [FD 50 RT 90]. Do you understand me?

GOD BLESS YOU ALL!!!!!!!


Juan J. Paredes G. From Curicó, Chile, South America, with love



LogoForum messages are archived at:
http://groups.yahoo.com/group/LogoForum







































































































































.



Relevant Pages

  • Re: parabola - conic section
    ... > sliced by a plane parallel to a lateral side of the cone, ... Let pi be some fixed plane. ... A parabola may be defined as the locus of a point, in pi, which moves so ... Let D be the line of intersection of delta and pi. ...
    (sci.math)
  • Re: Twin Parabola Puzzle/Conjecture
    ... what is meant by inclusion? ... can view one parabola as being inverted relative to the other. ... 'common vertex' but they are no longer occupying the same plane. ... to the y-z plane. ...
    (sci.math)
  • Re: Twin Parabola Puzzle/Conjecture
    ... but sharing a common vertex? ... One parabola occupies the x-y plane, ... either the y-z plane (or a plane that is parallel to the y-z plane. ...
    (sci.math)
  • Re: Twin Parabola Puzzle/Conjecture
    ... can view one parabola as being inverted relative to the other. ... 'common vertex' but they are no longer occupying the same plane. ... to the y-z plane. ...
    (sci.math)