向左轉﹡向右轉

閱讀時間約 4 分鐘
構成L-system的,是一串由符號所構成的字串。這字串裡頭的符號,可以是字母或者是任何喜歡的鬼畫符,想要用emoji也可以,只要你喜歡,沒什麼不可以。
雖然說只要喜歡,沒什麼不可以,不過除非是想展現讓人不明所以,看多了會燒壞腦袋瓜的藝術天分,不然最好還是用大家習慣上常用的符號,正所謂入鄉隨俗是也。這就好像圓週率,全世界都已經習慣用π來代表,你卻非得用個x不可,這不是自找麻煩嗎?即便你事先有說明,人家在看的時候,還是得多花精神去注意你的x是圓週率,不是什麼未知的變數,那實在是很累人又容易搞錯。所以囉,寫東西前,先看看那個圈子裡頭有沒有什麼「慣例」,是個好習慣。
說起「慣例」這檔事,就不免想到,以前在學資料庫時,會說到資料庫「抓」資料。不過事隔多年後,卻發現大家說的是到資料庫「撈」資料。雖然一開始有點不習慣,不過還是跟著說「撈」資料,反正不管是抓魚還是撈魚,有得吃最重要。這正是所謂見人說人話、見鬼說鬼話,使用相同的「行話」,也就是語言「慣例」,會讓人比較覺得你是同一國的,溝通起來會容易一些。
看了幾篇網路上關於使用turtle搭配L-system來畫出漂亮圖案的文章,文章中,L-system字串裡頭的符號所代表的意義,大致上都差不多。用turtle畫圖時,畫筆的動作不外乎是:移動並畫線、移動但不畫線、轉角度等。所以L-system中的符號所代表的,大致上也就是這些動作。例如F、G代表沿目前的方向,移動一段事先定好的距離,並畫下直線;f、g則只是移動,不畫線。左中刮號 [ ,是把目前的狀態(包含位置和方向)push進stack中;右中刮號 ] ,則是pop出stack中的狀態。不過,轉角度這個動作,雖然不同的文章都是用+、- 來代表,但有些卻有著相反的設定,有的文章用+來代表向右轉,而用 - 代表向左轉;有的文章則倒過來,用+來代表向左轉,而用 - 代表向右轉。這實在是個有趣的現象。
之所以會覺得有趣,是因為想起數學課學到座標系統和三角函數時的痛苦。在數學中,逆時針方向轉動的角度是正的,而順時針方向轉動的角度是負的。當時可是花了不少功夫才適應這樣子的設定。直覺上,總覺得順時針方向的角度是正的,而逆時針方向的角度是負的。所以在寫程式時,當寫到要用哪個符號來代表向左轉時,本來直覺的就選了 - ,後來理性思考後,還是決定依照數學上的用法,用+來代表向左轉,畢竟用turtle畫圖時,所使用的,就是數學上的直角座標系統。事後想想,還真是好奇,不知道那些在向左轉、向右轉選用不同設定的作者,是基於什麼樣的原因,選用那樣子的設定。
或許不同的向左轉、向右轉符號設定,背後並沒什麼特別的原因,就只是單純的隨意選擇而已。不過,如果對照左、右中刮號的用法,卻總覺得事情沒那麼單純。
用左中刮號 [ 來代表把狀態push進stack中,感覺上是那麼的自然、順暢,而且大家是有志一同,都這麼設定。但在用 +、- 來代表轉動的方向時,卻出現了分歧。越想越覺得,這裡頭應該有些什麼有趣的原因。
先來看看左中刮號 [ 好了。很明顯的,這左中刮號的長相,就是個開口向右的容器。要把東西塞到這樣的容器裡頭,對於右撇子而言,當然就是左手拿容器,右手拿東西用力塞進去。這感覺多順啊!既然大多數人都是右撇子,這樣子的設定,應該就會是大多數人的選擇。所以囉,網路上看到的,都是這樣子的設定,也就沒什麼好奇怪的了。
左中刮號有形象上的解釋,那+、- 呢?仔細想想,還真是一人一把號,各吹各的調。數學上逆時針方向的角度是正的,但是日常生活中,卻有不少東西的設計,是採用順時針方向代表增量的設定,例如音響的旋鈕、汽、機車時速表,乃至於許許多多的儀表等,都是這樣的設計。或許是這樣的原因,才導致在選用+或 - 來代表向右轉時,大家會有不同的選擇。不過話又說回來,那些旋鈕、儀表,當初為什麼會設計成順時針方向是增量呢?好奇耶!
為什麼會看到廣告
15會員
115Content count
寫點東西自娛娛人
留言0
查看全部
發表第一個留言支持創作者!
ysf的沙龍 的其他內容
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
看到了一段程式碼,一段乍看之下覺得挺詭異,懷疑是不是寫錯,但搞清楚之後卻拍案叫絕,冷靜下來後卻覺得這樣寫不怎麼好的程式碼。
寫程式最怕碰到的,就是信心滿滿地寫好程式後,發現結果不如預期,而且完全看不出問題出在哪裡。這種慘況可以分成兩種:一種是程式很長、很複雜,想要把心機很重,躲在幽暗深處的臭蟲給抓出來,即使有功能強大的除錯工具,都不是件簡單的事;另一種是程式沒幾行,一切看起來都很清楚正常,臭蟲根本沒地方躲藏,可是結果就是
解決了Spyder和turtle之間的不合後,就來畫些漂亮迷人的fractal圖案,也順便練習一下recursive function的寫法。
龜兔賽跑,第一回合兔子因為太輕敵,在半路上呼呼大睡睡過頭,輸了比賽。 雖然輸了第一回合的比賽,不過兔子並沒有灰心喪志,牠記取教訓,買了個功能齊全的運動手錶來戴,睡覺前先定好鬧鐘時間,這樣就不怕睡過頭而輸了比賽。從此龜兔賽跑,兔子照樣在半路上睡覺補充體力,但再也沒有因為睡過頭而輸了比賽。
「學程式,數學要很好嗎?」這問題的答案其實很簡單,就是:Yes and no。
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
看到了一段程式碼,一段乍看之下覺得挺詭異,懷疑是不是寫錯,但搞清楚之後卻拍案叫絕,冷靜下來後卻覺得這樣寫不怎麼好的程式碼。
寫程式最怕碰到的,就是信心滿滿地寫好程式後,發現結果不如預期,而且完全看不出問題出在哪裡。這種慘況可以分成兩種:一種是程式很長、很複雜,想要把心機很重,躲在幽暗深處的臭蟲給抓出來,即使有功能強大的除錯工具,都不是件簡單的事;另一種是程式沒幾行,一切看起來都很清楚正常,臭蟲根本沒地方躲藏,可是結果就是
解決了Spyder和turtle之間的不合後,就來畫些漂亮迷人的fractal圖案,也順便練習一下recursive function的寫法。
龜兔賽跑,第一回合兔子因為太輕敵,在半路上呼呼大睡睡過頭,輸了比賽。 雖然輸了第一回合的比賽,不過兔子並沒有灰心喪志,牠記取教訓,買了個功能齊全的運動手錶來戴,睡覺前先定好鬧鐘時間,這樣就不怕睡過頭而輸了比賽。從此龜兔賽跑,兔子照樣在半路上睡覺補充體力,但再也沒有因為睡過頭而輸了比賽。
「學程式,數學要很好嗎?」這問題的答案其實很簡單,就是:Yes and no。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
宇智波佐助一年四季無論冷暖都用黑色披風裹住自己。 他就像一閃即逝的影子,迅速掃過這個雜亂無章的世界。 他的旅行雖然漫無目的,但潛意識已經帶領他重返音隱村,回到那段幽暗無光的少年時代。 夜幕低垂,滿月高懸,刺眼的月光灑落在沿途破敗的老屋,夜間的霧氣沿著蜿蜒的小徑繚繞,讓宇智波佐助看不清前方的
Thumbnail
現年32歲的七代目火影漩渦鳴人,經常回到那棵掛著鞦韆的老樹下,佇立在微風中一言不發。 歷經無數時日的風化,鞦韆的繩索早已斑駁脫落,搖晃時還會發出刺耳的摩擦聲。 那是他兒時獨自一人坐著的小鞦韆。
10/25/2010 曾經告訴自己 不需要用烏陵和土明,來決定自己的未來。 但是人生中有太多的機會 就這樣的走向你。 每一個都很好。 讓我就像走在童話故事中那個貪心的人一樣 總看見前方彷彿有顆更大的寶石在那。 讓我不禁地問自己,到底那個最好。   當我選擇太多時,就會有些問題
Thumbnail
如果你有一個左向腦,必須一直保持活躍和刺激,一直刺激。你必須看到,這是必須得到適當的營養。否則你會有新陳代謝的問題,你會有直接影響甲狀腺系統的問題。
Thumbnail
向左走?向右走?你選那一邊? 老頑童周伯通,看過大漠英雄傳(射雕英雄傳的人)都知道這號人物,他最厲害的就是他會左右互搏的功夫,左右手可以各用一招不同的武功,而他最開始的練習是同時一手畫方,一手畫圓。你可以試試看,一般人還真的不容易做到,因為大家都會被其中一手帶走。 那你聽過“左側交易”或“右側交易”
Thumbnail
故事以一件在美術館前展示的裝置藝術《廣場》宣傳文案: 「廣場是信任與關懷的殿堂,在裡頭,我們有同樣的義務與權利。」
不久前寫了一篇~我不想成為讓自己討厭的大人 後,發現,年輕的時候並不覺得,但隨著年齡增長,漸漸走著跟父母一樣的路子。 很多當媽的,自當媽後,連同老公(算大兒子)一併叨念。每天總有念不完的 嘮叨,扒拉扒拉,看到什麼就唸什麼,只要眼睛睜開,就是在嘮叨。 該怎麼改~同事這樣問我。
Thumbnail
兩條平行線的風景, 真的有交會的可能嗎? 我說的是我的爸媽。一個公車司機和一個電梯小姐相遇的故事。 聽起來像是魯蛇和剩女的軟爛腳本,鎮日在影集裡不斷拷貝的人生,不過它就千真萬確地發生了。 在我十八歲那年要上台北唸書的那個夏天,老爸突然把我叫到他的房間。 「結果呢?」 「怎麼會這樣?」
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
宇智波佐助一年四季無論冷暖都用黑色披風裹住自己。 他就像一閃即逝的影子,迅速掃過這個雜亂無章的世界。 他的旅行雖然漫無目的,但潛意識已經帶領他重返音隱村,回到那段幽暗無光的少年時代。 夜幕低垂,滿月高懸,刺眼的月光灑落在沿途破敗的老屋,夜間的霧氣沿著蜿蜒的小徑繚繞,讓宇智波佐助看不清前方的
Thumbnail
現年32歲的七代目火影漩渦鳴人,經常回到那棵掛著鞦韆的老樹下,佇立在微風中一言不發。 歷經無數時日的風化,鞦韆的繩索早已斑駁脫落,搖晃時還會發出刺耳的摩擦聲。 那是他兒時獨自一人坐著的小鞦韆。
10/25/2010 曾經告訴自己 不需要用烏陵和土明,來決定自己的未來。 但是人生中有太多的機會 就這樣的走向你。 每一個都很好。 讓我就像走在童話故事中那個貪心的人一樣 總看見前方彷彿有顆更大的寶石在那。 讓我不禁地問自己,到底那個最好。   當我選擇太多時,就會有些問題
Thumbnail
如果你有一個左向腦,必須一直保持活躍和刺激,一直刺激。你必須看到,這是必須得到適當的營養。否則你會有新陳代謝的問題,你會有直接影響甲狀腺系統的問題。
Thumbnail
向左走?向右走?你選那一邊? 老頑童周伯通,看過大漠英雄傳(射雕英雄傳的人)都知道這號人物,他最厲害的就是他會左右互搏的功夫,左右手可以各用一招不同的武功,而他最開始的練習是同時一手畫方,一手畫圓。你可以試試看,一般人還真的不容易做到,因為大家都會被其中一手帶走。 那你聽過“左側交易”或“右側交易”
Thumbnail
故事以一件在美術館前展示的裝置藝術《廣場》宣傳文案: 「廣場是信任與關懷的殿堂,在裡頭,我們有同樣的義務與權利。」
不久前寫了一篇~我不想成為讓自己討厭的大人 後,發現,年輕的時候並不覺得,但隨著年齡增長,漸漸走著跟父母一樣的路子。 很多當媽的,自當媽後,連同老公(算大兒子)一併叨念。每天總有念不完的 嘮叨,扒拉扒拉,看到什麼就唸什麼,只要眼睛睜開,就是在嘮叨。 該怎麼改~同事這樣問我。
Thumbnail
兩條平行線的風景, 真的有交會的可能嗎? 我說的是我的爸媽。一個公車司機和一個電梯小姐相遇的故事。 聽起來像是魯蛇和剩女的軟爛腳本,鎮日在影集裡不斷拷貝的人生,不過它就千真萬確地發生了。 在我十八歲那年要上台北唸書的那個夏天,老爸突然把我叫到他的房間。 「結果呢?」 「怎麼會這樣?」