電子科大實(shí)驗(yàn)4-三維圖形程序設(shè)計(jì)_第1頁
電子科大實(shí)驗(yàn)4-三維圖形程序設(shè)計(jì)_第2頁
電子科大實(shí)驗(yàn)4-三維圖形程序設(shè)計(jì)_第3頁
電子科大實(shí)驗(yàn)4-三維圖形程序設(shè)計(jì)_第4頁
電子科大實(shí)驗(yàn)4-三維圖形程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)報(bào)告課程名稱:三維圖形設(shè)計(jì)學(xué)院:計(jì)算機(jī)科學(xué)與工程專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師:周川學(xué)生姓名:學(xué)號:實(shí)驗(yàn)成績:日期:2014年5月26日電子科技大學(xué)計(jì)算機(jī)學(xué)院實(shí)驗(yàn)中心電 子 科 技 大 學(xué)實(shí) 驗(yàn) 報(bào) 告一、實(shí)驗(yàn)四:OpenGL紋理映射編程實(shí)驗(yàn)二、實(shí)驗(yàn)室名稱:主樓A2-412 實(shí)驗(yàn)時(shí)間:2014年5月26日 三、實(shí)驗(yàn)?zāi)康模?、理解OpenGL紋理映射的相關(guān)原理;2、掌握與紋理映射相關(guān)的OpenGL API函數(shù)及其用法;3、熟悉紋理映射設(shè)置的基本步驟。四、實(shí)驗(yàn)原理:1. openGL圖形編程技術(shù)原理2. 紋理映射、紋理參數(shù)設(shè)置、紋理坐標(biāo)的自動(dòng)生成、紋理對象、數(shù)字紋理、

2、圖片紋理、光照、變換、菜單。3.BMP知識(shí):【基本組成】BMP文件是windows采用的圖形文件格式,以像素為基本單位。一般由4部分組成,位圖文件頭,位圖信息頭,彩色表(24位不用彩色表),圖像數(shù)據(jù)?!窘獯a相關(guān)】1) windows.h中有BITMAPFILEHEADER和BITMAPINFOHEADER表示位圖文件頭和位圖信息頭。2) 一般BMP的24位圖像是以BGR存儲(chǔ)的,處理時(shí)需要注意。3) 一般BMP圖像是從下到上,從左到右進(jìn)行描述;PHOTOSHOP中有翻轉(zhuǎn)行序(flip row over),采用了解碼方便的從上到下從左到右描述,但處理時(shí)必須注意圖像數(shù)據(jù)是相反的,高度是負(fù)值。4) 如

3、果一個(gè)圖像水平線字節(jié)數(shù)不是4的倍數(shù),這行就用空字節(jié)補(bǔ)齊,通常是ASCII 0。4. gluBuild2DMipmaps對BMP圖片要求很低,任意大小都行,但是不太穩(wěn)定。glTexImage2D支持64,128,256分辨率BMP,其他大小的可能會(huì)出現(xiàn)問題,穩(wěn)定。五、實(shí)驗(yàn)內(nèi)容:(一)編程任務(wù)1繪制一個(gè)具有紋理和光照的房間為在第三次實(shí)驗(yàn)中生成的房間(如上圖)添加數(shù)字圖像生成的紋理。要求:1、 使用紋理對象;2、 墻壁、地板和天花板的數(shù)字圖像生成的紋理要不相同;3、 屋內(nèi)至少有一個(gè)點(diǎn)光源;4、 可用右鍵菜單交互式的開啟或關(guān)閉場景光照和紋理;5、 可用右鍵菜單設(shè)置紋理環(huán)境(GL_REPLACE和GL_

4、MODULATE)。分析這兩種方式中哪種適宜于有光照的環(huán)境下。(二)編程任務(wù)2繪制一個(gè)具有背景紋理的鐘表為在第二次次實(shí)驗(yàn)中生成的鐘表上添加數(shù)字圖像生成的紋理或者圖片紋理。六、實(shí)驗(yàn)器材(設(shè)備、元器件):電腦型號戴爾 System Inspiron N4110 筆記本電腦操作系統(tǒng) Windows 8 專業(yè)版 64位 ( DirectX 11 )軟件環(huán)境 Microsoft Visual Studio Express 2012 for Windows Desktop OpenGL Glut3.7七、實(shí)驗(yàn)步驟:1.利用第三次實(shí)驗(yàn)的光照房間,去除多余功能。2.用紋理對象和數(shù)字紋理進(jìn)行貼圖。 3.利用第二

5、次實(shí)驗(yàn)的鐘表,去除多余功能。4.用紋理對象和如下BMP圖片紋理進(jìn)行貼圖(PSCS6生成,大小480×480px,24位位圖)。BMP貼圖圖片(G:/clockbg.bmp)BMP格式參數(shù)(無翻轉(zhuǎn)行序)八、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:(一)紋理房間1. 代碼:#include<gl/glut.h>#include<stdio.h>#define W 500/窗口寬#define H 500/窗口高/材質(zhì)屬性結(jié)構(gòu)定義typedef struct matattrGLfloat ambient4;GLfloat diffuse4;GLfloat specular4;GLflo

6、at shininess;matattr;/各種材質(zhì)數(shù)據(jù)設(shè)置matattr ball=0.2,0.3,0.3,1.0,0.3,0.3,0.85,1.0,0.5,0.5,0.81,1.0,50.0;matattr cone=0.3,0.0,0.0,1.0,0.6,0.0,0.0,1.0,0.8,0.6,0.6,1.0,50.0;matattr wall=0.2,0.5,0.5,1.0,0.2,0.5,0.5,1.0,0.9,0.9,0.9,1.0,100.0;matattr ceiling=0.5,0.5,0.7,1.0,0.5,0.5,0.9,1.0,0.9,0.9,0.9,1.0,100.0

7、;matattr ground=0.9,0.0,0.4,1.0,0.9,0.0,0.4,1.0,0.9,0.9,0.9,1.0,100.0;matattr light=1.0,1.0,0.1,1.0,1.0,1.0,0.1,1.0,0.8,0.8,0.2,1.0,50.0;/0光照(點(diǎn)光源)屬性GLfloat position0=-2.0,3.0,8.0,1.0;GLfloat ambient0=0.1,0.1,0.1,1.0;GLfloat diffuse0=1.0,1.0,0.8,1.0;GLfloat specular0=1.0,1.0,1.0,1.0;/法向量GLfloat norma

8、ls3=1.0,0.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0;/全局光照參數(shù)設(shè)置(不使用默認(rèn)的全局光)GLfloat global_ambient=0.5,0.5,0.5,1.0;/圖片貼圖數(shù)組GLubyte image443;GLubyte image2443;GLubyte image3443;GLuint TextureIDList 3;GLUquadric *p;/=/=/賦予材質(zhì)函數(shù)void evmat(matattr *mat)glMaterialfv(GL_FRONT_AND_BACK

9、,GL_AMBIENT,mat->ambient);glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,mat->diffuse);glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,mat->specular);glMaterialf(GL_FRONT_AND_BACK,GL_SHININESS,mat->shininess);/創(chuàng)建房間void CreateWall()glBindTexture(GL_TEXTURE_2D,TextureIDList1);/調(diào)已經(jīng)加載進(jìn)內(nèi)存的紋理對象evmat(&am

10、p;wall);glNormal3fv(normals0);glBegin(GL_POLYGON);/前面glTexCoord2f(0.0,0.0);glVertex3f(-5.0,-5.0,0.0);glTexCoord2f(0.0,15.0);glVertex3f(-5.0,5.0,0.0);glTexCoord2f(15.0,15.0);glVertex3f(-5.0,5.0,10.0);glTexCoord2f(15.0,0.0);glVertex3f(-5.0,-5.0,10.0);glEnd();glNormal3fv(normals1);glBegin(GL_POLYGON);/

11、左邊glTexCoord2f(0.0,0.0);glVertex3f(5.0,-5.0,0.0);glTexCoord2f(0.0,15.0);glVertex3f(5.0,-5.0,10.0);glTexCoord2f(15.0,15.0);glVertex3f(-5.0,-5.0,10.0);glTexCoord2f(15.0,0.0);glVertex3f(-5.0,-5.0,0.0);glEnd();glNormal3fv(normals2);glBegin(GL_POLYGON);/右邊glTexCoord2f(0.0,0.0);glVertex3f(5.0,5.0,0.0);glT

12、exCoord2f(0.0,15.0);glVertex3f(-5.0,5.0,0.0);glTexCoord2f(15.0,15.0);glVertex3f(-5.0,5.0,10.0);glTexCoord2f(15.0,0.0);glVertex3f(5.0,5.0,10.0);glEnd();glNormal3fv(normals3);glBegin(GL_POLYGON);/后面glTexCoord2f(0.0,0.0);glVertex3f(5.0,-5.0,0.0);glTexCoord2f(0.0,15.0);glVertex3f(5.0,5.0,0.0);glTexCoord

13、2f(15.0,15.0);glVertex3f(5.0,5.0,10.0);glTexCoord2f(15.0,0.0);glVertex3f(5.0,-5.0,10.0);glEnd();void CreateCeiling()glBindTexture(GL_TEXTURE_2D,TextureIDList2);/調(diào)已經(jīng)加載進(jìn)內(nèi)存的紋理對象evmat(&ceiling); glNormal3fv(normals4);glBegin(GL_POLYGON);glTexCoord2f(0.0,0.0);glVertex3f(-5.0,-5.0,10.0);glTexCoord2f(0

14、.0,10.0);glVertex3f(5.0,-5.0,10.0);glTexCoord2f(10.0,10.0);glVertex3f(5.0,5.0,10.0);glTexCoord2f(10.0,0.0);glVertex3f(-5.0,5.0,10.0);glEnd();void CreateGround()glBindTexture(GL_TEXTURE_2D,TextureIDList0);/調(diào)已經(jīng)加載進(jìn)內(nèi)存的紋理對象evmat(&ground); glNormal3fv(normals5);glBegin(GL_POLYGON);glTexCoord2f(0.0,0.0

15、);glVertex3f(-5.0,-5.0,0.0);glTexCoord2f(0.0,15.0);glVertex3f(5.0,-5.0,0.0);glTexCoord2f(15.0,15.0);glVertex3f(5.0,5.0,0.0);glTexCoord2f(15.0,0.0);glVertex3f(-5.0,5.0,0.0);glEnd();void CreateFurnishings()evmat(&cone);glPushMatrix();glTranslatef(-4.0,-2.0,0.0);glutSolidCone(1.0,2.0,80,50);evmat(&

16、amp;ball);glTranslatef(1.0,2.0,1.0);gluSphere(p,1.0,80,50);glPopMatrix();void CreateLight()glLightfv(GL_LIGHT0,GL_POSITION,position0);glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuse0);glLightfv(GL_LIGHT0,GL_SPECULAR,specular0);glLightfv(GL_LIGHT0,GL_AMBIENT,ambient0);void CreateWorld()CreateLight();CreateWal

17、l();CreateCeiling();CreateGround();CreateFurnishings();/主display函數(shù)void display()glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(80.0,1.0,1.0,100.0);glMatrixMode(GL_MODELVIEW);glLoadIdentity();gluLookAt(4.5,0.0,5.0, 0.0,0.0,5.0, 0.0,0.0,1.0

18、);CreateWorld();glutSwapBuffers();/菜單void mainmenu(int id)switch(id)case 1:glEnable(GL_LIGHT0);break;case 2:glDisable(GL_LIGHT0);break;case 3:glEnable(GL_TEXTURE_2D);break;case 4:glDisable(GL_TEXTURE_2D);break;case 5:glTexEnvf(GL_TEXTURE_2D,GL_TEXTURE_ENV_MODE,GL_MODULATE);break;case 6:glTexEnvf(GL_

19、TEXTURE_2D,GL_TEXTURE_ENV_MODE,GL_REPLACE);break;glutPostRedisplay();/初始化函數(shù)void init()int i,j,t;glEnable(GL_DEPTH_TEST);/選0號,1號光照glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);glLightModelfv(GL_LIGHT_MODEL_AMBIENT,global_ambient);p=gluNewQuadric();gluQuadricDrawStyle(p, GLU_FILL);/計(jì)算貼圖數(shù)組for (i=0;i<4;i

20、+)for (j=0;j<4;j+)t=0;if (i<2 &&j<2)|(i>=2 &&j>=2)t=255;imageij0=(GLubyte)t;imageij1=(GLubyte)t;imageij2=(GLubyte)t;for (i=0;i<4;i+)for (j=0;j<4;j+)t=(j<(4-i)?100:200;image2ij0=(GLubyte)t;image2ij1=(GLubyte)t-20;image2ij2=(GLubyte)t+20;for (i=0;i<4;i+)for (

21、j=0;j<4;j+)t=60;if (i=j && i!=0 && j!=3)t=180;image3ij0=(GLubyte)t;image3ij1=(GLubyte)t-10;image3ij2=(GLubyte)t+10;/貼圖參數(shù)設(shè)置glEnable(GL_TEXTURE_2D);glTexEnvf(GL_TEXTURE_2D,GL_TEXTURE_ENV_MODE,GL_MODULATE);glGenTextures(3,TextureIDList);/分配紋理號/-0號給地板-glBindTexture(GL_TEXTURE_2D,Textu

22、reIDList0);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,4,4,0,GL_RGB,GL_UNSIGNED_BYTE,image);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);glTexParameterf(GL_TEXTURE_2D,GL_T

23、EXTURE_MIN_FILTER,GL_NEAREST);/-1號給墻壁-glBindTexture(GL_TEXTURE_2D,TextureIDList1);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,4,4,0,GL_RGB,GL_UNSIGNED_BYTE,image2);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE

24、_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);/-2號給天花板-glBindTexture(GL_TEXTURE_2D,TextureIDList2);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,4,4,0,GL_RGB,GL_UNSIGNED_BYTE,image3);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParamet

25、erf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);/創(chuàng)建菜單glutCreateMenu(mainmenu);glutAddMenuEntry("開啟點(diǎn)光源",1);glutAddMenuEntry("關(guān)閉點(diǎn)光源",2);glutAddMenuEntry(&q

26、uot;使用紋理",3);glutAddMenuEntry("去除紋理",4);glutAddMenuEntry("紋理環(huán)境:modulate調(diào)制",5);glutAddMenuEntry("紋理環(huán)境:replace替換",6);glutAttachMenu(GLUT_RIGHT_BUTTON);void main(int argc,char *argv)glutInit(&argc,argv);glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);glutIni

27、tWindowSize(500,500);glutInitWindowPosition(100,100);glutCreateWindow(" ");glutDisplayFunc(display);init();glutMainLoop(); 2. 結(jié)果:初始效果圖 關(guān)閉點(diǎn)光源去除紋理調(diào)制模式替換模式菜單展示3. 分析:完成了要求;調(diào)制模式更適合與光照,因?yàn)闀?huì)和表面的材質(zhì)參數(shù)進(jìn)行結(jié)合。(二)鐘表紋理1. 代碼:#include<GL/glut.h>#include<stdio.h>#include<time.h>#include<

28、windows.h>typedef unsigned char byte;GLUquadric *p;struct tm* localTime; int hour, minute, second;byte *image;GLuint ID;int LoadBitmap(const char *file)GLuint ID;int width,height,i;byte t;FILE *fp;BITMAPFILEHEADER FileHeader;BITMAPINFOHEADER InfoHeader;fp=fopen(file,"rb");if (!fp)/文件能否打

29、開printf("文件打開失??!");fclose(fp);return -1;fread(&FileHeader,sizeof(BITMAPFILEHEADER),1,fp);if (FileHeader.bfType!=0x4D42)/BMP文件類型校驗(yàn)printf("不是BMP標(biāo)準(zhǔn)圖像!");fclose(fp);return -1;fread(&InfoHeader,sizeof(BITMAPINFOHEADER),1,fp);width=InfoHeader.biWidth;height=InfoHeader.biHeight;

30、if (InfoHeader.biSizeImage=0)/確保圖像數(shù)據(jù)大小 InfoHeader.biSizeImage=width*height*3;fseek(fp,FileHeader.bfOffBits,SEEK_SET);/移動(dòng)指針到圖像image=(byte *)malloc(sizeof(byte)*InfoHeader.biSizeImage);/為圖像分配內(nèi)存if (!image)free(image);printf("沒有足夠的內(nèi)存!");fclose(fp);return -1;fread(image,1,InfoHeader.biSizeImage

31、,fp);for (i=0;i<InfoHeader.biSizeImage;i+=3)/注意BMP像素信息排列是BGR,而正常的數(shù)據(jù)應(yīng)該是RGBt=imagei;imagei=imagei+2;imagei+2=t;fclose(fp); glGenTextures(1,&ID); glBindTexture(GL_TEXTURE_2D,ID); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT

32、); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); gluBuild2DMipmaps(GL_TEXTURE_2D,3,width,height,GL_RGB,GL_UNSIGNED_BYTE,image);/支持任意大小,比TexImage2D更快,但不穩(wěn)定/glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,width,height,0,GL_RGB,GL_UNS

33、IGNED_BYTE,image);/支持64,128,256,其他的可能有問題,穩(wěn)定return ID;void createDial() glColor3f(1.0,1.0,1.0); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, ID); gluQuadricTexture(p,GLU_TRUE); /紋理坐標(biāo)自動(dòng)生成 gluDisk(p,0.0,10.0,80,20); glDisable(GL_TEXTURE_2D); glColor3f(0.0, 0.0, 0.0); gluDisk(p,9.5,10.0,80,20);

34、void createScale1() glRectf(-0.5,-0.5,0.5,0.5);void createScale2() glRectf(-0.25,-1.5,0.25,0.0);void createHourhand()glColor3f(0.8,0.8,0.8);glBegin(GL_POLYGON);glVertex2f(0.0,-2.0);glVertex2f(-0.75,0.0);glVertex2f(0.0,3.0);glVertex2f(0.75,0.0);glEnd();glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glV

35、ertex2f(0.0,-2.0);glVertex2f(-0.75,0.0);glVertex2f(0.0,3.0);glVertex2f(0.75,0.0);glEnd();void createMinutehand()glColor3f(0.8,0.8,0.8);glBegin(GL_POLYGON);glVertex2f(0.0,-2.0);glVertex2f(-0.5,0.0);glVertex2f(0.0,6.0);glVertex2f(0.5,0.0);glEnd();glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glVertex2f

36、(0.0,-2.0);glVertex2f(-0.5,0.0);glVertex2f(0.0,6.0);glVertex2f(0.5,0.0);glEnd();void createSecondhand()glColor3f(0.8,0.8,0.8);glBegin(GL_POLYGON);glVertex2f(-0.1,-2.0);glVertex2f(0.1,-2.0);glVertex2f(0.1,8.0);glVertex2f(-0.1,8.0);glEnd();glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glVertex2f(-0.1,-

37、2.0);glVertex2f(0.1,-2.0);glVertex2f(0.1,8.0);glVertex2f(-0.1,8.0);glEnd(); glColor3f(0.5,0.5,0.5); gluDisk(p,0.0,0.25,80,20); glColor3f(0.0, 0.0, 0.0); gluDisk(p,0.25,0.3,80,20);void createWatch()createDial();glPushMatrix();glTranslatef(0.0,9.0,0.0);createScale1();glTranslatef(9.0,-9.0,0.0);createS

38、cale1();glTranslatef(-9.0,-9.0,0.0);createScale1();glTranslatef(-9.0,9.0,0.0);createScale1();glPopMatrix();glPushMatrix();glTranslatef(5.0,8.66,0.0);glRotatef(-30.0,0.0,0.0,1.0);createScale2();glPopMatrix();glPushMatrix();glTranslatef(8.66,5.0,0.0);glRotatef(-60.0,0.0,0.0,1.0);createScale2();glPopMa

39、trix();glPushMatrix();glTranslatef(8.66,-5.0,0.0);glRotatef(-120.0,0.0,0.0,1.0);createScale2();glPopMatrix();glPushMatrix();glTranslatef(5.0,-8.66,0.0);glRotatef(-150.0,0.0,0.0,1.0);createScale2();glPopMatrix();glPushMatrix();glTranslatef(-5.0,-8.66,0.0);glRotatef(150.0,0.0,0.0,1.0);createScale2();g

40、lPopMatrix();glPushMatrix();glTranslatef(-8.66,-5.0,0.0);glRotatef(120.0,0.0,0.0,1.0);createScale2();glPopMatrix();glPushMatrix();glTranslatef(-8.66,5.0,0.0);glRotatef(60.0,0.0,0.0,1.0);createScale2();glPopMatrix();glPushMatrix();glTranslatef(-5.0,8.66,0.0);glRotatef(30.0,0.0,0.0,1.0);createScale2();glPopMatrix();void gettime()time_t curTime;time(&curTime);localTime = localtime(&curTime);hour=localTime->tm_hour;minute=localTime->tm_min;second=localTime->tm_sec;void processHourhand()glPushMatrix();glRotatef(hour*30.0+minute*0.5,0.0,0.0,-1.0);createHourhand();glPopMatrix();vo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論