1.1 甚麼是 3D 數學
這是一本關於3D數學的書, 研究3D世界中幾何體背後的數學. 3D數學與計算幾何相關, 它可以用算法解決幾何問題.3D數學與計算幾何在使用計算機建模或是理解3D世界的這些領域內有著廣泛的應用.例如 圖形, 遊戲, 模擬器, 機器人, 虛擬現實以及電影術.
這本書覆蓋了理論和使用C++的實現.理論部分解釋數學與幾何在3D中的關係.它也可以作為技術與公式的手冊使用.實踐部分用圖表的方式為我們解釋這些概念是如何運用到編碼中的.編程語言使用的是C++,但原則上,這本書上提及的理論方面的技術均可以運用在任何一種編程語言上.
這本書不僅僅是關於計算機圖形學,模擬器,而且甚至包括了計算幾何.可是,如果你打算學習那些課程,那麼你無疑會使用到這本書上的訊息.
1.2 為甚麼你應該讀這本書
如果你想為了編寫遊戲或者是圖形學程序而學習3D數學,那麼這本書就是為你而準備的.外面有許多書許諾教會你怎樣製作一個遊戲或是放些很酷的圖片在屏幕上,那麼為甚麼要讀這本偏重於實踐的書呢?原因是這本書有幾個強於其他遊戲和圖形編程類書籍的優點:
? 獨特的主題. 這本書填補了其他圖形學,線性代書,模擬器,以及編程類書籍之間的空白.它是一本介紹性的書,這就意味著我們把我們努力的焦點集中在提供對基礎3D概念的一個完整覆蓋上.我們的書無疑是你應該在買一本名為”21天內寫一個3D視頻遊戲”的書之前首選必讀的書.這本書不只是一本介紹類型的書,它也是一本參考書.一個你需要反覆查閱的工具箱.
? 獨特的作者. Fletcher Dunn 有6年的專業遊戲編程經驗,還有幾個在不同遊戲開發平台上的頭銜.他現在是Terminal Reality公司的首席程序員,同時也是BloodRayne公司的主程序員.Dr.Ian Parberry 有18年的教學與研究經驗.這是他的第六本書,其中三本是關於遊戲編程的.他現在是北田納西州大學計算機科學系的全職教授.他是高等教育界舉國皆知的遊戲編程先鋒之一,而且他從1993年開始就在北田納西州大學給大四學生教授遊戲編程技術.
? 獨特的圖片. 你不可能僅僅通過讀文章或是看公式來學會像3D數學這麼一個課題.你需要大量的圖片,而這本書裡面就涵括了這些東西.翻開這本書,你會注意到在許多章節中幾乎每一頁都有一張圖片.換句話說,我們不只是告述你3D數學方面的知識,而且我們還會展示給你看.另外你還會注意到這些圖片常常出現在公式或者代碼的旁邊.上面這些就是我們將數學理論,幾何的直覺知識,以及具體實踐相結合的結果.
? 獨特的代碼. 不像其他書籍上的代碼,這本書上的C++類不是被設計成一個包含所有你想要用到的操作的類.而是被設計成為一個包含了能夠容易理解但很難被濫用的特殊函數的類.由於它們很簡單,所以你第一次只用寫一行代碼就可以讓它工作.中間不用為使用負數符號,選擇sin還是選擇cos,轉換矩陣而犯難.