亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • OpenGL畫圖的時候免不了需要知道自己建立的opengl坐標的x,y,z軸的極值

OpenGL畫圖的時候免不了需要知道自己建立的opengl坐標的x,y,z軸的極值

發布時間:2020-07-13 01:47:40 來源:網絡 閱讀:584 作者:WZM3558862 欄目:開發技術

在我們用OpenGL畫圖的時候免不了需要知道自己建立的opengl坐標的x,y,z軸的極值(也就是最大表示范圍)。那么該如何來測試,下面一起來看看:

首先,你需要知道自己是按照什么視角來建立的坐標系,我的是按照NeHe的那本書來的:


[cpp] view plain copy

  1. void GLWidget::resizeGL(int width, int height)  

  2. {  

  3.     if(0 == height)  

  4.         height = 1;//To prevent a side is 0  

  5.   

  6.     glViewport(0, 0, (GLint)width, (GLint)height);//reset current window  

  7.   

  8.     glMatrixMode(GL_PROJECTION);  

  9.     glLoadIdentity();  

  10.   

  11.     if (width >= height)  

  12.         gluPerspective(45.0, (GLdouble)width / (GLdouble)height, 0.1, 100.0);  

  13.     else  

  14.         gluPerspective(45.0, (GLdouble)height / (GLdouble)width, 0.1, 100.0);  

  15.   

  16.     glMatrixMode(GL_MODELVIEW);  

  17.     glLoadIdentity();  

  18. }  


(1)視角確定:


關鍵就是這句話:gluPerspective(45.0, (GLdouble)height / (GLdouble)width, 0.1, 100.0);

表示視角是45度,z軸距離你的眼睛是從0.1倍到100倍,這兩個參數有什么呢?說白了,它規定了你可以放大縮小的范圍,比如,你將100改成50,那么你最多只能縮小到50倍,而0.1那里的參數是不能設置成負數的,只能是正數,那么,這里就設置了0.1,來盡量的跟人眼距離近點。

(2)z軸偏移量的初始值:(我測試的我的x軸最大為1的時候,z軸偏移量設置為-1.8正好)

[cpp] view plain copy

  1. Scalez = -1.8f; //too small change to 0.1f, and -1.8f represents zero point(that mains  

  2.                    //the value is equal to normal view)  


Scalez表示我的z軸偏移量。


(3)具體測試:

首先,在你的畫圖函數中先畫一個(-1.0f, 0.0f, 0.0f)到(1.0f, 0.0f, 0.0f)的直線,用這條直線來測試你的z軸偏移量為多少合適。

然后,在初始化函數中將你的z軸偏移量變量設為-0.1看看(即距離你人眼最近的那個點),Scalez為-0.1。如果直線橫穿屏幕,那么,減少Scanlez的值,一般可以以每次0.2的比例進行減少,一直到你可以完整的看到一條直線,而且還未到邊境。例如,我的:(此時,我的Scalez是-2.0f)

OpenGL畫圖的時候免不了需要知道自己建立的opengl坐標的x,y,z軸的極值

此時,可以將你的Scalez值增加0.2(那么,此時我的Scalez為-1.8),如果看到橫穿了屏幕,那么此前的值就是當你需要橫軸范圍是(-1,1)時,Scanlez(縱軸偏移量)的值。這個時候我就知道了,我的縱軸偏移量應該設為-1.8f,我的橫軸,縱軸才剛好合適。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

隆德县| 普兰县| 巫山县| 保亭| 横峰县| 电白县| 泰安市| 土默特左旗| 门源| 铜陵市| 元氏县| 峨眉山市| 盱眙县| 昌宁县| 扎鲁特旗| 琼结县| 淮北市| 亳州市| 福泉市| 嘉义市| 塔河县| 龙游县| 来宾市| 古蔺县| 瓮安县| 丹江口市| 嵩明县| 南江县| 博罗县| 泸溪县| 新建县| 逊克县| 河北区| 德格县| 广德县| 军事| 澄迈县| 南京市| 隆林| 临海市| 越西县|