CSS、JavaScript實踐之——變卦:《易經》64卦

羨轍發表於2014-09-17

本文是對“變卦”網頁的詳細說明。《易經》64卦,每卦由6爻組成,2的6次方就是64。僅一爻的由陽變陰,由陰變陽,就可以讓整個卦象發生根本的改變。“變卦”,讓每一爻的變化盡收眼底。

http://zhangwenli.com/biangua

八卦與六十四卦

我們現在已經很少用到“八卦”的本意了,更多是與“娛樂”相關的含義了。那麼,八卦究竟是什麼意思呢?

CSS、JavaScript實踐之——變卦:《易經》64卦

八卦是《易經》的基本概念,可代表一切自然現象的動靜狀態,由三個爻組成。“爻”是最基本的符號,意指交錯,以奇畫(“-”稱陽爻)或偶畫(“--”稱陰爻)表示。爻有陰、陽兩種儀態,若兩兩相重則形成四象(老陽、少陰、少陽、老陰)。四象再增加一爻,就形成八卦。

爻自下而上排列。“三個”爻的含義,象徵著“天人地”(上有天、下為地、人在其中)。“卦”有懸掛的意思,也代表將各種現象的標示豎立起來以便於觀察。

摘自 維基百科

八卦

鑑於來看我部落格的很多都是程式猿,這麼說可能更容易明白:八卦中每一卦由三爻組成,每個爻是“-”(陽)或者“--”(陰),所以就像是二進位制編碼一樣,三爻就是3位元,能表達8種數字,這就是八卦啦!

這八個卦各有一個名字,卦名分別是。令人驚訝的是,他們幾乎可以表示任何事物。對於自然現象,他們分別指天、;對於動物,他們可以指;對於家庭關係,還可以指父親母親中男中女長男長女少男少女。如此種種,不一而足。似乎也正是隻有這樣表述上的多樣性,八卦才能用來預測複雜的卜筮物件。

六十四卦

傳說八卦最初是周文王用來告訴百姓未來會發生什麼(比如明天會不會下雨啦,娶這個老婆以後會不會升官發財啦),可事情的變化可能性非常多,以至於八種狀態不夠完全來表述這種可能性的集合。因此,把兩個三爻的卦疊起來,就是六爻一卦,那麼現在我們有二進位制6位元了,很快可以算出來2的6次方就是64了吧!——這就是《易經》六十四卦的由來。

八卦圖已經如此複雜,六十四卦的話,對於初學者就很難記熟每一卦卦名了。

CSS、JavaScript實踐之——變卦:《易經》64卦

摘自 維基百科

變卦

簡單地說,每一個卦象直接都有著微妙的聯絡。比如這一卦六爻都是陰(由兩個三陰爻的坤卦組成),但你若是卜筮得到這一卦的話,你不僅僅需要分析這個卦象本身,還要考慮到卦象潛在的變化。《易經》中的卦是由下而上開始發生變化的,坤卦的第一爻(最下爻)變成陽以後,就變成了卦。因此,你還要分析復卦的特性。對此,我的知識實在是太過淺薄,還是不要誤人子弟了。

簡而言之,《易經》是非常複雜的一套學問。你可以覺得迷信或者愚昧,但是作為一部影響了數千年中華文明最重要的作品(我認為其影響程度甚至超過了《論語》),說幾千年的古人都是笨蛋才信這些,實在有些說不過去。當然,你完全可以不信它的卜筮作用,但未嘗不值得研究點皮毛。

關於“變卦”網頁

我算是《易經》的初學者,談不上多麼喜歡,但覺得裡面有很有玄機所以很有敬畏之心。這次做“變卦”,一是想有一個清晰的變化過程來更好地理解變卦,另一方面也是想展示一下CSS和JavaScript能實現的酷炫效果。

資料來源

中國哲學書電子化計劃提供了非常豐富的經典古籍資料。由於網站宣告嚴禁爬資料,我只能手動一點點複製,將近兩個小時……

“變卦”的效果實現

這其實也不難,只是一個障眼法。

我在每一爻中間放了一個分隔元素,如果是陽爻,其顏色就和爻的顏色一樣,因而就看不見分隔元素了;如果是陰爻,那麼分隔就和背景色一樣,這樣就像斷成兩半的爻了。

具體的程式碼實現

如果你想了解更多細節實現的話,可以在GitHub檢視原始碼,也歡迎留言跟我交流相關實現。

如果你喜歡“變卦”的話,點下分享給好友吧,謝謝支援!

相關文章