本系列文章由birdlove1987編寫。轉載請注明出處。
文章鏈接: http://blog.csdn.net/zhurui_idea/article/details/24601215
1.3D數學是一門和計算機幾何相關的學科。計算幾何則是研究用數值方法解決幾何問題的學科。
3D數學解說怎樣在3D空間中准確度量位置、距離和角度。
2.在3D數學里使用最廣泛的度量體系是笛卡爾坐標系統。(笛卡爾數學由法國數學家Rene Descartes發明,並以他的名字命名)
3.關於數的類型:實數包括有理數和無理數(假設用小數表示小數后面有無窮多位)。
實數數學被非常多人覺得是數學中最重要的領域之中的一個,由於它是project學的基礎,人類使用實數創建了文明。
最酷的事情是有理數可數。而實數不可數。研究自然數和整數的領域稱作離散數學,研究實數的領域稱作連續數學。
(很多物理學家們都覺得:實數僅僅是一種錯覺,由於宇宙是離散和有限的。)
4.c++提供的多種數據類型來描寫敘述3D虛擬世界。包含short,int,float和double。
short是16位整數。能夠代表65536個不同的數值,盡管這個數非常大,可是量度現實世界還是遠遠不夠的。
int是32位整數。能夠代表4,294,967,296個不同的數值。
float是32位有理數,能夠代表4,294,967,296個數值。
double是64位有理數,與float類似。
5.為虛擬世界選擇度量單位的關鍵是選擇離散的精度。
有一種錯誤的觀點覺得short、int是離散的,而float、double是連續的,而實踐上這些數據類型都是離散的。
計算機圖形學第一准則:近似原則 假設它看上去是對的它就是對的。(感覺應該叫計算機實現第一准則—_—!)
6.2D笛卡爾坐標系有下面兩點定義:
A. 每一個2D笛卡爾坐標系都有一個特殊的點。稱作原點(Origin(0,0)),它是坐標系的中心。
B. 每一個2D笛卡爾坐標系都有兩條過原點的直線向兩邊無限延伸,稱做軸(axis)。
兩個軸相互垂直。
笛卡爾坐標系特點:
A. 2D坐標空間是無限伸展的。
B. 坐標系中的直線沒有寬度,坐標系中每一個點都是坐標系的一部分。
7.2D笛卡爾坐標系:水平的軸稱作X軸。向右為X軸的正方向,垂直的軸稱作Y軸,向上為Y軸的正方向。這是表示2D坐標系的慣使用方法。
(注意:名詞“水平”和“垂直”實際上並不准確)。
8.例如以下圖,不管我們為X軸和Y軸選擇什么方向,總能通過旋轉使X軸向右為正。Y軸向上為正。全部從某種意義上講,全部的2D坐標系都是“等價”的。
ps:這樣的說法對3D坐標系是不成立的。
9.關於2D笛卡爾坐標系的其它一些概念:
A. 在2D平面中,兩個數(x,y)就能夠定位一個點,且2D坐標的標准表示法就是(x。y)。
B. (x。y)每個分量都是到對應的軸的有符號距離,x分量表示該點到Y軸的“有符號距離”。相同Y分量表示該點到X軸的“有符號距離”。
ps:有符號距離是指在某個方向上距離為正,而在相反的方向上距離為負。
10.3D坐標系:我們須要用3個軸來表示三維坐標系,前兩個軸稱作X軸和Y軸,這類似於2D平面,但並不等同於2D的軸,第3個軸稱作Z軸。(3各軸互相垂直)。
11.在3D中定位一個點須要3個數:x,y和z。分別代表該點到yz,xz和xy平面的有符號距離。
12.對於隨意的3D坐標系。通過旋轉我們僅僅能使用個軸和目標同樣,第三個軸總是和目標方向相反。
3D坐標系之間不一定是等價的。
實際上,存在兩種全然不同的3D坐標系:左手坐標系和右手坐標系。假設同屬於左手坐標系或右手坐標系。則能夠通過旋轉來重合,否則不能夠。
左手坐標系和右手坐標系沒有好壞之分,在不同的研究領域和不同的背景下,人們會選擇不同的坐標系。假設運用某種技術結果不正確。那么非常可能是弄錯了坐標系類型。
ps:以后筆記里使用的都是左手坐標系。也就是左圖中的坐標系。(本人剛好是左撇子,嘿嘿—_—!)。
參考文獻:(1)《3D Math Primer for Graphics and Game Development》
(2)百度百科
版權聲明:本文博客原創文章,博客,未經同意,不得轉載。