Login  Register

Re: Discovering Pi in Squeak

Posted by K. K. Subramaniam on May 31, 2007; 9:15pm
URL: https://forum.world.st/Discovering-Pi-in-Squeak-tp114410p114416.html

On Thursday 31 May 2007 6:18 pm, Alan Kay wrote:
> Hi Subbu --
>
> And of course Pi is not at all required for "turn by" or "forward".
> It is one of many constants in the init method for float but is not
> needed for these behaviors. "foo turn by ang" is easily written in
> Etoys as "foo heading increase by ang" where "heading" is a simple
> property, so there is no Pi involved here. "foo forward by 5" is more
> complicated (because it involves a vector addition to foo's location)
> but still requires no Pi.
It is true that turn: just sets the heading and doesn't use Pi. But the
heading gets used in forward operation which uses degreesToRadians from Float
class which ends up using Pi. The x and y offsets are computed using sin/cos
primitive functions whose computations, I suspect, would have used Pi.
Therefore, the diameter computed as (xmax - xmin) would have used Pi. I just
assumed the worst case :-).

The forward/turn method is same as triangular approximation when the turn
angle is a factor of 360. A child who happens to chose 7 (3.176) will wonder
why those who chose 8 (3.143) or 6 (3.141) have closer results. Triangular
approximation is self-correcting. The error isnt significant for angles below
5, so this aspect is of academic interest only.

Anyway, the idea behind triangular approximation is to let kids learn that
there are named numbers (pi, e) whose values are approximated unlike named
numbers like half, quarter etc.

I noticed something strange about the numbers calculated by Squeak. The ratio
of perimeter of inscribed polygon to diameter should be less than Pi. But for
turns of 10 degrees (3.150) and 8 degrees (3.143) I get overshoots.

Regards .. Subbu
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland