一些課後思考

2021-09-22 11:01:04 字數 2053 閱讀 5920

1,gltranslatef(-1.5f,0.0f,-6.0f);這裡是被觀察的物體在移動,還是視點的位置移動呢

我的理解是後者(就好像是照相機在移動位置來捕捉畫面那樣),預設的物體位置是螢幕中心,向左移動檢視並將檢視推遠以便被觀察的物體能進入,試著調整z座標的值,可以看到z越往裡面去,物體就越小,越往外面來,物體越大,這和照相機調整焦距類似。

2.使用flat coloring(單調著色)給幾何物件塗上固定的一種顏色。使用smoothcoloring(平滑著色)將幾個頂點的不同顏色混合在一起,建立漂亮的色彩混合。要注意視窗調整大小以及被其他視窗擋住後重新啟用時要重新設定shade model。

int copengldemoview::drawglscene(glvoid)                                   

void copengldemoview::onactivateview(bool bactivate, cview* pactivateview, cview* pdeactiveview) 

void copengldemoview::onsize(uint ntype, int cx, int cy) 

glshademodel(gl_smooth);

glviewport(0,0,width,height);                        // reset the current viewport

glmatrixmode(gl_projection);                        // select the projection matrix

glloadidentity();                                    // reset the projection matrix

// calculate the aspect ratio of the window

gluperspective(45.0f,(glfloat)width/(glfloat)height,0.1f,100.0f);//透視投影

glmatrixmode(gl_modelview);                            // select the modelview matrix

glloadidentity();                                    // reset the modelview matrix }

bool copengldemoview::initgl(glvoid)                                        // all setup for opengl goes here

3,如果是下面這樣設定顏色,則請問正方形的顏色會是怎麼樣的呢?

glshademodel(gl_flat);    

gltranslatef(3.0f,0.0f,0.0f);

glbegin(gl_quads);                            //  繪製正方形

glcolor3f(1.0f,0.0f,0.0f);

glvertex3f(-1.0f, 1.0f, 0.0f);                    // 左上

glcolor3f(1.0,1.0f,1.0f);

glvertex3f(-1.0f,-1.0f, 0.0f);                    // 右下

glcolor3f(0.0f,0.0f,1.0f);

glvertex3f( 1.0f,-1.0f, 0.0f);                    // 左下

glcolor3f(0.0f,1.0f,0.0f);

glvertex3f( 1.0f, 1.0f, 0.0f);                    // 右上    

glend();                                // 正方形繪製結束

呵呵,答案是:顏色會是綠色的,也就是說是以最後那個頂點的顏色為標準的,這是因為flat coloring(單調著色)是會給四邊形塗上固定的一種顏色,而最後乙個頂點的顏色設定後,就覆蓋了前面的顏色設定。 

一些課後思考

1,gltranslatef 1.5f,0.0f,6.0f 這裡是被觀察的物體在移動,還是視點的位置移動呢 我的理解是後者 就好像是照相機在移動位置來捕捉畫面那樣 預設的物體位置是螢幕中心,向左移動檢視並將檢視推遠以便被觀察的物體能進入,試著調整z座標的值,可以看到z越往裡面去,物體就越小,越往外面...

回溯的一些思考

堆疊中有元素abcdef,每次出棧可以選擇乙個或者兩個元素棧,當有兩個元素出棧時可以選擇其中乙個重新入棧,當棧為空時,總共有多少種出棧方法?對於本題目的一些思考,對於回溯問題,要記得恢復現場。include include include using namespace std queue vect...

生活的一些思考

這裡只是生活中一些零碎的想法,隨時都有可能飄散而去,在此也只是記錄一下,寫到 算 並無主題。生活,這個凌駕於生存而上的活著。對我來說,這個詞,或許只是心靈上的企及。生存,這個滿足於人的最低基本需求的定義,食能果腹,衣能蔽體,也僅此而已吧。而,在生存之上,我們才會考慮,如何食的更有品味,如何穿的更得體...