向左轉﹡向右轉

更新於 2024/12/16閱讀時間約 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中,感覺上是那麼的自然、順暢,而且大家是有志一同,都這麼設定。但在用 +、- 來代表轉動的方向時,卻出現了分歧。越想越覺得,這裡頭應該有些什麼有趣的原因。
先來看看左中刮號 [ 好了。很明顯的,這左中刮號的長相,就是個開口向右的容器。要把東西塞到這樣的容器裡頭,對於右撇子而言,當然就是左手拿容器,右手拿東西用力塞進去。這感覺多順啊!既然大多數人都是右撇子,這樣子的設定,應該就會是大多數人的選擇。所以囉,網路上看到的,都是這樣子的設定,也就沒什麼好奇怪的了。
左中刮號有形象上的解釋,那+、- 呢?仔細想想,還真是一人一把號,各吹各的調。數學上逆時針方向的角度是正的,但是日常生活中,卻有不少東西的設計,是採用順時針方向代表增量的設定,例如音響的旋鈕、汽、機車時速表,乃至於許許多多的儀表等,都是這樣的設計。或許是這樣的原因,才導致在選用+或 - 來代表向右轉時,大家會有不同的選擇。不過話又說回來,那些旋鈕、儀表,當初為什麼會設計成順時針方向是增量呢?好奇耶!
為什麼會看到廣告
avatar-img
15會員
130內容數
寫點東西自娛娛人
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
ysf的沙龍 的其他內容
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
看到了一段程式碼,一段乍看之下覺得挺詭異,懷疑是不是寫錯,但搞清楚之後卻拍案叫絕,冷靜下來後卻覺得這樣寫不怎麼好的程式碼。
寫程式最怕碰到的,就是信心滿滿地寫好程式後,發現結果不如預期,而且完全看不出問題出在哪裡。這種慘況可以分成兩種:一種是程式很長、很複雜,想要把心機很重,躲在幽暗深處的臭蟲給抓出來,即使有功能強大的除錯工具,都不是件簡單的事;另一種是程式沒幾行,一切看起來都很清楚正常,臭蟲根本沒地方躲藏,可是結果就是
解決了Spyder和turtle之間的不合後,就來畫些漂亮迷人的fractal圖案,也順便練習一下recursive function的寫法。
龜兔賽跑,第一回合兔子因為太輕敵,在半路上呼呼大睡睡過頭,輸了比賽。 雖然輸了第一回合的比賽,不過兔子並沒有灰心喪志,牠記取教訓,買了個功能齊全的運動手錶來戴,睡覺前先定好鬧鐘時間,這樣就不怕睡過頭而輸了比賽。從此龜兔賽跑,兔子照樣在半路上睡覺補充體力,但再也沒有因為睡過頭而輸了比賽。
「學程式,數學要很好嗎?」這問題的答案其實很簡單,就是:Yes and no。
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
看到了一段程式碼,一段乍看之下覺得挺詭異,懷疑是不是寫錯,但搞清楚之後卻拍案叫絕,冷靜下來後卻覺得這樣寫不怎麼好的程式碼。
寫程式最怕碰到的,就是信心滿滿地寫好程式後,發現結果不如預期,而且完全看不出問題出在哪裡。這種慘況可以分成兩種:一種是程式很長、很複雜,想要把心機很重,躲在幽暗深處的臭蟲給抓出來,即使有功能強大的除錯工具,都不是件簡單的事;另一種是程式沒幾行,一切看起來都很清楚正常,臭蟲根本沒地方躲藏,可是結果就是
解決了Spyder和turtle之間的不合後,就來畫些漂亮迷人的fractal圖案,也順便練習一下recursive function的寫法。
龜兔賽跑,第一回合兔子因為太輕敵,在半路上呼呼大睡睡過頭,輸了比賽。 雖然輸了第一回合的比賽,不過兔子並沒有灰心喪志,牠記取教訓,買了個功能齊全的運動手錶來戴,睡覺前先定好鬧鐘時間,這樣就不怕睡過頭而輸了比賽。從此龜兔賽跑,兔子照樣在半路上睡覺補充體力,但再也沒有因為睡過頭而輸了比賽。
「學程式,數學要很好嗎?」這問題的答案其實很簡單,就是:Yes and no。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
柯爾特沃克型(英語:Colt Walker),是一種黑火藥單動式轉輪手槍, 其轉輪設計有6個裝納火藥的膛室,能夠裝填6發子彈(通常為口徑0.44的鉛彈)。該槍是於1846年由美國槍械設計師塞繆爾·柯爾特及德克薩斯州騎警司上尉薩繆爾·漢密爾頓·沃克共同發明。
在故事創作中,角色的成長與轉變是吸引讀者和觀眾的重要元素。本文探討「左到右」轉變法,分析角色在劇情中經歷的變化及其對故事的影響。透過清晰的規則和實際範例,提供創作者塑造角色的新視角,強調核心技能的連結和外部壓力的重要性。此技巧能豐富角色形象和深化故事主題上的潛力,激發創作靈感。
Thumbnail
想要練一手美字,入門的要訣是提昇「審美」的能力,否則將淪於土法煉鋼般且枯燥的「罰寫」活動!透過嚴謹的寫字課程發展與設計,帶領兒童以嶄新的視角重新窺探漢字的堂奧,進而奠定寫字的基礎能力,並提昇漢字識寫的學習興趣和效率。本課程協助學員提昇漢字美感覺察知識、書寫前後的靜心專注力,並以建立良好的姿態與心態。
Thumbnail
宇智波佐助一年四季無論冷暖都用黑色披風裹住自己。 他就像一閃即逝的影子,迅速掃過這個雜亂無章的世界。 他的旅行雖然漫無目的,但潛意識已經帶領他重返音隱村,回到那段幽暗無光的少年時代。 夜幕低垂,滿月高懸,刺眼的月光灑落在沿途破敗的老屋,夜間的霧氣沿著蜿蜒的小徑繚繞,讓宇智波佐助看不清前方的
Thumbnail
現年32歲的七代目火影漩渦鳴人,經常回到那棵掛著鞦韆的老樹下,佇立在微風中一言不發。 歷經無數時日的風化,鞦韆的繩索早已斑駁脫落,搖晃時還會發出刺耳的摩擦聲。 那是他兒時獨自一人坐著的小鞦韆。
10/25/2010 曾經告訴自己 不需要用烏陵和土明,來決定自己的未來。 但是人生中有太多的機會 就這樣的走向你。 每一個都很好。 讓我就像走在童話故事中那個貪心的人一樣 總看見前方彷彿有顆更大的寶石在那。 讓我不禁地問自己,到底那個最好。   當我選擇太多時,就會有些問題
Thumbnail
如果你有一個左向腦,必須一直保持活躍和刺激,一直刺激。你必須看到,這是必須得到適當的營養。否則你會有新陳代謝的問題,你會有直接影響甲狀腺系統的問題。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
柯爾特沃克型(英語:Colt Walker),是一種黑火藥單動式轉輪手槍, 其轉輪設計有6個裝納火藥的膛室,能夠裝填6發子彈(通常為口徑0.44的鉛彈)。該槍是於1846年由美國槍械設計師塞繆爾·柯爾特及德克薩斯州騎警司上尉薩繆爾·漢密爾頓·沃克共同發明。
在故事創作中,角色的成長與轉變是吸引讀者和觀眾的重要元素。本文探討「左到右」轉變法,分析角色在劇情中經歷的變化及其對故事的影響。透過清晰的規則和實際範例,提供創作者塑造角色的新視角,強調核心技能的連結和外部壓力的重要性。此技巧能豐富角色形象和深化故事主題上的潛力,激發創作靈感。
Thumbnail
想要練一手美字,入門的要訣是提昇「審美」的能力,否則將淪於土法煉鋼般且枯燥的「罰寫」活動!透過嚴謹的寫字課程發展與設計,帶領兒童以嶄新的視角重新窺探漢字的堂奧,進而奠定寫字的基礎能力,並提昇漢字識寫的學習興趣和效率。本課程協助學員提昇漢字美感覺察知識、書寫前後的靜心專注力,並以建立良好的姿態與心態。
Thumbnail
宇智波佐助一年四季無論冷暖都用黑色披風裹住自己。 他就像一閃即逝的影子,迅速掃過這個雜亂無章的世界。 他的旅行雖然漫無目的,但潛意識已經帶領他重返音隱村,回到那段幽暗無光的少年時代。 夜幕低垂,滿月高懸,刺眼的月光灑落在沿途破敗的老屋,夜間的霧氣沿著蜿蜒的小徑繚繞,讓宇智波佐助看不清前方的
Thumbnail
現年32歲的七代目火影漩渦鳴人,經常回到那棵掛著鞦韆的老樹下,佇立在微風中一言不發。 歷經無數時日的風化,鞦韆的繩索早已斑駁脫落,搖晃時還會發出刺耳的摩擦聲。 那是他兒時獨自一人坐著的小鞦韆。
10/25/2010 曾經告訴自己 不需要用烏陵和土明,來決定自己的未來。 但是人生中有太多的機會 就這樣的走向你。 每一個都很好。 讓我就像走在童話故事中那個貪心的人一樣 總看見前方彷彿有顆更大的寶石在那。 讓我不禁地問自己,到底那個最好。   當我選擇太多時,就會有些問題
Thumbnail
如果你有一個左向腦,必須一直保持活躍和刺激,一直刺激。你必須看到,這是必須得到適當的營養。否則你會有新陳代謝的問題,你會有直接影響甲狀腺系統的問題。