• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            天地之靈學(xué)習(xí)小組
            我們學(xué)習(xí)小組的OpenGL學(xué)習(xí)筆記 大家一定要互相折磨呀~~
            posts - 150,  comments - 156,  trackbacks - 0
              1 #include <GL/glut.h>
              2 #include <ctime>
              3 
              4 #define MULTIPLIER 0x015a4e35L 
              5 #define INCREMENT 1 
              6 
              7 static const unsigned char CD_UP = 24;
              8 static const unsigned char CD_DOWN = 25;
              9 static const unsigned char CD_RIGHT = 26;
             10 static const unsigned char CD_LEFT = 27;
             11 
             12 static const int WindowWidth = 640;
             13 static const int WindowHeight = 480;
             14 
             15 static Bottle* bottle = NULL;
             16 static Capsule* capsule = NULL;
             17 
             18 enum Connect
             19 {
             20     LEFT, RIGHT, UP, DOWN, NOT_CONNECTED
             21 };
             22 
             23 enum Color
             24 {
             25     YELLOW, BLUE, RED, BLACK
             26 };
             27 
             28 enum GridType
             29 {
             30     CAPSULE, WORM, NOTHING
             31 };
             32 
             33 class Bottle
             34 {
             35 private:
             36     GridType b_grid_type[16][8];
             37     Color b_color[16][8];
             38     int b_x,b_y;
             39     int b_seed;
             40 public:
             41     Bottle( int seed, int level, int xx, int yy )
             42     {
             43         b_seed = seed;
             44         b_x = xx;
             45         b_y = yy;
             46         for ( int i = 0; i < 16++i )
             47         {
             48             for ( int j = 0; j < 8++j )
             49             {
             50                 b_grid_type[i][j] = NOTHING;
             51                 b_color[16][8= BLACK;
             52             }
             53         }
             54         for ( int i = 0; i < level*4++i )
             55         {
             56             int x = myRand()%8;
             57             int y = myRand()%16;
             58             Color color = myRand()%3;
             59             if ( ok( x, y, color, level ) )
             60             {
             61                 b_grid_type[y][x] = WORM;
             62                 b_color[y][x] = color;
             63             }
             64             else
             65                 --i;
             66         }
             67     }
             68     int myRand( void )
             69     {
             70         seed = MULTIPLIER*seed + INCREMENT; 
             71         return ((int)(seed>>16& 0x7fff); 
             72     }
             73     bool ok( int x, int y, Color color, int level )
             74     {
             75         if ( level < 15 && y <= 6 ) return false;
             76         if ( ((level+1)>>1)+3+< 16 ) return false;
             77         if ( x-2 >= 0 && b_grid_type[x-1][y] == WORM && b_color[x-1][y] == color 
             78             && b_grid_type[x-2][y] == WORM && b_color[x-2][y] == color ) return false;
             79         if ( x+2 < 8 && b_grid_type[x+1][y] == WORM && b_color[x+1][y] == color 
             80             && b_grid_type[x+2][y] == WORM && b_color[x+2][y] == color ) return false;
             81         if ( y+2 < 16 && b_grid_type[x][y+1== WORM && b_color[x][y+1== color 
             82             && b_grid_type[x][y+2== WORM && b_color[x][y+2== color ) return false;
             83         if ( b_grid_type[x][y-1== WORM && b_color[x][y-1== color 
             84             && b_grid_type[x][y-2== WORM && b_color[x][y-2== color ) return false;
             85         return true;
             86     }
             87 };
             88 
             89 class Capsule
             90 {
             91 private:
             92     int c_x,c_y;
             93     Connect c_connect;
             94     Color C_color;
             95 public:
             96     Capsule( int xx, int yy, Connect con, int color)
             97     {
             98         c_x = xx; c_y = yy; c_connect = con; c_color = color;
             99     }
            100 };
            101 
            102 void draw( void )
            103 {
            104     bottle->display();
            105 }
            106 
            107 void display( void )
            108 {
            109     glClear( GL_COLOR_BUFFER_BIT );
            110     draw();
            111     glutSwapBuffers();
            112 }
            113 
            114 void key( unsigned char key_char, int not_use, int not_use_1 )
            115 {
            116     capsule->setDirect( key_char );
            117 }
            118 
            119 int main( int argc, char * argv[] )
            120 {
            121     glutInit( &argc, argv );
            122     glutInitDisplayMode( GLUT_RGBA|GLUT_DOUBLE );
            123     glutInitWindowPosition( 5050 );
            124     glutInitWindowSize( WindowWidth, WindowHeight );
            125     glutCreateWindow( "Dr Mario By PureMilk" );
            126     glutDisplayFunc( display );
            127     glutKeyboardFunc( key );
            128     glutTimerFunc( 250, timer, 0 );
            129     gluOrtho2D( 0, WindowWidth, WindowHeight, 0 );
            130     glutMainLoop();
            131     
            132     return 0;
            133 }
            我是C++盲……
            posted @ 2008-10-15 13:13 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(314) | 評(píng)論 (5)編輯 收藏

            void glutTimerFunc(int delay, (void (*func)( int parameter),int parameter) 這個(gè)函數(shù)相當(dāng)于win32 api 中的timer 定時(shí)器,也是在delay毫秒后 放出一個(gè)定時(shí)器消息,而這里的func 則為這個(gè)消息的處理函數(shù), patameter為附加參數(shù)。 這里有一點(diǎn)要注意這個(gè)函數(shù)是一次性的, 如果要重復(fù)使用可以在func中繼續(xù)調(diào)用glutTimerFunc,而且這個(gè)功能是可以疊加的,在opengl 內(nèi)部將他們看成許多個(gè)不同的定時(shí)器,這也就是為什么我們?cè)谏厦娴睦又羞B續(xù)按下鼠標(biāo)右鍵會(huì)加快旋轉(zhuǎn)的速度

            Trackback: http://tb.donews.net/TrackBack.aspx?PostId=628504

             

            我就暫且給今天的筆記取個(gè)靈異事件的科教解析欄目的題目吧。

            和貓聊天最大的收獲是這句話:

            天地之靈(402740419)  21:15:21
            邏輯和顯示 分離
            這是經(jīng)驗(yàn),也是教訓(xùn),也是潮流
            天地之靈(402740419)  21:15:52
            邏輯處理輸入,改變狀態(tài)
            顯示把狀態(tài)展示到顯示器

            解除了我很多困惑。貓說的很清楚,我就不再多說了

            下面說說我的計(jì)劃。明天計(jì)劃找老大聊科研基地的事,順便把請(qǐng)他吃飯的諾言實(shí)現(xiàn)了,估計(jì)會(huì)聊到很晚,所以爭取中午寫學(xué)習(xí)筆記,下午有選修課。周四周五專心寫Dr Mario。很難說能寫到什么程度,因?yàn)橐郧皩慸p的很少有寫到400行的時(shí)候,基本上寫到一兩百行就夠我調(diào)試一兩天了。雖說Dr Mario的邏輯比那些古怪算法簡單多了,但是代碼量增加,調(diào)試時(shí)間恐怕要指數(shù)級(jí)增長,我爭取周五完成基本功能。周六周日又有兩場比賽,真抱歉,這周末又做不了什么了。我想Dr Mario最多拖到下周二,也就是21號(hào),完成一些附加的功能之類的。請(qǐng)大家監(jiān)督我。

            殿下定的計(jì)劃里,Dr Mario持續(xù)到10月底,那么我21號(hào)到31號(hào)的時(shí)間就用來學(xué)習(xí)圖形學(xué)理論知識(shí),到時(shí)候把學(xué)到的知識(shí)每一點(diǎn)每一滴都總結(jié)出來給大家分享。另外科研基地的活動(dòng)也馬上就要大開工了,想想真煩啊,怎么總有些亂七八糟的事兒,就不能一次只做一件事。陳省身說“我一生只做一件事”,覺得很羨慕。不過這也都是我自己選擇的,我的路都是我自己走的,更何況不是什么壞事。

            我覺得自己面臨很大的問題是這次得獎(jiǎng)。比失敗更難面對(duì)的是超出預(yù)計(jì)的榮譽(yù)。我找不到自己的位置了。一方面我無比怨念這成績根本沒法和我付出的努力比,另一方面,我的水平?jīng)]達(dá)到那獎(jiǎng)的程度。有些矛盾。我想還是多些感恩吧。不管經(jīng)歷什么,只要我在不斷成長就好。

            posted @ 2008-10-14 22:51 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(221) | 評(píng)論 (2)編輯 收藏
            懶懶散散的已經(jīng)過了兩天了,只有偶爾得看看OpenGL。貌似已經(jīng)早早得遇到了一個(gè)瓶頸,這只能怪我學(xué)得太雜---什么東西都想學(xué)學(xué)---而不精---學(xué)過的都是一知半解。最近看看3D的基礎(chǔ)知識(shí),前面的看似很簡單,但是看過了之后才知道自己好像就沒記住什么東西。
            今天網(wǎng)上找了一本書,雖然很難看懂---英文版的---但是感覺很好,至少不必再取瞎研究一個(gè)函數(shù)參數(shù)的具體意義了,《OpenGL函數(shù)手冊(cè)》推薦大家看看。
            posted @ 2008-10-14 21:56 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(126) | 評(píng)論 (1)編輯 收藏
            這篇隨筆保證只有一句廢話。 
            init Xiaofangkuai()                           //小方塊的初始化
            {
                color
            =random(RED,GREEN,BLUE);
                x
            =x0;y=y0;                                    //動(dòng)態(tài)坐標(biāo),幾何中心坐標(biāo)
            }

            XiaofangkuanKuMade()                 //構(gòu)建一個(gè)小方塊庫,容積1000,超過500膠囊還沒死那就過關(guān)吧
            {
                
            for(i=0;i<1000;i++)
                    ku[i]
            =Xiaofangkuai;
            }

            JiaonangMade()                             //創(chuàng)建膠囊      if (key.isdown(key.DOWN)) {
            {
                left
            =ku[i];right=ku[i+1];            //膠囊分兩塊兒,左右各為一個(gè)小方塊
                ku[i
            +1].x=ku[i].x+a;                    //兩個(gè)小方塊的橫坐標(biāo)之間相差邊長a
            }

            init Pingzi();                                    //用小方塊構(gòu)建瓶子
            {
                
            for()
                
            {
                   ku[i].color
            =WHITE;              //為以后不與普通小方塊產(chǎn)生混淆,更改顏色為白色
                   ku[i];
            }

            }
            上面是元件的構(gòu)建,應(yīng)該沒落下什么東西吧。下面實(shí)現(xiàn)函數(shù)。
            int hitTest()                                    //檢測(cè)碰撞
            {
                
            for(m=0;m<i;m++)                     //比較ku[i]小方塊和之前所有小方塊的橫縱坐標(biāo)。
                    
            {
                        Mx[m]
            =ku[m].x;
                           My[m]=ku[m].y;
                        
            if(ku[i].x==Mx[m]&&ku[i].y==My[m]+a)    //如果ku[i]的橫坐標(biāo)和之前的小方塊的橫坐標(biāo)相等,縱坐標(biāo)相差一個(gè)邊長
                            
            break;return ture;                                        //跳出這個(gè)函數(shù),直接返回真
                        
            else continue;
                    }

                
            return false;                                                            //最后如果都不符合,返回假,即沒有遇到
            }

            drop()
            {
                
            if(!hitTest)
                
            {Jiaonang.left.y-=a;
                Jiaonang.right.y
            -=a;}

            }
            下面推出的是按鍵檢測(cè)函數(shù)
            按鍵檢測(cè)函數(shù)先不要寫了,弄不明白它跟鍵盤是怎么交互的。
            下面說這個(gè)難度最大的四塊相消吧。
            fourinvisiable()
            {
                
            for(m=i;m>0;m--)                                           //判斷四個(gè)相接的色塊是不是同色
                
            {
                    M[m]
            =ku[m].color;
                    
            if(M[m]==ku[i].color&&Mx[m]==k[i].x&&My[m]=ku[i].y+a){                   //判斷最新的色塊和與其相接的色塊是不是同色
                    
            for(n=m;n>0;n--)
                    
            {
                        
            if(M[n]==ku[m].color&&Mx[n]==k[m].x&&My[n]=ku[m].y+a)                      //如果同色判斷該色塊和與其相接的色塊是不是同色
                    
            {
                        
            for(p=n;p>0;p--)                                                                                                       //如果同色判斷該色塊和與其相接的色塊是不是同色

                            
            {
                                
            if(M[p]==ku[n].color&&Mx[p]==k[n].x&&My[p]=ku[n].y+a)                 //如果同色判斷該色塊和與其相接的色塊是不是同色

                                      
            {                                                                                                             //至此四個(gè)色塊同色,消掉
                                       delet M[i],M[m],M[n],M[p];
                                      }

                            }

                    }

                    }

            }

            if(剩下兩種情況)  ;                                                                                                               //其他兩種情況為最新的色塊落在一排三個(gè)同色色塊的右面以及落在一排三個(gè)同色色塊的左面
                     
             }

            }
            結(jié)束判斷
            bool GameOver()
            {
                
            if (ku[i].y>=hight)
                
            return ture;
            }
            bool GameFinished()
            {
                
            if (i>1000)
                
            return ture;
            }
            主函數(shù)
            main()
            {
                JiaonangMade();
                PingziMade();
                
            for(i=0;i<1000;i++)
                    
            {
                            if(GameOver)
                            cout<<"You Lose"<<endl;
                           if(GameFinished)
                           cout<<"YouPass"<<endl;
                        
            if(!hitTest)
                            
            {
                                Jiaonang[i].drop();
                                Jiaonang.key();
                                FourInvisiable();
                            }

                        
            else break;
                    }

            }

            posted @ 2008-10-14 18:59 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(149) | 評(píng)論 (1)編輯 收藏

            我昨晚回來第一件事開電腦,本想寫點(diǎn)啥的,結(jié)果真是兩天不學(xué)習(xí),趕不上咱們小組的好童鞋們。我高估了我的體力,今下午睡了整整一下午才休息過來,這學(xué)期少有的逃課啊。果然腦力勞動(dòng)對(duì)體力的耗費(fèi)是不可估量的。本想今下午休息好了晚上可以大干一場了,結(jié)果又被弄去采訪,到十點(diǎn)才回來,馬上斷網(wǎng)了,俺先隨便寫點(diǎn)兒。

            不過在南京的時(shí)候,比賽的前一天晚上睡覺前,學(xué)習(xí)了一節(jié)OpenGL教程,在去南京和回南京的汽車火車上看完了貪食蛇的全部代碼,總算是沒有落下太多,還望大家多提攜俺。接下來俺會(huì)趕緊的趕上大家的進(jìn)度不會(huì)拖后腿兒的。俺今天晚上斷網(wǎng)以后還要再學(xué)一會(huì)兒,明天筆記多寫點(diǎn)兒。

            posted @ 2008-10-13 22:54 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(77) | 評(píng)論 (0)編輯 收藏

            雖然給人又說了一遍啰嗦了,但是咱最起碼先把這個(gè)題目解釋清了。于是,這段就不叫啰嗦了。本來今天的計(jì)劃是要繼續(xù)研究貪食蛇呢,可是,兩天了都沒找到那個(gè)聚精會(huì)神的狀態(tài),于是乎,還沒有看。本來瑪麗醫(yī)生是要明天討論的,但是今天上網(wǎng)絡(luò)忍了又忍之后還是想了一下。綜上,不務(wù)正業(yè)。既然都不務(wù)正業(yè)了,那咱得把成果拿出來,于是,請(qǐng)回車。
            小分析了一下實(shí)現(xiàn)瑪麗醫(yī)生通俗意義上的基本功能,理論上需要這么些函數(shù)。來,換行。
            墜落函數(shù),還是叫它墮落函數(shù)吧。功能:實(shí)現(xiàn)膠囊的勻速下落。
            檢測(cè)障礙物函數(shù):碰到膠囊和瓶壁或者瓶底了要止步。
            檢測(cè)按鍵函數(shù):跟蹤鍵盤按鍵,實(shí)現(xiàn)翻轉(zhuǎn)和加速。
            同色檢驗(yàn):用于判斷兩個(gè)膠囊顏色是否相同。
            四塊相消函數(shù):凡是能用直線串起來的四塊同色膠囊消掉。聯(lián)系坐標(biāo)檢測(cè),因?yàn)槭侵本€,所以某坐標(biāo)是定值。檢測(cè)坐標(biāo)是否相同即可。
            隨機(jī)產(chǎn)生函數(shù):用于膠囊的隨機(jī)產(chǎn)生。
            基礎(chǔ)功能之上還需要積分換算函數(shù)用以計(jì)算分?jǐn)?shù)。
            下面貼流程設(shè)計(jì)。

            沒看到流程圖的按鈕,還是用文字來表達(dá)吧。
            大體分三步:1.元件構(gòu)建;2.各種函數(shù)書寫;3.整合測(cè)試。
            由于考慮到元件的性質(zhì)決定了后面的過程,所以這個(gè)流程是我們開發(fā)的流程,也就是說做完一步才能走下一步。
            1.元件構(gòu)建:
            1〉色塊
            如果有三種顏色的話需要九種圖形。前提是我們把每個(gè)膠囊作為一個(gè)最基本的結(jié)構(gòu)單元,現(xiàn)在想來完全可以把每個(gè)色塊作為最基本的結(jié)構(gòu)單元。
            這個(gè)色塊需要存儲(chǔ)的信息:動(dòng)態(tài)坐標(biāo),靜態(tài)色塊代碼。
            2〉瓶子
            瓶子可以作為獨(dú)立的結(jié)構(gòu)單元,如果覺得繁瑣的話可以用第四種顏色的色塊拼成瓶子,這樣少構(gòu)建一個(gè)元件但需要一個(gè)靜態(tài)的構(gòu)造瓶子的函數(shù)。
            2.各種函數(shù):(按順序設(shè)計(jì))
               1〉隨機(jī)產(chǎn)生函數(shù)
               2〉墮落函數(shù)
                  1)檢測(cè)障礙物
                  2)檢測(cè)按鍵
                     1*旋轉(zhuǎn)測(cè)試
                     2*加速測(cè)試
                  3)勻速墮落
               3〉同色檢驗(yàn)
               4〉四塊相消
                   1) 檢測(cè)
                   2)消去
                   3)檢測(cè)障礙物繼續(xù)墮落
               5〉結(jié)束判斷(判斷Y坐標(biāo))
               6〉預(yù)視窗添加
               7〉積分添加
               8〉聲音添加


            哦了,按著寫的草稿網(wǎng)上貼了,都忘記什么意思了,快要停止思考了。我餓啊~~
            要斷網(wǎng)了,明天貼偽碼。

            posted @ 2008-10-13 22:26 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(174) | 評(píng)論 (0)編輯 收藏
                  早晨起來驚奇地發(fā)現(xiàn)留言板居然有內(nèi)容,更驚奇的是還是私人留言,更更驚奇的是私人留言也沒說什么私人的內(nèi)容,更更更驚奇的是這個(gè)人是傳說中的tdzl。傳說中的二師傅現(xiàn)身了。咱也不了解這個(gè)傳說有多邪乎,隱約感覺這是一個(gè)知名度不小的同志。那個(gè)神奇啊。感謝感謝。
                  需要感謝的還有陳梓翰同志,一直實(shí)名評(píng)論,給出一些很中肯的建議,推動(dòng)著推動(dòng)著。話說這個(gè)人俺自然也不認(rèn)識(shí)的,畢竟才在這里呆了兩天。就像一男人搬家到了新幾內(nèi)亞的一所房子里,雖然兩天了,但是他也沒出去啊,沒串門就不知道鄰居啥樣子。不過隱約感覺這也是圈內(nèi)一個(gè)知名度不小的同志。那個(gè)神奇啊。感謝感謝。       
                  下面說恭喜。俺們的PureMilk拿了江蘇ACM大賽的一等獎(jiǎng),那個(gè)神奇啊。恭喜恭喜。
                  不能破壞已有結(jié)構(gòu),結(jié)尾了。明天貪食蛇的研究就要結(jié)束了,改寫報(bào)告的寫報(bào)告,咋就能沒有感想呢?俺媽說偷懶不是好孩子。
            posted @ 2008-10-12 22:11 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(250) | 評(píng)論 (3)編輯 收藏

                    有些人活著,可他已經(jīng)死了——》說的就是白天的我。大學(xué)以來,因?yàn)樨澩嬉幌虬褜W(xué)習(xí)時(shí)間逼到夜里,久而久之我的生物鐘真的顛倒了。。。以前數(shù)據(jù)結(jié)構(gòu)做作業(yè)都是夜里通宵寫程序調(diào)程序的,夜里身子累的不行,思維卻異常的興奮。。。今天因?yàn)橐估餂]有時(shí)間。。。只好白天學(xué)習(xí)。。。很不習(xí)慣。。。沒有激情,只有噪音。。。
                    貪食蛇。。。為了看懂那個(gè)丑陋(不,是簡陋)的EXE的源代碼,我把C語言和C++的書都給扒出來了,找書實(shí)在是個(gè)體力活。。。看書也是。。。冗長的代碼,for循環(huán)很暈人,調(diào)試錯(cuò)誤很揪心(調(diào)出來自然很得意,調(diào)不出來就得那么一直揪著。。。揪著。。。),偷偷展望了一下今后(工作以后)要是真的天天對(duì)對(duì)著這些。。。以后找工作,希望最后可以做筱筱殿下那個(gè),主策劃輔編程,不用整天整天的琢磨代碼,不會(huì)未老先衰;偶一為之,還可以鍛煉腦力,預(yù)防老年癡呆。。。當(dāng)然,這種職位是不會(huì)屬于剛畢業(yè)的小孩的。。。
                   所以。。。還得繼續(xù)打著哈欠看glutMainLoop();很欽佩殿下的氣定神閑,顯然這只屬于作息正常的孩子的。。。
                   

            posted @ 2008-10-11 21:56 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(224) | 評(píng)論 (7)編輯 收藏
                  做東西得沉得住氣,也就是說要?dú)舛ㄉ耖e地去做,切不可浮躁。這就是今天的體會(huì),哦,其實(shí)是老早就想明白的一個(gè)道理,今天又重新體會(huì)了一遍。
                  按照計(jì)劃今天和明天是研究貪食蛇的時(shí)間,那個(gè)程序?qū)τ谖襾碚f很長,雖然也有很多注解,看得我還是眼花繚亂。其實(shí),我個(gè)人感覺我是可以看明白的,不就是幾個(gè)英文單詞嗎,都寫那么明白了,再說不會(huì)的還可以百度和谷歌呢。現(xiàn)在都晚上了,其實(shí)看那個(gè)程序加起來的時(shí)間也就不到10分鐘,認(rèn)真地看這個(gè)程序的時(shí)間也就是一兩分鐘,這樣子想看懂?癡人說夢(mèng),嗯,也是吃人說孟。明天逮個(gè)精神好的時(shí)間段,吭哧吭哧把丫撂平了。
                  之前一直在做一個(gè)Flash的小游戲,因?yàn)槭菑?到10的過程,所以比較艱難,也沒有系統(tǒng)地去學(xué)AS,只是用到哪里看哪里,這樣只有架構(gòu),沒有真正理解了Flash這個(gè)軟件以及AS的核心思想,也就是他的套路。我覺得弄明白一個(gè)軟件的概念和套路,這個(gè)軟件你就拿下了。到現(xiàn)在我只是大概了解了它的思路,結(jié)構(gòu)層次。一步一步的實(shí)現(xiàn),前一陣子做得焦頭爛額,陷了進(jìn)去,越掙扎陷得越深,漿糊效應(yīng)(這個(gè)是自個(gè)兒起的名字),也就是說一頭扎下去了,拼了老命的往前沖,不撞墻才怪呢,所以需要做得就是冷靜一下,站在一個(gè)更高的位子看下自己走過的路,哪里是正確的,哪里出問題了。于是,停手了一段時(shí)間,不過不是主動(dòng)停手去找問題的,而是忙別的事情,這個(gè)就暫時(shí)耽擱了。今天早晨比較靠譜地分析了一下,然后吭哧吭哧就解決了兩個(gè)問題,現(xiàn)在從0走到4了吧,走到6的時(shí)候這個(gè)游戲的需求就滿足了。嘿嘿,小得意一個(gè)。繼續(xù)加油。
                  總之~~做事情就像挖地道,挖的時(shí)候要用力還要用心,挖不動(dòng)的時(shí)候就跑到地面上看看哪里堵墻了。不管怎么著就是一個(gè)核心思想,像一個(gè)將軍一樣去分析和規(guī)劃,像一個(gè)士兵一樣去實(shí)踐和戰(zhàn)斗。
                  大家好運(yùn),我也好運(yùn)~~明兒見~
            posted @ 2008-10-11 20:53 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(207) | 評(píng)論 (0)編輯 收藏

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

            posted @ 2008-10-11 18:57 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(12108) | 評(píng)論 (13)編輯 收藏
            僅列出標(biāo)題
            共15頁: First 7 8 9 10 11 12 13 14 15 

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 47509
            • 排名 - 471

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            日韩人妻无码一区二区三区久久99| 国产69精品久久久久APP下载| 久久91精品久久91综合| 热99re久久国超精品首页| 久久久国产精华液| 久久精品国产乱子伦| 99久久99久久久精品齐齐| 久久电影网| 久久精品人人做人人爽97| 久久久精品久久久久久| 久久夜色精品国产噜噜噜亚洲AV| 伊人丁香狠狠色综合久久| 国内高清久久久久久| 国内精品免费久久影院| 久久国产精品无码HDAV| 一本大道久久东京热无码AV| 国产精品美女久久久| 久久综合亚洲鲁鲁五月天| 亚洲一区中文字幕久久| 久久亚洲精品国产精品| 少妇熟女久久综合网色欲| 国产午夜久久影院| 久久久精品2019免费观看| 久久SE精品一区二区| 欧美性猛交xxxx免费看久久久| 色噜噜狠狠先锋影音久久| 久久ZYZ资源站无码中文动漫| 精品无码久久久久国产动漫3d| 久久九九免费高清视频| 日本精品久久久中文字幕| 久久精品国产亚洲AV无码麻豆 | 久久中文娱乐网| 国内精品久久久久久99蜜桃| 亚洲精品国精品久久99热一| 久久精品国产精品亚洲精品| 综合久久一区二区三区 | 国产精品美女久久久m| 99久久99久久精品国产片果冻| 亚洲а∨天堂久久精品| 亚洲Av无码国产情品久久| 婷婷久久五月天|