用球面對映巧解分贓難題 拓撲學的另一妙用

2022-05-02 10:57:09 字數 1390 閱讀 5880

一條項鍊上有n種型別的珠寶,每種珠寶的數量均為偶數。問至少可以切多少刀,可以將所有珠寶均分?

首先介紹borsuk-ulam theorem:

想象乙個三維空間中的球面被扭曲壓縮到二維平面上,由於變形是連續的,因此球面上有許多點重合在了一起。

$borsuk-ulam$定理告訴我們,總能找到這樣的兩個點,它們一開始在球面上處於完全相反的兩極,經過對映後會重新合在一起。

這個定理有乙個經典的應用:地球上一定存在完全相對的某一對點,兩處的氣溫和氣壓都恰好相同。因為地球上每一點都對應這氣溫和氣壓兩個值,這與將地球表面對映到乙個二維平面是一樣的,同時這對映也是連續的。

給定某個從球面到平面的函式,想象地球赤道上兩個相對的點問繞赤道走一圈,則函式在平面上相應的函式值會形成某種閉合迴路,由於兩點最後一定交換了位置,那麼一定存在使這兩點的$x$座標相同的位置,標記下這一位置。

想象將赤道傾斜,沿著這個略微不同的圓繼續上述步驟,此時在平面上輸出的迴路會有所改變,不過同理,在路線上一定存在某點使得對拓的兩點$x$座標相等,標記下這一位置。

重複這一步驟,連續旋轉赤道,經過180°,回到原位。你所標記的點在球面上會形成閉合迴路。所標記的點在平面上同樣形成閉合迴路(白色線條所示),在這條回路上,這兩點的$x$座標總是相同的,同時由於兩點最後也會交換位置,因此中途定有一點使得$y$座標也相等。這樣我們就找到了這一點。

為了闡述該定理如何應用到我們的問題上,首先將$borsuk-ulam$定理嚴格寫出

$$\text f: s^2\rightarrow \mathbb^2 \\

\exists (x_1,x_2,x_3) \qquad\text x_1^2+x_2^2+x_3^2=1 \\

f(x_1,x_2,x_3) = f(-x_1,-x_2,-x_3)$$

考慮僅有2中寶石的情況,令項鍊長度為1,欲將球的方程與切割方法聯絡起來,令切割的三段長度分別為$x^2,y^2,z^2$,並根據正負號將這一長度分給$a$或$b$比如係數為正,則這一段給賊1;係數為負,則一段給賊2

這樣就有$x^2+y^2+z^2=1$,即球面上的每一點對應一種分配方案。

更進一步地,我們構造這樣的函式:輸入乙個給定的項鍊分配方案,輸出兩個數,分別對應其中一人得到的兩種寶石數量。這其實就是從球面到平面的乙個對映。由$borsuk-ulam$定理可知,一定存在一種分配方案使得$a、b$在交換所分得的寶石後保持每種數量不變,也就是一種均分方案。

將這一定理拓展至高維情形:從乙個$n$維空間的超球面到$n-1$維空間的對映也必須保證這樣一對點存在。因此對於$n$種不同的寶石,只需要切$n$刀便可均分。

參考鏈結

OpenGL學習三十三 球面對映

此節內容對應nehe教程第23課 把環境紋理包裹在你的3d模型上,讓它看起來象反 周圍的場景一樣。球體環境對映是乙個建立快速金屬反射效果的方法 首先,你需要一幅球體環境對映圖,用來把它對映到球體上。在photoshop中開啟一幅圖並選擇所有的畫素,建立它的乙個複製。接著,我們把影象變為2的冪次方大小...

平面紋理與球面紋理對映關係

球面紋理對映就是將乙個平面紋理對映到球面上,見下圖 實現球面紋理對映有兩種方法,一種是使用頂點的法向量來生成紋理座標,另乙個是使用頂點的位置向量來生成紋理座標。問題的本質是根據球面上每個點的法向量座標生成對應的紋理座標,請看下圖,下圖中外部的方框表示二維紋理座標,其範圍是 u,v min 0,0 u...

hibernate 用聯接表對映

用聯接表對映 表示從shipment到item關聯的屬性成為auction 可以在另一端使用相同的方法,吧在合格關聯對映為雙向。然而,可選的一對一關聯大多數時候都是單向的。插入 shipment shipment new shipment 12d item item new item hello s...