ANN: Displacement Scaling of graphic objects

Jim Hurley jhurley at infostations.com
Thu Mar 16 09:43:36 EST 2006


>
>Jim Hurley wrote:
>
>>  In the message box:
>>
>>  go url "http://home.infostations.net/jhurley/ScaleMe3.rev"
>
>Oh my. To those of us who are math-impaired, this is astounding.
>
>It is also funny you should post this right now, because just two days
>ago I was thinking how I would like to write a fractal generator, only I
>don't have the math to do it. I still don't. But if I did, I bet I could. ;)
>
>--
>Jacqueline Landman Gay         |     jacque at hyperactivesw.com
>HyperActive Software           |     http://www.hyperactivesw.com
>


Thanks to all for your kind words. We all bring special backgrounds 
to this tool which we share. Personally, I never got over the joy I 
found in my high school geometry class.

But I too am astounded by all the rest of you, with your sockets, and 
your cgi, and your HMAC/SHA1, and all the  rest of the mysteries of 
programming.

But Jacque, I know you can do fractals with your math tied behind 
your back. The beauty of Turtle Graphics is that all the analytical 
stuff is done for you. The rest is a little geometry using such 
commands as: Forward, Back, Right, Left, to handle the local 
geometry, and setXY, incXY to deal with the coordinate stuff. It is 
amazing what you can do with this tool. There are books, written by 
MIT math professors, using TG to do special relativity.

To do the snowflake all the geometry you need is to recognize that:

on drawSide L
forward L
left 60
forward L
right 120
forward L
left 60
forward L
end drawSide

will draw a four segment line with a angular (60 degree) bump in the middle.

The hard part, at least it's hard for me, is to recognize that the 
recursive version of this is:

on drawSide L
   if L > 3 then --Three is a measure  of the  smallest fractal 
segment to be considered.
     divide L by 3 -- Or whatever
     drawSide L
     left 60
     drawSide L
     right 120
     drawSide L
     left 60
     drawSide L
   else
     forward  L
   end if
end drawSide

And that takes a while to see. You would probably be better at that 
than I am. My mind doesn't work recursively.

The "stopTurtle"  stack is an interpreter I wrote in Transcript to 
implement  TG. To check it out,  in the msg box, run:

go url "http://home.infostations.net/jhurley/StopTurtles.rev"

It includes a TG dictionary and a few examples.

Jim


More information about the use-livecode mailing list