Thanks Jim,

More information than I thought I needed to know about stars, but now I'm 
better informed. Very nice.

-- Tom McGrath III
http://lazyriver.on-rev.com
3mcgr...@comcast.net

On Jun 22, 2012, at 12:30 PM, Jim Hurley wrote:

> As LiveCode announcements go, this one is pretty low key. All "Stars" does is 
> provide the code for drawing a star.
> 
> But there is a lesson for LiveCode to learn from the lowly five-pointed star, 
> the one on the US flag.
> 
> A star may be viewed in two ways:
> 
> 1)  Analytical Cartesian Geometry: A collection of 10 connected points (5 
> outside points, and 5 inside) in a  Cartesian coordinate system.
> 
> 2)  Euclidian Geometry: A collection of lines and angles without reference to 
> place or orientation.
> 
> The first is the Cartesian picture where the computation to draw the star is 
> executed using algebra, trigonometry, and/or analytic geometry. 
> 
> The other  picture is that of a figure in Euclidean space and the 
> construction is carried out geometrically, drawing lines with a given angular 
> relation to one another.
> 
> LiveCode favors the Cartesian picture employing its analytic tools to 
> generate a list of 10 points and presenting the list as a graphic by setting 
> the graphic to these points.
> 
> Here is how that code might look using those tools to draw a star in a 
> Cartesian coordinate system:
> 
>>  --FIrst, define the angles and lengths in the figure to be drawn
>>   put 36 into gamma
>>   put 18 into alpha
>>   put 200 into L
>>   --Next some trig. Not trivial.
>> 
>>   --Let r1 be the distance from the center of the star to the inner 
>> vertices. 
>>   put L*sine(alpha) /sine(gamma) into  r1
>> 
>>   --Let r2 be the distance from the center to the outer vertices
>>   put L*cosine(alpha) +  r1 * cosine(gamma) into r2
>> 
>>   --Start at the top of the star at a polar angle of 90 degrees
>>   put 90 into a
>>   --Circle around the ten verticies of the star
>>   --in increments of 360/10 = 36 degree, the polar angle between vertices.
>>   put 36 into da 
>>   repeat with i = 1 to 10 
>>      if i mod 2 = 1 then
>>         put r2* cosine(a) into x
>>         put r2* sine(a)  into y
>>         put round(x+ x0) into x
>>         put round(-y+y0) into y
>>         put x,y & cr after tPoints--outer points
>>      else
>>         put  r1* cosine(a) into x
>>         put  r1* sine(a)  into y
>>         put round(x+ x0) into x
>>         put round(-y+y0) into y
>>         put x,y & cr after tPoints--inner points
>>      end if
>>      add da to a -- next vertex
>>      --If you want to see the star form line by line.
>>      set the points of grc "Star" to tPoints
>>      end repeat
>>      --Close the loop
>>      put results & line 1 of results into tPoints
>>      set the points of grc "Star" to tPoints
> 
> 
> 
> And here is what the loop might look like if the star were expressed as a 
> geometrical figure: 
> 
>>    put 2*360/5 into tAngle -- Pretty simple geometry here. 
>>    put 200 into L
>>    repeat with i = 1 to 5
>>      forward L
>>      right tAngle --at an exterior point
>>      forward L
>>      left tAngle/2 --at an interior point
>>   end repeat
> 
> 
> (After LC has  been taught how to execute "forward", "right", and "left".)
> 
> There has been talk for some time of promoting LC in education, even in K-12. 
> Great idea.
> 
> There has also been talk, more broadly, of rejuvenating the teaching of 
> mathematics --See the TED talk by Conrad Wolfram at:
> 
>    
> http://www.ted.com/talks/lang/en/conrad_wolfram_teaching_kids_real_math_with_computers.htmlConrad
>  Wolfram
> 
> (Ken Ray will enjoy the stick figures at the end of the talk.)
> 
> From Wolfram's  talk: "I believe that correctly using computers is the silver 
> bullet for making math education work."  He cites particularly the use of the 
> computer in modeling and simulation. He anticipates scientists (geologist, 
> biologists, engineers) programing these simulations.
> 
> LiveCode has all the necessary analytical tools for such modeling and 
> simulation, but  it lacks the geometric tools, specifically Sprite Geometry 
> (aka Turtle Graphics.) 
> 
> For some years I have been promoting (spoken to Kevin on several occasions) 
> the addition of Sprite geometry into LC. I believe it would add significantly 
> to LC's penetration into the education market. It would allow kids to tackle 
> problems that are much too difficult using Cartesian analytical tools, but 
> quite straight forward when presented as problems in geometry--witness the 
> "Star" above.
> 
> It would also allow them easy access to game programming. The loop to set a 
> Fox graphic (control) chasing a Rabbit graphic (control) would look like this:
> 
>> repeat until the mouseClick
>>      tell "hare"
>>      --Move Hare in a circle.
>>      forward 2
>>      left 1
>>      put theLocation() into theHareLocation
>>      tell "fox"
>>      setheading direction(theHareLocation)
>>      forward 1
>>   end repeat
> 
> 
> The Fox and Hare and treated as Sprites and Sprite geometry can talk to any 
> LC control, a drawing sprite with penDown or not drawing with penUp.
> 
> Many are put off by Turtle Graphics. There is a perception that it is just 
> for kids. But it goes well beyond simple ways to draw polygons. (See the book 
> by Professor Harold Ableson of MIT titled: Turtle Geometry: The Computer as a 
> Medium for Exploring Mathematics (Artificial Intelligence, at Amazon: 
> http://www.amazon.com/Turtle-Geometry-Mathematics-Artificial-Intelligence/dp/0262510375/ref=sr_1_1?s=books&ie=UTF8&qid=1340373015&sr=1-1&keywords=Turtle+geometry
>  . )
> 
> TG is also useful in  graphically solving trajectory equations (differential 
> equations)  for the path of a projectile, or the motion of the Earth around 
> the Sun. Or the surprising physics behind the rainbow--TG is quite straight 
> forward in representing light rays in general, for they are quite simply 
> lines that turn through angles.
> 
> Sprite geometry is wonderfully suited to doing calculus, differential and 
> integral, both in formulating the problems geometrically and in coming up 
> with quantitative solutions. As such it is a valuable educational tool.
> 
> As a trivial example of the advantage of Geometry over Analytics, I have 
> illustrated these two approaches (Euclidian geometry vs. analytic geometry) 
> in drawing the star at:
> 
>   go url "http://jamesphurley.com/RunRev/Stars.livecode";
> 
> The scripts there demonstrate the handicap that LiveCode faces in this very 
> simple problem in geometry. LC has a problem. The fault, dear Brutus, may lie 
> in our stars after all. 
> 
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to