我把 sqrt(z^2-1) 做成魔術方塊了!

更新於 發佈於 閱讀時間約 2 分鐘

play: Space Rift

sqrt(z²-1) 無法完全畫在紙上,因為平方根有兩個解。畫出來看到一條不連續的線:

sqrt(z-1) sqrt(z+1)

sqrt(z-1) sqrt(z+1)


為什麼一個簡單的解析函數會產生不連續的結果?這證明了並不是所有的東西都被繪製出來了。

平方根 c = sqrt(z) 被定義為方程 c² = z 的解,這個方程有兩個解,但我們通常只取其中一個。例如,我們一般會說 sqrt(4) 是 2,但事實上它也可以是 -2。如果輸入值是正的,我們總是選擇正的那個解。這個選擇不錯,因為它是連續的:當輸入緩慢改變時,輸出也會平滑地變化。但如果我們考慮複數,情況就會變得複雜。由於複數有更多的自由度,它可以在兩個方向上變化。當輸入 z 圍繞原點移動時,即在 z = e^(it) 中變化 t,輸出的值可以是 sqrt(z) = e^(it/2),這樣函數就是連續的。然而,如果它繞原點一圈,輸出會在符號上有差異:sqrt(e^(2πi)) = e^(πi) = -1。

上面畫的圖只用了平方根的一個解,還有另一個隱藏的部份畫在下面的圖層上。圖中的不連續線(稱為 branch cut)就像是這個二維空間中的一個空間裂縫,這是通向隱藏圖層的大門。如果這個空間中有生物,它會透過這個大門看過去而不會注意到 branch cut。branch cut 是由於解的選擇而造成的人工產物,如果我們做出不同的選擇,就可以改變這個 branch cut 的位置。我們這樣畫是因為我們沒有合適的紙張來放這個畫作。然而,當二維生物望向 1+0i 點時,會注意到左右的視野是不同的(稱為 branch point)。這就像遊戲《Antichamber》一樣,通過不同的窗戶看到的景色是不同的。

用 sqrt(z²-1) 做成的平面魔術方塊實際上就是做在這樣空間上的平面魔術方塊。這其實只是在一個奇怪空間上的平面魔術方塊。與普通平面魔術方塊不同的是,一個面要旋轉 720 度才能轉一圈,因為它的邊塊和角塊在旋轉時會移動到另一個圖層上。這個拼圖的抽象模型就像是普通的魔術方塊一樣,但要把它畫在二維空間上並不容易,因為我們需要根據 branch cut 的位置來決定應該繪製哪一部分。為了強調 branch cut 與這個結構無關,我讓它能夠自由移動。

留言
avatar-img
留言分享你的想法!
avatar-img
have bear的沙龍
4會員
28內容數
這不是教你如何從物件導向到函數式編程的入門教程。我會深入探討物件導向與函數式編程的差異,並討論為什麼你應該使用函數式編程並徹底放棄物件導向。
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
《底層邏輯》在【超閱讀觀點83】有介紹過,西恩之所以要把《底層邏輯2》再隔兩本介紹,主要原因在於,這本書是以許多人聞之色變的「數學」出發,把我們會遇到的「現象」用數學解釋,所以基本上,相較於《底層邏輯》的高易讀性,《底層邏輯2》顯然沒辦法讀那麼快,且更需要思考,不過能得到的收穫也更多。 《底層邏輯
Thumbnail
《底層邏輯》在【超閱讀觀點83】有介紹過,西恩之所以要把《底層邏輯2》再隔兩本介紹,主要原因在於,這本書是以許多人聞之色變的「數學」出發,把我們會遇到的「現象」用數學解釋,所以基本上,相較於《底層邏輯》的高易讀性,《底層邏輯2》顯然沒辦法讀那麼快,且更需要思考,不過能得到的收穫也更多。 《底層邏輯
Thumbnail
這題的題目在這裡 題目會給定一個輸入整數x, 要求我們返回x的正整數平方根(取無條件捨去小數部分的正整數值)
Thumbnail
這題的題目在這裡 題目會給定一個輸入整數x, 要求我們返回x的正整數平方根(取無條件捨去小數部分的正整數值)
Thumbnail
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
Thumbnail
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
Thumbnail
接著,筆者會教頂點怎麼求,也就是二次函數的整理,一開始「絕對不會直接用代數上課」,筆者一律用實際題目去講解,絕對不教y=ax^2+bx+c,理由相信大家都懂,對中上程度以下的人來說,多一個未知數都要花時間了,更何況全部都是代數。
Thumbnail
接著,筆者會教頂點怎麼求,也就是二次函數的整理,一開始「絕對不會直接用代數上課」,筆者一律用實際題目去講解,絕對不教y=ax^2+bx+c,理由相信大家都懂,對中上程度以下的人來說,多一個未知數都要花時間了,更何況全部都是代數。
Thumbnail
這篇文章將會講述空間在遊戲設計中,遊戲機制的考量項目與變化。
Thumbnail
這篇文章將會講述空間在遊戲設計中,遊戲機制的考量項目與變化。
Thumbnail
圓形沒辦法就題型一個個解釋,這真的不如去買參考書,把詳解都看到懂。只是就整合性而言,筆者比較建議,教的時候以動態畫圖輔助,學的人也可以透過這個方式,發現自己哪邊卡住。卡住的原因不見得是空間能力不佳,往往只是因為順序差了一點,讓後面整個都歪掉而已。
Thumbnail
圓形沒辦法就題型一個個解釋,這真的不如去買參考書,把詳解都看到懂。只是就整合性而言,筆者比較建議,教的時候以動態畫圖輔助,學的人也可以透過這個方式,發現自己哪邊卡住。卡住的原因不見得是空間能力不佳,往往只是因為順序差了一點,讓後面整個都歪掉而已。
Thumbnail
本文使用LibreCAD繪製太極圖,以格點的方式繪圖,並加入修剪及剖面線的功能教學。
Thumbnail
本文使用LibreCAD繪製太極圖,以格點的方式繪圖,並加入修剪及剖面線的功能教學。
Thumbnail
本文使用LibreCAD繪製太極圖,採用較為傳統的方式,運用指令來給定值;對筆者來說,是個正統但效率較差的繪圖技巧。 筆者在學生時期,曾經因繪圖速度太快,被老師抓到,筆者採用非正規繪圖技巧,因此會分兩章節,來看看這種繪圖技巧的差異。
Thumbnail
本文使用LibreCAD繪製太極圖,採用較為傳統的方式,運用指令來給定值;對筆者來說,是個正統但效率較差的繪圖技巧。 筆者在學生時期,曾經因繪圖速度太快,被老師抓到,筆者採用非正規繪圖技巧,因此會分兩章節,來看看這種繪圖技巧的差異。
Thumbnail
這是上Krenz老師的透視課第三堂筆記。 這堂課的重點是「旋轉」。
Thumbnail
這是上Krenz老師的透視課第三堂筆記。 這堂課的重點是「旋轉」。
Thumbnail
    在古希臘的幾何中,只有直尺、圓規兩種工具,所以無法找出倍立方體的解。當代數出現時,人們可以求出未知數的解, 但卻遇見新的問題:虛數到底是什麼?我們可以先定義一個概念,再了解這個概念是如何運作的嗎?     
Thumbnail
    在古希臘的幾何中,只有直尺、圓規兩種工具,所以無法找出倍立方體的解。當代數出現時,人們可以求出未知數的解, 但卻遇見新的問題:虛數到底是什麼?我們可以先定義一個概念,再了解這個概念是如何運作的嗎?     
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News