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

基于OpenGL的雪景視景仿真設計與實現

2014-02-08 09:08:15余久久傅廷亮張佑生
實驗室研究與探索 2014年9期
關鍵詞:設置效果

余久久, 傅廷亮, 張佑生

(安徽三聯學院 a. 計算機科學與技術系; b. 信息與通信技術系, 安徽 合肥 230601)

0 引 言

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

本文采用虛擬現實技術完成對下雪天氣中的雪景視景模擬過程,在Visual C++6.0平臺下通過基于OpenGL圖形編程技術予以設計并實現。

1 相關技術簡介

1.1 虛擬現實技術與視景仿真

虛擬現實技術是指利用信息技術手段構造出一個虛擬的環境,用戶能夠與這個環境交互,從而獲得身臨其境的感覺[1]。視景仿真是虛擬現實技術重要的表現形式,使用戶產生身臨其境感覺的交互式仿真環境,實現出用戶與該環境直接進行自然交互[2]。

1.2 OpenGL簡介及功能

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

2 開發環境與總體設計步驟

2.1 開發環境說明

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

2.2 三維圖形視景仿真設計步驟

(1) 根據基本圖形單元(點、線、多邊形、位圖、圖像等)建立相應實景模型,如本文中飄揚的雪花。并且對所建立的模型進行數學描述。

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

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

(4) 把實景模型的數學描述及其色彩信息轉換至計算機屏幕上的象素,即光柵化過程。

在這些步驟的執行過程中,利用OpenGL執行自動消隱處理等等一些其它操作。除此之外,實景光柵化之后在被送入幀緩沖器之前還可以根據需要對象素數據進行操作。

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

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

void RenderScene();//三維圖像顯示響應函數。

void init();//初始化操作函數,可以把設置實景的背景顏色或坐標系統的函數置于該函數中。

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

3 雪景視景的OpenGL的設計與實現

3.1 設計思路描述

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

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

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

3.2 雪花飄揚情景的模擬

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

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

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

圖2 未添加效果的雪花飄揚模擬視圖

圖3 已添加效果的雪花飄揚模擬視圖

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

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); //確定視點

::glLoadIdentity();

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

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

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

::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軸方向的風向如果需要的話

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

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

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

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

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; //轉動的角度

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)//假定當積雪層低于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); //大多數雪花仍然在飄揚

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{ // 重新產生雪花,代碼略

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 地平面上模擬積雪效果

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

//構造大地上產生積雪效果的程序段:

for(x_index=0;x_index

for(z_index=0;z_index

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

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

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

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

{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 ) //調整圖像界面剪裁窗口

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

::glMatrixMode(GL_VIEWPORT);

::glViewport( 0, 0, new_x, new_y ); //重置當前觀測點

::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 );//選擇觀測模型視角矩陣

glLoadIdentity();}

圖4 三角形擬合地面所產生的積雪效果圖

3.4 手動控制觀測視角及大雪覆蓋效果的渲染

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

GLuint theFlake;

::particle p[PARTICLE_NUM];

GLfloat ground[GROUND_POINT_NUM_X][GROUND_POINT_NUM_Z][6]; //繪制帶法向量的大地網格點

//……初始化設置,自定義OpenGL像素區域的屬性,代碼略;

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); //確立觀測者視點

::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); //設置窗口剪裁區

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

caculate_ground_normal(); //計算地面上點的法向量

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

for(x_index=0;x_index

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

::glEnd();

::glBegin(GL_LINES); //劃線作為標準線,坐標線

::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); //轉動方位

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

::glPopMatrix();

圖5 以觀測壺為準心的雪景方位效果圖

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

4 討 論

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

5 結 語

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

[1] 李姝博. 虛擬現實技術在職業教育中應用的理論研究[J]. 遼寧高職學報,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] 陳國棟.視景仿真技術在天氣預報中的應用研究[J].福建電腦, 2006(12):69.

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

[3] 宋曉偉,唐 濤. 列車運控系統視景仿真的設計與實現[J].系統仿真學報,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的三維真實感地形模擬的實現[J].科技創新與應用,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]. 機電一體化,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] 聶良兵,王培俊,潘 璇,等.三自由度運動平臺的運動仿真及控制設計[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] 虛擬現實[EB/OL].http://www.baidu.com/虛擬現實原理.html, 2012.

[8] 應用程序框架設計—基于Windows“事件驅動”模型[EB/OL].http://www.baidu.com/事件驅動模型.html, 2011.

[9] 廖宏剛,劉 榮. 基于OpenGL的三維真實感地形的實現[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的全景導游系統設計[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] 劉巧紅,單 貴,錢家樂.三維仿真場景構建及漫游系統實現[J].西華大學學報(自然科學版),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的視景仿真系統中紋理的應用[J].中國制造業信息化,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的某導彈視景仿真技術研究[J].兵工學報,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] 周 穎,嚴利鑫,吳 青, 等. 基于虛擬現實技術的典型動態交通場景的設計與實現[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].機床與液壓,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.

·名人名言·

聰明的資質、內在的干勁、勤奮的工作態度和堅忍不拔的精神。這些都是科學研究成功所需的其他條件。

——貝費里奇

猜你喜歡
設置效果
按摩效果確有理論依據
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
艦船人員編制的設置與控制
主站蜘蛛池模板: 亚洲欧洲自拍拍偷午夜色无码| 欧美成人精品高清在线下载| 国内老司机精品视频在线播出| 精品久久777| 亚洲人成成无码网WWW| 国产va视频| 国产日韩欧美成人| 欧美综合在线观看| 国产精品福利尤物youwu| 动漫精品啪啪一区二区三区| 三区在线视频| 成人亚洲国产| 国产呦精品一区二区三区网站| 激情乱人伦| 99无码中文字幕视频| 国产亚洲成AⅤ人片在线观看| 国产精品精品视频| 亚卅精品无码久久毛片乌克兰 | 国产精品粉嫩| 国产精品亚洲日韩AⅤ在线观看| 久久综合五月婷婷| 91啦中文字幕| 亚洲第一视频免费在线| 在线毛片免费| 国产日本视频91| 国产一区二区三区在线观看视频| 国产jizz| 国产综合欧美| 国产h视频免费观看| 国产精品久久久久久久伊一| 欧美啪啪视频免码| 欧美日韩免费观看| 亚洲精品国产自在现线最新| 中文字幕啪啪| 久久亚洲国产一区二区| 真人高潮娇喘嗯啊在线观看 | 亚洲欧美日韩中文字幕在线一区| 国产成人综合网在线观看| 中文纯内无码H| 九九九精品视频| 奇米精品一区二区三区在线观看| 91视频精品| 日本亚洲最大的色成网站www| 无码精油按摩潮喷在线播放| 久久久久久久97| 五月婷婷综合网| 日韩无码黄色网站| 国内精品久久人妻无码大片高| 午夜国产理论| 免费无码又爽又黄又刺激网站| 无码国产伊人| 久久美女精品| 国产欧美日韩视频一区二区三区| 国产成人综合日韩精品无码不卡 | 亚洲日韩精品综合在线一区二区| 中文毛片无遮挡播放免费| 久久久久人妻一区精品色奶水| 亚洲国产综合精品中文第一| 99热精品久久| 热久久国产| 亚洲国产日韩一区| 欧美精品1区2区| 国产精品第一区| 国产精品无码久久久久久| 国产成a人片在线播放| 久久国产V一级毛多内射| 原味小视频在线www国产| 亚洲美女视频一区| 中字无码精油按摩中出视频| 欧美日韩精品一区二区在线线| 强奷白丝美女在线观看| 免费毛片a| 久久美女精品国产精品亚洲| 国产91透明丝袜美腿在线| 亚洲福利一区二区三区| 伊人色在线视频| 精品国产网站| 国产精品99久久久| 欧美区一区二区三| 亚洲综合天堂网| 久久人人97超碰人人澡爱香蕉| av午夜福利一片免费看|