2008年9月4日 星期四

軟體 , 硬體

上一期科學人中文版有兩篇介紹魔術方塊的文章, 裡面講到一個有趣的問題. 市售魔術方塊有2x2x2, 3x3x3, 4x4x4, 5x5x5. 最近量產了6x6x6, 一個兩千塊, 因為製作難度高. 那有沒有7x7x7的魔術方塊勒? 答案是沒有. 這不是製作技術問題, 而是數學問題. 看到這裡大家可以先想想為什麼.
.
.
.

因為轉動時方塊需要卡住邊邊, 當轉到45o時,
設正方形邊長 a, 這時紅色部分邊角長度是
(√2)a/2-a/2=(√2-1)a/2 = 0.207a
而每個小正方形對角線長度是
√2a/7=0.202a ,
所以小正方形是完全露在外面, 沒地方卡住, 基本上轉不過去, 但是轉過去也會整顆掉下來.
即使這樣還是有人用技巧製作出來, 但就不能是"正方體". 他把邊邊做成有弧度的讓角塊還是可以卡住邊邊. 但是再大下去就不行了.

這種機構限制了實體方塊的製作. 但是軟體不同, 軟體是可以無限制擴展下去, 用軟體寫魔術方塊程式要幾乘幾都可以. 下面就是20x20x20的軟體影片, 現實世界是不太可能的. 所以以這個例子來講製作軟體比製作實體物品簡單, 而且發揮的空間大的多. 譬如做一台真實汽車在路上跑比寫個模擬開車程式困難; 寫出一個模擬電梯程式比做出一個實體電梯容易. 電腦系統是一個疊床架屋的環境, 不用全部都懂就可以做出東西.



所以基本上軟體可以是一個天馬行空超越實體的行業, 就算沒有需求也能夠自己創造需求. 尤其網路的時代, 有多少奇奇怪怪的服務和網路相關的行業出現. 另外就是電玩, 你能夠有盡情飆車殺人的真實生活嗎? 你真能夠調派士兵坦克戰機聯隊去攻擊另一個國家嗎? 但是在軟體虛擬世界就可以辦到. 市面充斥著各種遊戲軟體滿足不同人的需求.

寫程式表面上是個很枯燥的工作, 但是它的本質是個無限可能的產業.

沒有留言: