CSS、JavaScript實踐之——變卦:《易經》64卦
本文是對“變卦”網頁的詳細說明。《易經》64卦,每卦由6爻組成,2的6次方就是64。僅一爻的由陽變陰,由陰變陽,就可以讓整個卦象發生根本的改變。“變卦”,讓每一爻的變化盡收眼底。
八卦與六十四卦
我們現在已經很少用到“八卦”的本意了,更多是與“娛樂”相關的含義了。那麼,八卦究竟是什麼意思呢?
八卦是《易經》的基本概念,可代表一切自然現象的動靜狀態,由三個爻組成。“爻”是最基本的符號,意指交錯,以奇畫(“-”稱陽爻)或偶畫(“--”稱陰爻)表示。爻有陰、陽兩種儀態,若兩兩相重則形成四象(老陽、少陰、少陽、老陰)。四象再增加一爻,就形成八卦。
爻自下而上排列。“三個”爻的含義,象徵著“天人地”(上有天、下為地、人在其中)。“卦”有懸掛的意思,也代表將各種現象的標示豎立起來以便於觀察。
摘自 維基百科
八卦
鑑於來看我部落格的很多都是程式猿,這麼說可能更容易明白:八卦中每一卦由三爻組成,每個爻是“-”(陽)或者“--”(陰),所以就像是二進位制編碼一樣,三爻就是3位元,能表達8種數字,這就是八卦啦!
這八個卦各有一個名字,卦名分別是乾、坤、坎、離、震、巽、艮、兌。令人驚訝的是,他們幾乎可以表示任何事物。對於自然現象,他們分別指天、地、水、火、雷、風、山、澤;對於動物,他們可以指馬、牛、豕、雉、龍、雞、狗、羊;對於家庭關係,還可以指父親、母親、中男、中女、長男、長女、少男、少女。如此種種,不一而足。似乎也正是隻有這樣表述上的多樣性,八卦才能用來預測複雜的卜筮物件。
六十四卦
傳說八卦最初是周文王用來告訴百姓未來會發生什麼(比如明天會不會下雨啦,娶這個老婆以後會不會升官發財啦),可事情的變化可能性非常多,以至於八種狀態不夠完全來表述這種可能性的集合。因此,把兩個三爻的卦疊起來,就是六爻一卦,那麼現在我們有二進位制6位元了,很快可以算出來2的6次方就是64了吧!——這就是《易經》六十四卦的由來。
八卦圖已經如此複雜,六十四卦的話,對於初學者就很難記熟每一卦卦名了。
摘自 維基百科
變卦
簡單地說,每一個卦象直接都有著微妙的聯絡。比如坤這一卦六爻都是陰(由兩個三陰爻的坤卦組成),但你若是卜筮得到這一卦的話,你不僅僅需要分析這個卦象本身,還要考慮到卦象潛在的變化。《易經》中的卦是由下而上開始發生變化的,坤卦的第一爻(最下爻)變成陽以後,就變成了復卦。因此,你還要分析復卦的特性。對此,我的知識實在是太過淺薄,還是不要誤人子弟了。
簡而言之,《易經》是非常複雜的一套學問。你可以覺得迷信或者愚昧,但是作為一部影響了數千年中華文明最重要的作品(我認為其影響程度甚至超過了《論語》),說幾千年的古人都是笨蛋才信這些,實在有些說不過去。當然,你完全可以不信它的卜筮作用,但未嘗不值得研究點皮毛。
關於“變卦”網頁
我算是《易經》的初學者,談不上多麼喜歡,但覺得裡面有很有玄機所以很有敬畏之心。這次做“變卦”,一是想有一個清晰的變化過程來更好地理解變卦,另一方面也是想展示一下CSS和JavaScript能實現的酷炫效果。
資料來源
中國哲學書電子化計劃提供了非常豐富的經典古籍資料。由於網站宣告嚴禁爬資料,我只能手動一點點複製,將近兩個小時……
“變卦”的效果實現
這其實也不難,只是一個障眼法。
我在每一爻中間放了一個分隔元素,如果是陽爻,其顏色就和爻的顏色一樣,因而就看不見分隔元素了;如果是陰爻,那麼分隔就和背景色一樣,這樣就像斷成兩半的爻了。
具體的程式碼實現
如果你想了解更多細節實現的話,可以在GitHub檢視原始碼,也歡迎留言跟我交流相關實現。
如果你喜歡“變卦”的話,點下分享給好友吧,謝謝支援!
相關文章
- 易經八卦,
- 64卦算卦htmlHTML
- 8條本週AIGC大模型八卦AIGC大模型
- 教你如何用python正經地八卦:運動員肉體觀賞指南Python
- 喜鵲卦算命、桃花運勢、人工智慧+面相打分人工智慧
- 扒一扒谷歌諾貝爾獎得主背後八卦谷歌
- 八卦:AI本週5則訊息 宮鬥繼續AI
- CSS變數(自定義屬性)實踐指南CSS變數
- 一些熱門遊戲和App的流水情況和八卦遊戲APP
- 坊間八卦 | 關於 Oracle 中國區裁員的是是非非Oracle
- JavaScript 3/30: CSS變數JavaScriptCSS變數
- JavaScript 實現 Base64JavaScript
- 北京師範大學:研究表明自尊心低的人更喜歡八卦
- [原始碼解析] 快手八卦 --- 機器學習分散式訓練新思路(3)原始碼機器學習分散式
- [原始碼解析] 快手八卦 --- 機器學習分散式訓練新思路(2)原始碼機器學習分散式
- [原始碼解析] 快手八卦 --- 機器學習分散式訓練新思路(1)原始碼機器學習分散式
- Epic和蘋果的案子終於開庭了,全世界網友都在看八卦蘋果
- webpack與SPA實踐之管理CSS等資源WebCSS
- 相聚諸葛八卦村 神武3手遊玩家探尋新門派背後的故事
- JavaScript 最佳實踐JavaScript
- JavaScript之變數物件JavaScript變數物件
- HarmonyOS 實踐之應用狀態變數共享變數
- CSS規範 - 最佳實踐CSS
- javascript動態改變css3的animationJavaScriptCSSS3
- 產品經理基本功之PRD實踐篇
- JavaScript之變數及作用域JavaScript變數
- Css in Js 一次實踐CSSJS
- 多益網路X諸葛八卦村跨界聯動 開創浙江首例“遊戲+景區”新文創遊戲
- css3實現文字線性漸變,css3實現背景漸變CSSS3
- 使用 CSS 實現漸變效果CSS
- Golang 高效實踐之併發實踐Golang
- JavaScript與CSS3動畫方式改變元素尺寸JavaScriptCSSS3動畫
- CSS3 之 3D 變換CSSS33D
- (續)Css in js 一次實踐CSSJS
- 爬蟲實踐之獲取網易雲評論資料資訊爬蟲
- CSS實現好看的文字漸變CSS
- CSS 實現字型顏色漸變CSS
- javascript之實現bindJavaScript
- Golang高效實踐之interface、reflection、json實踐GolangJSON