四維幾何世界中的盒子

2022-05-19 14:59:26 字數 2760 閱讀 7982

作為乙個電腦技術男,有時候並不能順利的理解技術之外的世界 ------ 人的世界。畢竟電腦的本質,只有0和1。無論從微控制器,手機,電腦還是巨型機,**處理器(cpu)處理的不過就是0和1。再無其他。這的確有時候想起來會讓我們科幻迷失望。整日面對非0即1,非黑即白,非此即彼的技術世界,再看看人類這個物種的千奇百怪,偶爾會感到十分沮喪。想在人類世界中順利的做事,弄明白人和事理,遠比搞清楚技術與工程困難。

每個人都在迷宮裡。技術宅男有技術宅男的困惑。屌絲有屌絲的迷茫。女神也一樣有女神的困擾。比如屌絲為地下室的陰冷苦惱,女神為禮物是富二代的寶馬而不是他的愛情而哭泣。

如果不是運氣特別不好,我們身邊總會有一位或多位過來人,告訴我們路該怎樣走會比較快捷。他們有時候是父母,有時候是某位長者。有時候乙個道理一聽之下,我們輕而易舉地明白。 但其實離真正理解,還有無限遠的距離。乙個極為簡單的例子:人應該有思維高度。 這句話無比簡單,大家都認可。不過,什麼叫高度?什麼樣的人做什麼樣的事,怎麼去思考事理,就叫有高度了? 諸如此類的例子很多。

為了描述這種感覺,我舉個例子。相信所有對享受思考樂趣的人,這是個不錯的話題。

中學我們學習過基本幾何知識。一根線,代表的是一維的幾何世界。乙個面,代表的是二維。乙個立方體盒子,代表三維的幾何結構(也就是我們現實世界)。

在一維的世界中,只有唯一乙個緯度的移動方向。那就是沿著這根直線移動。注意這根線沒有寬度。是無限細的。 假如這個一維世界居住著居民,這個世界的居民只有長度(一根線段)。他們只能順著直線走來走去。一旦乙個居民擋在前面,那麼他身後的居民永遠無法越過他。因為一維世界沒有寬度。居民的眼睛也只能看到前方與後方。

同樣在二維世界中,有了2個緯度。 這個世界的居民就類似生活在一片無限大無限薄的紙片上。這個世界的居民有2個緯度,長和寬。於是居民的形狀可以是任意的二維麵片。圓,方,五角,或象剪紙那樣任意複雜的圖樣。居民的眼鏡如同比目魚,只能看到前後左右,因為世界沒有高度。居民可以在這個平面上任意遊走,但是永遠不會有厚度。也無法脫離這個平面。

來到我們熟悉的三維世界,由於有了長寬高3個緯度。於是我們的世界成為了我們世界的模樣…… 我們能感知前後,左右,上下。我們能用x,y,z三個數字代表我們這個世界中任意一點位置。假如我們人類去看二維世界的居民,那會類似象在看一群永遠趴在地面蠕動的甲蟲。這些甲蟲只知道在地面上爬來爬去。從不知道往天上看。 如果我們有能力去看見一維世界的居民,那會如同動畫片裡的景象,一段段的線段在一條無限細的線裡面前後移動。

做了那麼多鋪墊,現在讓我們想象一下四維幾何世界的樣子。 為了想象4維幾何世界,我們用乙個簡單的方法。 想象一維世界時我們用一根線段。想象二維世界我們用一張正方形紙片。三維世界用乙個立方體盒子。 四維世界也一樣,我們只用想象乙個四維盒子就可以了。由於我們人類只能理解三維世界,所以只能從低維往高維去嘗試。

以下是想象的推導:

我們用一維的線段構建二維的正方形。把一根線段,複製一根。沿著第二維方向平行延展一段距離。這個距離長度和線段一樣。這樣我們有了2根平行的線段。這兩根平行線段構成了乙個面,也就是二維世界。兩根線段的兩端,再用兩根一樣的線段垂直連線上,這時我們有了乙個正方形。這個正方向就在我們構建的二維世界上。

大概是這樣:

---------

|         |

|         |

|--------

接下來,用二維世界構建三維。 同樣做法,我們複製已經有的這個正方形。沿著第三維(也就是高),平行移動一段距離(這段距離和正方形邊長一樣)。現在我們就有了2個平行的正方形。我們再用4個一樣的正方形,把這平行正方形四條邊垂直的連線起來,於是我們得到了乙個立方體!這就是現實三維世界裡的盒子。

大概是這樣

\----------\

| \            \

|    -----------\

|   |              |

|   |              |

\   |              |

\|------------

同樣,利用以上的做法,用三維構建四維。我們把三維世界的乙個立方體盒子,複製乙個,然後往第四維的方向平行移動。。。。。。

到了這裡,我們發現腦子卡殼了。

其實,人類是無法真正想象出第四維的。第四維對人類大腦是陌生且永遠無法具象化。因為就像生活在二維平面的甲蟲,永遠看不到高度。它們眼中只有前後左右。我們生活在三維的人類,也永遠想象不出第4個維度。但是不妨礙我們對它進行字面描述。

假設複製的盒子向第4維平行移動了乙個立方體邊長的距離。為了構建四維盒子,我們還是按照從二維構建三維立方體的做法一樣,我們要用6個三維立方體,連線已有2個立方體的6個面。這樣,乙個四維盒子就構建成了。可以看成上下2個立方體是盒子的底和蓋子。它們倆的6個面由6個立方體連線。

這是由8個三維立方體垂直組成了8個「面」的四維盒子。猶如三維立方體是由6個二維正方形垂直組成。二維正方形是由4根一維線段垂直組成。(其實一維線段可以看做由2個零維的點連線構成)

看,我們可以很容易的從字面描述乙個四維「四方體盒子」的構建。 但是我們大腦永遠無法想象和理解這麼個玩意兒。 

借助計算機,也許我們可以繪製出這個四維盒子在三維世界中的投影,再通過三維到二維投影顯示在螢幕上。不過,這個經過數次投影的圖案,也完全無法通過我們大腦還原回它在四維空間的樣子。

這個冗長的例子說明了,其實有些人世間的道理也是一樣的。字面上極其容易理解。但我們大腦對這個道理的真正參悟,那就是另外一回事了。有時候,也許一輩子都無法真正理解,猶如人類無法理解四維幾何空間的乙個盒子一樣。

所以,說到思維高度這個問題,我更傾向認為它是個思維維度問題。有時候過來人看到的景象,了解的原理,是在另外乙個維度上。雖然真正理解它不應象理解四維幾何世界那麼絕望。但是難度也異常巨大。這個例子只是想說明,並不是看不到的就不存在。只不過有些事理,以你我的水平無法理解而已。

軟體開發的四維

在軟體開發,有四個維度是值得關注的。1 人員 人是軟體開發中最重要的因素。用人必須先信任人,培養人,給他乙個發展的空間,讓他看到乙個希望,讓他感到工作的工程是乙個自身價值公升值的過程。任何關注提高生產性的組織都必須先有一套良好的人員激勵,團隊合作,員工選擇以及培訓的機制。2 過程 軟體開發的過程基本...

軟體產品的四維立體分解法

最近為公司做一些架構方面的整理工作,記得以前給新人寫過一篇ppt,關於軟體的認識方法,其中對軟體的劃分方法值得借鑑,於是整理出本文。剛開始的時候,做了一些桌面型的應用delphi c builder interbase,vb access,這種單純而直接的應用開發歲月沒持續多久,還沒等我用上傳說中最...

Tensorflow2 0四維張量的索引和切片問題

切片在 tensorflow 中,支援基本的 標準索引方式,也支援通過逗號分隔索引號的索引方式。考慮輸入x 為4 張32x32 大小的彩色,shape 為 4,32,32,3 首先建立張量 x tf.random.normal 4,32,32,3 接下來我們使用索引方式讀取張量的部分資料。in 51...