今天仔細研究了一下glRotatef()函數(shù)參數(shù)的具體意義。angle毋庸置疑就是旋轉的角度,而x,y,z三個參數(shù)則應該看成一個整體表示一個向量,表示物體圍繞向量[x,y,z]旋轉。下面就具體談談自己發(fā)現(xiàn)這幾個參數(shù)意義的過程。
剛看glRotatef()函數(shù)的時候對各個參數(shù)的意義很是不明白,自己上網(wǎng)查了一查,但發(fā)現(xiàn)網(wǎng)上說的卻不是我想要的答案。于是潛下心來研究了一番。剛開始看的時候在參數(shù)angle上根本就沒花什么時間,對于x,y,z三個參數(shù)的研究主要分為了如下幾個個過程。初看的時候是對三個參數(shù)分個來研究的,發(fā)現(xiàn)如果x,y,z中僅有一個不為0的話,例如x不為0,若x>0,則表示繞x軸正方向旋轉angle度,若x<0,則表示繞x軸負方向旋轉angle度,不論x的值是多大,即1.0和0.1代表的都是繞x軸正方向旋轉angle度。于是就初步下了一個結論,即x,y,z只表示了三個狀態(tài),即大于0表示繞該軸正方向旋轉,小于0表示繞該軸負方向旋轉,等于0就表示繞該軸不旋轉。但是當x,y,z三個參數(shù)中至少有兩個不為0的時候發(fā)現(xiàn)根本不是那么回事,因為當x不為0且為一個定值的時候,y取不同值物體旋轉的狀態(tài)根本就不一樣,這就推翻了我第一次的假想。到了這里似乎就遇到了一個瓶頸,任我如何想都想不明白,到了吃飯的時間居然都感覺不到餓。后來實在沒有辦法的時候還是打算先去吃飯,剛穿上外衣的時候突然一個想法閃進我的腦海,為什么不把x,y,z看成一個整體呢?帶著這個疑問我思考了一路,越想越興奮,最后才向x,y,z應該表示一個向量,即物體旋轉時所圍繞的那個向量。回來后測試了一下發(fā)現(xiàn)[0,1,1]和[0,2,2]所產(chǎn)生的旋轉效果是一樣的,后來又測試了幾組值,我對自己的猜想更加地肯定了。
雖然更加肯定了自己的想法,但還是不能說明它是百分之百正確的,還希望各位找找看看能不能再補充一點或者添加一些其他函數(shù)參數(shù)意義的說明。
posted on 2008-10-11 18:57
正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(12108)
評論(13) 編輯 收藏 引用 所屬分類:
risky