999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL的雪景視景仿真設(shè)計(jì)與實(shí)現(xiàn)

2014-02-08 09:08:15余久久傅廷亮張佑生
實(shí)驗(yàn)室研究與探索 2014年9期
關(guān)鍵詞:設(shè)置效果

余久久, 傅廷亮, 張佑生

(安徽三聯(lián)學(xué)院 a. 計(jì)算機(jī)科學(xué)與技術(shù)系; b. 信息與通信技術(shù)系, 安徽 合肥 230601)

0 引 言

研究天氣變化對(duì)城市交通的影響具有重要意義。通過計(jì)算機(jī)仿真手段模擬出極為逼真的各種天氣變化過程是一種虛擬現(xiàn)實(shí)技術(shù),對(duì)于指導(dǎo)自然環(huán)境下開展防災(zāi)減災(zāi)工作起到重要作用。因?yàn)闊o需“身臨其境”就能有效解決人類與自然界直接交互性的要求,所以在氣象研究領(lǐng)域以及其它領(lǐng)域(航天航海、煤礦勘測(cè)等)具有廣泛的應(yīng)用前景。

本文采用虛擬現(xiàn)實(shí)技術(shù)完成對(duì)下雪天氣中的雪景視景模擬過程,在Visual C++6.0平臺(tái)下通過基于OpenGL圖形編程技術(shù)予以設(shè)計(jì)并實(shí)現(xiàn)。

1 相關(guān)技術(shù)簡(jiǎn)介

1.1 虛擬現(xiàn)實(shí)技術(shù)與視景仿真

虛擬現(xiàn)實(shí)技術(shù)是指利用信息技術(shù)手段構(gòu)造出一個(gè)虛擬的環(huán)境,用戶能夠與這個(gè)環(huán)境交互,從而獲得身臨其境的感覺[1]。視景仿真是虛擬現(xiàn)實(shí)技術(shù)重要的表現(xiàn)形式,使用戶產(chǎn)生身臨其境感覺的交互式仿真環(huán)境,實(shí)現(xiàn)出用戶與該環(huán)境直接進(jìn)行自然交互[2]。

1.2 OpenGL簡(jiǎn)介及功能

OpenGL是一個(gè)專業(yè)的繪畫軟件工具,是行業(yè)領(lǐng)域中最為廣泛接納的2D/3D圖形API,適用于廣泛的計(jì)算機(jī)仿真環(huán)境。具有建模、變換、顏色模式設(shè)置、光照和材質(zhì)設(shè)置、紋理映射、位圖顯示和圖像增強(qiáng)、雙緩存動(dòng)畫等諸多功能[3]。作為圖形硬件的一種軟件接口,其嚴(yán)格按照計(jì)算機(jī)圖形學(xué)原理設(shè)計(jì)而成,符合視覺與光學(xué)原理,適合于可視化仿真系統(tǒng)的開發(fā)與設(shè)計(jì)工具,在計(jì)算機(jī)上把視景對(duì)象用圖形方式表達(dá),通過光照處理表達(dá)出物體的三維特性,提供對(duì)圖像數(shù)據(jù)的使用方法,并把圖像數(shù)據(jù)定義為紋理與圖形方法結(jié)合在一起生成相應(yīng)視景圖像以增強(qiáng)效果[4]。

2 開發(fā)環(huán)境與總體設(shè)計(jì)步驟

2.1 開發(fā)環(huán)境說明

程序的開發(fā)平臺(tái)選用Visual C++6.0,Windows環(huán)境下通過win32控制臺(tái)采用Windows圖形圖像編程方法,完成相關(guān)圖形的繪制以及動(dòng)態(tài)效果的實(shí)現(xiàn)。該程序需要較強(qiáng)的動(dòng)畫效果,相關(guān)圖像連續(xù)幀至少要達(dá)到30fps,否則就要會(huì)使天氣視景的效果變化不真實(shí),所以要求比較高的實(shí)時(shí)響應(yīng)[5]。在Windows編程中采用消息發(fā)送機(jī)制,不僅對(duì)屏幕的響應(yīng)比較迅速,而且可以采用很多種方式實(shí)現(xiàn)動(dòng)畫的效果。設(shè)計(jì)人員每次使用不同圖像重復(fù)地對(duì)顯示器進(jìn)行刷新,采用規(guī)范的Windows事件模型,能夠在WM_PAINT消息處理程序中完成所有的繪制(或渲染)操作。每當(dāng)需要刷新窗口操作,都會(huì)產(chǎn)生下一幀。基于此,在該程序中只需在Windows編程中的main函數(shù)中加入多個(gè)函數(shù)調(diào)用就可以達(dá)到快速描繪每一幀的目的。鑒于Windows 圖形圖像編程方法中采用OpenGL繪圖工具中所提供的各種圖像函數(shù)對(duì)三維圖形的操作與實(shí)現(xiàn)簡(jiǎn)便,靈活,并且提供了很多對(duì)三維圖形(實(shí)物)的繪制方式:例如,網(wǎng)格線繪圖方式(wire-frame)繪制三維物體的網(wǎng)格輪廓線;光滑消隱繪圖方式(smooth-shade)完成對(duì)實(shí)物進(jìn)行消隱按光照渲染著色的過程,并進(jìn)行光滑處理來接近現(xiàn)實(shí);大氣環(huán)境效果方式(atmosphere-effects)實(shí)現(xiàn)在三維視景中加入一些大氣環(huán)境效果(如云、霧、煙因素等);運(yùn)動(dòng)模糊的繪圖方式(motion-blurred)完成對(duì)模擬實(shí)物運(yùn)動(dòng)時(shí)人肉眼的感官現(xiàn)象等。OpenGL所提供的函數(shù)庫能夠較為逼真的模擬出比較復(fù)雜的三維實(shí)物或自然景觀,具有從多個(gè)角度完成對(duì)三維實(shí)物或自然景觀的特殊效果處理方式,所以在本文中選擇它作為工具模擬雪景視景的原因。

2.2 三維圖形視景仿真設(shè)計(jì)步驟

(1) 根據(jù)基本圖形單元(點(diǎn)、線、多邊形、位圖、圖像等)建立相應(yīng)實(shí)景模型,如本文中飄揚(yáng)的雪花。并且對(duì)所建立的模型進(jìn)行數(shù)學(xué)描述。

(2) 把要模擬的實(shí)景模型置于三維空間中的合適的位置,通過設(shè)置最佳視點(diǎn)(viewpoint)來觀察相應(yīng)的視景。

(3) 根據(jù)應(yīng)用需求計(jì)算出模型中所含物體的色彩,同時(shí)確定光照條件、紋理粘貼方式等。

(4) 把實(shí)景模型的數(shù)學(xué)描述及其色彩信息轉(zhuǎn)換至計(jì)算機(jī)屏幕上的象素,即光柵化過程。

在這些步驟的執(zhí)行過程中,利用OpenGL執(zhí)行自動(dòng)消隱處理等等一些其它操作。除此之外,實(shí)景光柵化之后在被送入幀緩沖器之前還可以根據(jù)需要對(duì)象素?cái)?shù)據(jù)進(jìn)行操作。

根據(jù)以上步驟,在程序主函數(shù)中所使用到的重要的是四個(gè)基本繪制圖元函數(shù)及功能分別是:

void SetupRC();//用于圖形界面初始化操作,常用來設(shè)置實(shí)景的渲染狀態(tài)。

void RenderScene();//三維圖像顯示響應(yīng)函數(shù)。

void init();//初始化操作函數(shù),可以把設(shè)置實(shí)景的背景顏色或坐標(biāo)系統(tǒng)的函數(shù)置于該函數(shù)中。

void glutReshapeFunc(); //回調(diào)函數(shù),用來處理窗口變化的消息,如改變后窗口的寬度與高度。

3 雪景視景的OpenGL的設(shè)計(jì)與實(shí)現(xiàn)

3.1 設(shè)計(jì)思路描述

首先,確定景觀視圖。例如景觀所在窗口大小,觀測(cè)點(diǎn)的位置,景觀背景的顏色設(shè)置、裁減空間等。選擇在OpenGL中的void init(void)函數(shù)中主要完成一些具體初始化操作。如視圖初始化,地面的網(wǎng)格,雪花下落的位置及速度,可能需要用到的光照的燈光位置等。

其次,調(diào)用OpenGL中void RenderScene()函數(shù)繪制相關(guān)圖形。本文中通過調(diào)用void flake(void)繪制雪花圖形,設(shè)置本程序運(yùn)行一次將產(chǎn)生幾千片雪花。雪花在飄揚(yáng)中,根據(jù)物體運(yùn)動(dòng)方程修改其位置。同時(shí)判斷雪花是否已經(jīng)掉落到地面上,如果是,就形成積雪效果,并且產(chǎn)生新的雪花,滿足雪花飄揚(yáng)的視窗內(nèi)一直有幾千片左右片雪花在飄揚(yáng)。當(dāng)雪花掉落到地面上之后判斷其飄落的位置,同時(shí)增加落點(diǎn)的高度。

最后,當(dāng)改變窗口的大小時(shí),及時(shí)修改景觀窗口對(duì)應(yīng)的比例,否則會(huì)導(dǎo)致所繪制的雪花變形。本文采用函數(shù)void ReSize( int new_x, int new_y )較好解決了此問題。當(dāng)窗口最大化時(shí),雪花不會(huì)變形以及飄落的相對(duì)位置也不會(huì)發(fā)生變化。

3.2 雪花飄揚(yáng)情景的模擬

(1) 雪花可以有很多種方法進(jìn)行繪制模擬。例如黑點(diǎn)、方點(diǎn)、圓球等,或直接用小方框產(chǎn)生。為達(dá)到逼真的仿真效果,本文用正方形表示雪花圖案,將雪花隨機(jī)旋轉(zhuǎn)后,再把真實(shí)的雪花圖片貼在圖上,同時(shí)將背景正方形做透明處理,這樣達(dá)到了真實(shí)的效果。這也是氣象視景仿真領(lǐng)域中模擬雨水、雪花、冰雹、煙塵等顆粒系統(tǒng)常用的方法。圖1為由雪花飄落的情境通過選擇在白色的背景落下黑色的小方塊的模擬視圖(可以通過設(shè)置一個(gè)茶壺來確定觀察者視點(diǎn))。

圖1 黑色的小方塊的模擬視圖

(2) 增加光照和明暗處理與霧化效果,粘貼上真實(shí)的雪花圖片。設(shè)置背景為黑色的效果,表示黑色的天空飄落著白色的雪花,再現(xiàn)真實(shí)的大雪紛飛效果。圖2與圖3分別為未添加與已添加霧化效果與雪花圖片、并設(shè)置背景模擬圖。

圖2 未添加效果的雪花飄揚(yáng)模擬視圖

圖3 已添加效果的雪花飄揚(yáng)模擬視圖

在Visual C++6.0平臺(tái)下使用OpenGL編程模擬出雪花飄揚(yáng)視景,主要代碼及注釋(不包括頭文件)如下:

void flake(void) //繪制模擬雪花的小方塊

{::glBegin(GL_QUADS); //正方形

glNormal3f(0.0f,0.0f,1.0f); //法向量定義

::glVertex3f(-FLAKE_SIZE,-FLAKE_SIZE,0);

glTexCoord2f(1.0f,0.0f );

::glVertex3f(FLAKE_SIZE,-FLAKE_SIZE,0);

glTexCoord2f(1.0f,1.0f );::glVertex3f(FLAKE_SIZE,FLAKE_SIZE,0);

glTexCoord2f(0.0f,1.0f );::glVertex3f(-FLAKE_SIZE,FLAKE_SIZE,0);

::glEnd();}

void MakeTextureFromRes(UINT res_id,GLuint tex_id) //貼圖

{……//貼上雪花圖片,自定義雪花大小、形狀等屬性,代碼略}

void init(void) //初始化操作

{LoadTexture();

::glEnable( GL_TEXTURE_2D );

theFlake=::glGenLists(1);

::glNewList(theFlake,GL_COMPILE);

::flake(); ::glEndList();

::glMatrixMode(GL_VIEWPORT); //確定視點(diǎn)

::glLoadIdentity();

::glViewport(0,0,600,600); //設(shè)置用戶觀測(cè)口

::glClearColor(0,0,0,1);

::glColor3f(1,1,1); //設(shè)置背景顏色為黑色

::glShadeModel(GL_SMOOTH); //清除圖片毛刺

GLfloat lmambient[]={1.0f,1.0f,1.0f,1.0f};

::glLightModelfv(GL_LIGHT_MODEL_AMBIENT,lmambient);

::glEnable( GL_BLEND );

::srand( (unsigned)time( NULL ) );

for(int i=0;i

{p[i].alive=TRUE;

p[i].x=rand()%GROUND_LENGTH_X;//int-->float

p[i].z=rand()%GROUND_LENGTH_Z;//int-->float

p[i].y=CLOUD_DISTANCE_TO_THE_GROUND+rand()%CLOUD_THICK;//int-->float

p[i].vx=rand()%30-15.0f;//rand()%10; //可以增加X軸方向的風(fēng)向如果需要的話

p[i].vy=rand()%30+3.0f; //雪花以不同飄落速度在垂直方向下落

p[i].vz=rand()%30-15.0f;//rand()%10;// 可以增加Z軸方向的風(fēng)向如果需要的話

p[i].rx=rand()%180; p[i].ry=rand()%180; p[i].rz=rand()%180;

p[i].degree=rand()%180+10.0f;//避免雪花飄落時(shí)不旋轉(zhuǎn)

p[i].rotate_speed=rand()%50+5.0f;}

//繪制飄落的雪花

::glBlendFunc( GL_DST_ALPHA,GL_ONE );

::glBindTexture( GL_TEXTURE_2D,flake_texture ); //貼上雪花的紋理

for(int i=0;i

{ if(p[i].alive=True) // 判斷雪花是否飄落在地面上

{p[i].y-=p[i].vy*SNOW_SPEED_TIMES;

p[i].x+=p[i].vx; p[i].z+=p[i].vz;

p[i].degree+=p[i].rotate_speed; //轉(zhuǎn)動(dòng)的角度

float mesh_center_height=

(ground[x_index][z_index][1]+ ground[x_index+1][z_index][1]+ground[x_index][z_index+1][1]+ground[x_index+1][z_index+1][1])*.25f;

if(p[i].y<300&&p[i].y>mesh_center_height)//假定當(dāng)積雪層低于300,高度才可視

{::glPushMatrix();

::glTranslated(p[i].x,p[i].y,p[i].z);

::glRotated(p[i].degree,p[i].rx,p[i].ry,p[i].rz);

::glCallList(::theFlake);

::glPopMatrix();}

if(p[i].y>mesh_center_height); //大多數(shù)雪花仍然在飄揚(yáng)

else // 雪花落地情境

{float incre_x1= (p[i].x-ground[x_index][z_index][0])/ GROUND_POINT_GAP*SNOW_THICK_PER_FLAKE;

float incre_x2=(ground[x_index+1][z_index][0]-p[i].x) /GROUND_POINT_GAP*SNOW_THICK_PER_FLAKE;

float incre_z1=(p[i].z-ground[x_index][z_index][2])/ GROUND_POINT_GAP*SNOW_THICK_PER_FLAKE;

floatincre_z2=(ground[x_index][z_index+1][2]-p[i].z)/ GROUND_POINT_GAP*SNOW_THICK_PER_FLAKE; ground[x_index][z_index][1]+=(INCRE_TIMES*(incre_x1+incre_z1));

ground[x_index+1][z_index][1]+=(INCRE_TIMES*(incre_x2+incre_z1));

ground[x_index][z_index+1][1]+=(INCRE_TIMES*(incre_x1+incre_z2));

ground[x_index+1][z_index+1][1]+=(INCRE_TIMES*(incre_x2+incre_z2)); p[i].alive=FALSE;}}

else { p[i].alive=FALSE;} }

else{ // 重新產(chǎn)生雪花,代碼略

p[i].vx=rand()%30-15.0f;

p[i].vy=rand()%30+5.0f; //雪花以不同飄落速度在垂直方向下落p[i].vz=rand()%30-15.0f;}}

::glPopMatrix(); ::glFlush();

::SwapBuffers(::wglGetCurrentDC());}

3.3 地平面上模擬積雪效果

計(jì)算機(jī)模擬實(shí)景與真實(shí)自然景觀的實(shí)際形成過程往往存在差異。例如冬季里大雪紛飛,一段時(shí)間后地面會(huì)產(chǎn)生厚厚積雪。但是OpenGL自帶的程序大多沒有對(duì)加入對(duì)積雪效果的實(shí)現(xiàn)。無論是否繪制出地面,即使地面上初始時(shí)已經(jīng)有雪花,但是雪花飄落時(shí)地面時(shí)雪片堆積高度始終不變,即無法顯示出實(shí)際中的“積雪”效果。產(chǎn)生積雪效果也是雪景視景組成中的一部分,通常的模擬方法所存在的難度主要是如何確定雪花飄落時(shí)的坐標(biāo)位置,雪花飄落到地面上的高度變化等。本文采用的方法是把地面以X-Z平面劃分成若干網(wǎng)格,當(dāng)每一片雪花飄落到地面上時(shí)判斷其落在哪一個(gè)網(wǎng)格內(nèi)。同時(shí)對(duì)雪花飄落到的所在網(wǎng)格的高度作自增操作,把每個(gè)網(wǎng)格分成兩個(gè)三角形,對(duì)1幀的地面進(jìn)行三角形的擬合過程。這樣整個(gè)地面實(shí)際上是由三角形鋪滿的,同時(shí)在每個(gè)三角形上貼上地面的紋理的貼圖,并增加紋理效果。所以就有了當(dāng)雪花覆蓋時(shí)地面上所產(chǎn)生積雪的凹凸不平的效果。圖4為采用了三角形擬合地面所產(chǎn)生的積雪效果圖。主要功能代碼及注釋如下:

//構(gòu)造大地上產(chǎn)生積雪效果的程序段:

for(x_index=0;x_index

for(z_index=0;z_index

{ground[x_index][z_index][0]=(float)x_index*GROUND_POINT_GAP; //構(gòu)造X地平面

ground[x_index][z_index][2]=(float)z_index*GROUND_POINT_GAP; //構(gòu)造Z地平面

ground[x_index][z_index][5]=0.0f;}}}

void caculate_ground_normal() //采用三角形鋪滿地面構(gòu)造大地

{GLfloat v[6][3],n[6][3];

for(x_index=1;x_index

for(z_index=1;z_index

{v[0][0]=ground[x_index][z_index][0]-ground[x_index][z_index-1][0];

……//用同樣的方法定義出v [0][1]至v[5][2] }}

void ReSize( int new_x, int new_y ) //調(diào)整圖像界面剪裁窗口

{if ( new_y == 0 ) new_y = 1;

::glMatrixMode(GL_VIEWPORT);

::glViewport( 0, 0, new_x, new_y ); //重置當(dāng)前觀測(cè)點(diǎn)

::glMatrixMode( GL_PROJECTION );

::glLoadIdentity();

ratio=( GLfloat ) new_x / ( GLfloat ) new_y;

gluPerspective(eye_angle,ratio,50.0f,GROUND_LENGTH_Z*3.5f );

glMatrixMode( GL_MODELVIEW );//選擇觀測(cè)模型視角矩陣

glLoadIdentity();}

圖4 三角形擬合地面所產(chǎn)生的積雪效果圖

3.4 手動(dòng)控制觀測(cè)視角及大雪覆蓋效果的渲染

為了使觀測(cè)者通過計(jì)算機(jī)屏幕能從多個(gè)方向、多角度靈活方便地觀察下雪的效果,同時(shí)也為了保證雪景視景模擬的高度逼真性,需要采用鍵盤控制改變觀測(cè)視角。本文以設(shè)置一個(gè)觀察壺作為觀測(cè)視角方位變化的準(zhǔn)心,通過在代碼中加入了相應(yīng)的鍵盤操作命令(函數(shù))就可以實(shí)現(xiàn)用戶手動(dòng)控制控制鍵盤完成準(zhǔn)心方位變化來帶動(dòng)觀測(cè)方位變化的目的。程序運(yùn)行一段時(shí)間后,同樣以雪花沉積相對(duì)觀察壺的高度來襯托出積雪覆蓋的效果。圖5與圖6分別為通過鍵盤調(diào)整觀察壺角度的視景圖以及程序運(yùn)行了一段時(shí)間后大雪快要覆蓋觀察壺情境所渲染出的積雪效果圖。主要的實(shí)現(xiàn)代碼及注釋如下:

GLuint theFlake;

::particle p[PARTICLE_NUM];

GLfloat ground[GROUND_POINT_NUM_X][GROUND_POINT_NUM_Z][6]; //繪制帶法向量的大地網(wǎng)格點(diǎn)

//……初始化設(shè)置,自定義OpenGL像素區(qū)域的屬性,代碼略;

int pixelformat_index;

if ( ( pixelformat_index = ChoosePixelFormat( hdc, & pfd ) ) == 0 )return false;

if ( SetPixelFormat( hdc, pixelformat_index, & pfd ) == false )return false;

return true;}

void RenderScene()//具體的畫圖

{ ::glMatrixMode(GL_PROJECTION);

::glLoadIdentity();

::gluPerspective(eye_angle,ratio,50.0f,GROUND_LENGTH_Z*3.5f); //確立觀測(cè)者視點(diǎn)

::glMatrixMode(GL_MODELVIEW);

::glPushMatrix();

::gluLookAt(GROUND_LENGTH_X*0.5f+GROUND_LENGTH_X*1.6f*cos(angle),eye_height,GROUND_LENGTH_Z*0.5f+GROUND_LENGTH_X*1.6f*sin(angle),

GROUND_LENGTH_X*0.5f,0,GROUND_LENGTH_Z*0.5f,0,1,0); //設(shè)置窗口剪裁區(qū)

……//繪制地面過程,代碼略

caculate_ground_normal(); //計(jì)算地面上點(diǎn)的法向量

glBindTexture( GL_TEXTURE_2D,ground_texture ); //粘貼紋理效果

for(x_index=0;x_index

{ ……//繪制出x方向與z方向地面上的網(wǎng)格,代碼略}

::glEnd();

::glBegin(GL_LINES); //劃線作為標(biāo)準(zhǔn)線,坐標(biāo)線

::glVertex3f(0,0,0);

::glVertex3f(GROUND_LENGTH_X*1.2f,0,0); //X

::glVertex3f(0,0,0);

::glVertex3f(0,GROUND_LENGTH_Z*1.2f,0,0); //Z

::glVertex3f(0,0,0);

::glEnd();

::glBindTexture( GL_TEXTURE_2D,teapot_texture );

::glPushMatrix();

::glTranslated(GROUND_LENGTH_X*0.5f,46,GROUND_LENGTH_Z*0.5f); //轉(zhuǎn)動(dòng)方位

glutSolidTeapot(60.0f); //設(shè)置一個(gè)觀察壺渲染大雪覆蓋效果

::glPopMatrix();

圖5 以觀測(cè)壺為準(zhǔn)心的雪景方位效果圖

圖6 大雪覆蓋觀測(cè)壺所襯托出的積雪效果圖

4 討 論

本文嘗試在Windows環(huán)境下利用OpenGL軟件模擬并實(shí)現(xiàn)出一系列簡(jiǎn)單的雪景視景圖,包括雪花飄揚(yáng)、地面積雪效果以及觀測(cè)視角轉(zhuǎn)換效果圖。雖然還不能完全真實(shí)地再現(xiàn)整個(gè)下雪過程的全景效果,但是已對(duì)雪景構(gòu)成數(shù)據(jù)可視化且對(duì)其所包含基本要素完成了初步仿真過程,把對(duì)傳統(tǒng)的通過聽覺獲取氣象信息轉(zhuǎn)化為通過視覺獲取,可以應(yīng)用于現(xiàn)代天氣預(yù)報(bào)技術(shù)及相關(guān)氣象變化仿真軟件的開發(fā)中。當(dāng)然,如果在模擬天氣變化的各種圖像中加入真實(shí)的背景圖案、聲音效果等,會(huì)更加貼切自然。在實(shí)際的天氣變化過程中,往往還有多種氣象因素(景觀)并存或混合現(xiàn)象,如雨雪交加、電閃雷鳴、風(fēng)起云涌等,這就要求對(duì)氣象視景的模擬過程還要考慮天氣變化的多樣性、交互性與實(shí)時(shí)性問題,以及受到實(shí)際自然環(huán)境的影響。因此這些將成為未來下一步的研究工作。

5 結(jié) 語

本文在Visual C++6.0平臺(tái)下使用OpenGL軟件通過對(duì)粒子飄落過程進(jìn)行設(shè)計(jì),結(jié)合雪花函數(shù)與貼圖模擬處雪花飄揚(yáng)情景;將大地以X-Z平面形式劃分成若干網(wǎng)格,每個(gè)網(wǎng)格分成兩個(gè)三角形,對(duì)每一幀地面進(jìn)行三角形的擬合過程模擬地面產(chǎn)生積雪現(xiàn)象;通過設(shè)置觀察壺為準(zhǔn)心輔以鍵盤操作命令實(shí)現(xiàn)圖像觀測(cè)方位變化的效果。從而較好完成對(duì)單一環(huán)境下的雪景的模擬,達(dá)到了仿真下雪情境的要求。未來還將就實(shí)際中多種天氣混合(如雨雪交加等)情境進(jìn)行仿真設(shè)計(jì),從而更好地把計(jì)算機(jī)仿真技術(shù)運(yùn)用于對(duì)天氣視景變化的研究領(lǐng)域中。

[1] 李姝博. 虛擬現(xiàn)實(shí)技術(shù)在職業(yè)教育中應(yīng)用的理論研究[J]. 遼寧高職學(xué)報(bào),2013,15(7):13-15.

LI Shu-bo.Theoretical Study on Application of Virtual Reality Technology in Vocational Education[J].Liaoning Higher Vocational Technical Institute Journal, 2013,15(7):13-15.

[2] 陳國棟.視景仿真技術(shù)在天氣預(yù)報(bào)中的應(yīng)用研究[J].福建電腦, 2006(12):69.

CHEN Guo-dong. Visual simulation technology application studies in weather forecasting[J]. Fujian Computer, 2006(12):69.

[3] 宋曉偉,唐 濤. 列車運(yùn)控系統(tǒng)視景仿真的設(shè)計(jì)與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2007,19(16):3864-3867.

SONG Xiao-wei,Tang Tao.Design and Implementation of Visual Simulation in Trains control System[J].Journal of System Simulation,2007,19(16):3864-3867.

[4] 郭慧玲. 基于OpenGL的三維真實(shí)感地形模擬的實(shí)現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2012(11):44.

GUO Hui-ling. The realization of the 3 d realistic terrain simulation based on OpenGL[J].Science and technology innovation and application, 2012,11:44.

[5] 干微微,譚喜堂,申朝旭. 基于OpenGL的沙塵暴天氣仿真研究[J]. 機(jī)電一體化,2010,10:54-55.

GAN Wei-wei,TAN Xi-tang,SHEN Zhao-xu. Study on Simulation of Sandstorm Based on OpenGL[J].mechatronics,2010(10):54-55.

[6] 聶良兵,王培俊,潘 璇,等.三自由度運(yùn)動(dòng)平臺(tái)的運(yùn)動(dòng)仿真及控制設(shè)計(jì)[J]. 機(jī)械與電子,2013(4):59-62.

NIE Liang-bing, WANG Pei-jun, PAN Xuan,etal. Movement Simulation and Control Design of 3-DOF Motion Platform[J].Machinery & Electronics, 2013(4):59-62.

[7] 虛擬現(xiàn)實(shí)[EB/OL].http://www.baidu.com/虛擬現(xiàn)實(shí)原理.html, 2012.

[8] 應(yīng)用程序框架設(shè)計(jì)—基于Windows“事件驅(qū)動(dòng)”模型[EB/OL].http://www.baidu.com/事件驅(qū)動(dòng)模型.html, 2011.

[9] 廖宏剛,劉 榮. 基于OpenGL的三維真實(shí)感地形的實(shí)現(xiàn)[J]. 電子科技,2013,26(9):164-165.

LIAO Hong-gang, LIU Rong. Realization of 3D Real Terrain Based on OpenGL[J]. Electronic Science and Technology, 2013,26(9):164-165.

[10] 霍爍爍,劉艷冰,祿永旭 等.基于OpenGL的全景導(dǎo)游系統(tǒng)設(shè)計(jì)[J].無線電工程,2013,43(12):7-9.

HUO Shuo-shuo, Liu Yan-bing, LU Yong-xu,etal. Design of Panoramic Guide System Based on OpenGL[J].Radio Engineering of China, 2013,43(12):7-9.

[11] 劉巧紅,單 貴,錢家樂.三維仿真場(chǎng)景構(gòu)建及漫游系統(tǒng)實(shí)現(xiàn)[J].西華大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,29(6):62-69.

LIU Qiao-hong, SHAN Gui, QIAN Jia-le.The Construction of 3D Simulation Scene and Implementation of Roam System[J].Journal of Xihua University(Natural Science Edition),2010,29(6):62-69.

[12] 陳玉軍,張 旭.基于OpenGL的視景仿真系統(tǒng)中紋理的應(yīng)用[J].中國制造業(yè)信息化,2012,41(7):62-64.

CHEN Yu-jun,ZHANG Xu. Application of Texture in the Scenery Simulation System Based on OpenGL[J]. China's manufacturing industry normalization, 2012,41(7):62-64.

[13] 高 穎,黃羅軍,許志國,等. 基于OpenGL的某導(dǎo)彈視景仿真技術(shù)研究[J].兵工學(xué)報(bào),2007,28(1):126-128.

GAO Ying, HUANG Luo-jun, XU Zhi-guo,etal. Designing and Implementing of a Missile's Visual Simulation System Based on OpenGL[J].Acta Armamentarii, 2007,28(1):126-128.

[14] 周 穎,嚴(yán)利鑫,吳 青, 等. 基于虛擬現(xiàn)實(shí)技術(shù)的典型動(dòng)態(tài)交通場(chǎng)景的設(shè)計(jì)與實(shí)現(xiàn)[J].交通信息與安全,2013,31(1):129-132.

ZHOU Ying, YAN Li-xin, WU Qing etc. Design and Implementation of the Typical Dynamic Traffic Event with Virtual Reality Technology[J]. Journal of Transport Information and Safety, 2013,31(1):129-132.

[15] 李 寧,王立文,陳幕華.基于Vega的機(jī)場(chǎng)天氣特效視景仿真研究[J].機(jī)床與液壓,2008,36(10):170-173.

LI Ning, WANG Li-wen, CHEN Mu-hua. A Study of Visual Simulation for Weather Special Effects of Airport Based on Vega[J]. Machine Tool & Hydraulics, 2008,36(10):170-173.

·名人名言·

聰明的資質(zhì)、內(nèi)在的干勁、勤奮的工作態(tài)度和堅(jiān)忍不拔的精神。這些都是科學(xué)研究成功所需的其他條件。

——貝費(fèi)里奇

猜你喜歡
設(shè)置效果
按摩效果確有理論依據(jù)
中隊(duì)崗位該如何設(shè)置
7招教你手動(dòng)設(shè)置參數(shù)
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
3D—DSA與3D—CTA成像在顱內(nèi)動(dòng)脈瘤早期診斷中的應(yīng)用效果比較
艦船人員編制的設(shè)置與控制
主站蜘蛛池模板: 国产三级视频网站| 88av在线| 国产电话自拍伊人| 无码内射在线| 久久精品无码一区二区国产区| 国产情侣一区| 久久精品亚洲中文字幕乱码| 欧美精品1区| 国产极品美女在线观看| 欧美黄色网站在线看| 国产一级片网址| aa级毛片毛片免费观看久| 亚洲综合18p| 综合亚洲网| 午夜啪啪网| 欧美精品一二三区| 午夜一级做a爰片久久毛片| 高清免费毛片| 男人天堂伊人网| 亚洲天堂免费观看| 亚洲国产看片基地久久1024| 国产精品视频猛进猛出| 亚洲三级电影在线播放| 国产综合精品一区二区| 成人av专区精品无码国产| 国产精品无码AV中文| 亚洲无码电影| 久久国产精品波多野结衣| 91无码国产视频| 女人18一级毛片免费观看| 国产欧美综合在线观看第七页| 亚洲综合九九| 精品少妇人妻一区二区| 国产日韩欧美一区二区三区在线| 国产第一色| 99久久99视频| 日韩国产高清无码| 伊人久久婷婷| 99一级毛片| 免费国产小视频在线观看| 成人一级免费视频| 日本影院一区| 永久免费精品视频| 国产成人福利在线视老湿机| 国产在线八区| 国产二级毛片| 97在线碰| 亚洲日本中文字幕乱码中文| 国产成人综合久久精品尤物| 日韩精品专区免费无码aⅴ| 丁香亚洲综合五月天婷婷| 国产不卡一级毛片视频| 黑人巨大精品欧美一区二区区| 无码丝袜人妻| 国产青青操| 久热这里只有精品6| 日韩AV手机在线观看蜜芽| 激情国产精品一区| 国产女人在线观看| 亚洲永久视频| 欧美日本不卡| 黄色网站不卡无码| 亚洲国产精品人久久电影| 亚洲美女操| 久久人搡人人玩人妻精品| 国产精品不卡永久免费| 久青草国产高清在线视频| 成人在线亚洲| 国产清纯在线一区二区WWW| 在线观看欧美精品二区| 波多野结衣无码视频在线观看| 亚洲av无码片一区二区三区| 97影院午夜在线观看视频| 免费无码又爽又黄又刺激网站| 日本91在线| 伊人久久综在合线亚洲2019| 朝桐光一区二区| 色综合久久88色综合天天提莫| 国产精品视频免费网站| 国产chinese男男gay视频网| 国产精品视频观看裸模 | 日本黄网在线观看|