Sunday, July 01, 2007

Logo 也 3D

Welcome to StarLogo TNG

前陣子 survey 描述機器動作的程式語言時,看到幾個賣像不錯的 Robot 產品,竟不約而同地,都說 Logo 語

經過一連串的 google 、到處點閱後發現:原來 Logo 早已跳出原先的認知,不再只是給小朋友玩的烏龜繪圖了!

一直以來,我對 Logo 語言並不陌生,因為手邊好些科普書都有提到,例如:

  • 電腦如何思考》p53 ,Hillis 以 Logo 為例子,說明程式語言的威力;
  • 沙地上的圖案》p136 ,〈作為藝術家的烏龜,The turtle as artist〉這節說明了 Papert 的 Logo 及其 Turtle Geometry
  • MIT 媒體實驗室》p181 ,提到了控制 LEGO 積木的 Logo 語言;
  • 遊習世紀》p101 ,提到用 Logo 控制的實體機器烏龜如何幫助小孩子學習;
  • ……

Logo 語言我原先比較有印象的,就是它的烏龜繪圖。其最早的版本是一隻地板上亂逛的同時,還會以隨身攜帶的畫筆留下足跡的實體機器龜;後來這隻機器烏龜離開了地面,爬上了螢幕,變成一隻賣弄光影的傢伙。

現在一些 Logo 版本(例如 StarLogoNetLogo 等),允許同時有成百、上千隻烏龜。這些烏龜還可以依行為不同而有不同族系(例如:有些化身成兔子,有些化身成狐狸等)。這下子可以拿 Logo 來跑有大量 agents 的模擬實驗了,這裡是一些例子

此外,最新的 Logo 方言(例如 StarLogo TNG),已經讓烏龜的生活環境,由原本 2D 的平面,躍升到 3D 立體空間了。這下子光是搞搞模擬就太遜了,乾脆拿來寫些小遊戲,豈不是更酷!

如果現在還有人覺得 Logo 是小孩子玩意,是個跟不上時代的古董。這裡建議一定要去看看 Elica ,它是 Logo 另一個方言,支援 OOP ,不但有優雅的語言內涵,且也用於精緻的 3D 繪圖

如果還覺得意猶未盡的,強烈建議去閱讀閱讀 Brian Harvey 的《Computer Science Logo Style》。這本書共有三卷,且有電子檔可供下載:

  1. Symbolic Computing
  2. Advanced Techniques
  3. Beyond Programming

1 comments:

Tony Lee said...

那你一定要看看這個程式語言,整個語言只有八個指令,分別是 + - [ ] > < . ,,但它卻能夠做到千變萬化的事情哦!

假如你在懷疑這八個指令到底能做些什麼,你可以看看這個遊戲:The Lost Kingdom,你會很咜異為什麼世界會有這麼無聊的人哦