計算機(jī)圖形學(xué)結(jié)課論文_第1頁
計算機(jī)圖形學(xué)結(jié)課論文_第2頁
計算機(jī)圖形學(xué)結(jié)課論文_第3頁
計算機(jī)圖形學(xué)結(jié)課論文_第4頁
計算機(jī)圖形學(xué)結(jié)課論文_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2017屆結(jié)課論文計算機(jī)圖形學(xué)基礎(chǔ)教程小球的彈跳運(yùn)動學(xué)生姓名 學(xué) 號 所屬學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù)班 級 塔里木大學(xué)教務(wù)處制目錄摘 要11.背景11.1計算機(jī)圖形學(xué)概述11.2計算機(jī)圖形畫面的分類22.OpenGL概述22.1程序的基本結(jié)構(gòu)32.2狀態(tài)機(jī)制43.方案論述43.1小球運(yùn)動過程43.2簡單光照模型原理44.程序模塊分析54.1 小球的生成模塊54.2小球的運(yùn)動時間模塊64.3主程序運(yùn)行模塊64.4材質(zhì)定義74.5雙緩沖技術(shù)75.總結(jié)7附錄 A:程序清單8附錄B: 程序運(yùn)行結(jié)果136.致謝14參考文獻(xiàn):14小球的彈跳運(yùn)動摘 要計算機(jī)圖形學(xué)(Computer Graphics,簡

2、稱CG)是一種使用數(shù)學(xué)算法將二維或三維圖形轉(zhuǎn)化為計算機(jī)顯示器的柵格形式的科學(xué)。簡單地說,計算機(jī)圖形學(xué)的主要研究內(nèi)容就是研究如何在計算機(jī)中表示圖形、以及利用計算機(jī)進(jìn)行圖形的計算、處理和顯示的相關(guān)原理與算法。圖形是客觀物質(zhì)世界在人大腦中的反映、圖形蘊(yùn)含信息密度大、易于理解接受,是當(dāng)今信息社會中人們用于傳遞信息的重要手段。計算機(jī)技術(shù)和圖形的結(jié)合使得圖形在深度、廣度和形式上都發(fā)生了深刻的變化,其應(yīng)用也波及社會的各個領(lǐng)域。本次課程論文主要闡述通過計算機(jī)圖形學(xué)中動畫的實現(xiàn),來實現(xiàn)簡單的小球運(yùn)動動畫過程。關(guān)鍵詞: 計算機(jī)圖形學(xué)、計算機(jī)動畫、計算機(jī)技術(shù)1.背景1.1計算機(jī)圖形學(xué)概述圖形通常由點、線、面、體等幾

3、何元素和灰度、色彩、線型、線寬等非幾何屬性組成。從處理技術(shù)上來看,圖形主要分為兩類,一類是基于線條信息表示的,如工程圖、等高線地圖、曲面的線框圖等,另一類是明暗圖,也就是通常所說的真實感圖形。 計算機(jī)圖形學(xué)一個主要的目的就是要利用計算機(jī)產(chǎn)生令人賞心悅目的真實感圖形。為此,必須建立圖形所描述的場景的幾何表示,再用某種光照模型,計算在假想的光源、紋理、材質(zhì)屬性下的光照明效果。所以計算機(jī)圖形學(xué)與另一門學(xué)科計算機(jī)輔助幾何設(shè)計有著密切的關(guān)系。事實上,圖形學(xué)也把可以表示幾何場景的曲線曲面造型技術(shù)和實體造型技術(shù)作為其主要的研究內(nèi)容。同時,真實感圖形計算的結(jié)果是以數(shù)字圖像的方式提供的,計算機(jī)圖形學(xué)也就和圖像處

4、理有著密切的關(guān)系。1.2計算機(jī)圖形畫面的分類計算機(jī)動畫是計算機(jī)圖形學(xué)和藝術(shù)相結(jié)合的產(chǎn)物,它是伴隨著計算機(jī)硬件和圖形算法高速發(fā)展起來的一門高新技術(shù)。動畫是運(yùn)動中的藝術(shù),運(yùn)動是動畫的要素。計算機(jī)動畫以其制作方法和特征通常分為二維動畫和三維動畫兩種形式。(1)二維圖形傳統(tǒng)的圖形畫面的實現(xiàn)是連續(xù)播放多幀畫面,每幅畫面表述的是運(yùn)動物體若干個瞬間,利用觀看者的瞬間視覺殘留而得到運(yùn)動的視覺感受。二維圖形畫面顯示的主要是平面圖形,制作時就像在紙上作畫,通過對象的移動、變形、變色等手法表現(xiàn)其運(yùn)動的效果;計算機(jī)動畫原理也是一樣,計算機(jī)圖形畫面的每一幀畫面都是一幅數(shù)字化的圖像。(2)三維立體圖形三維畫面則顯示立體圖

5、形,其制作就像是在攝影棚中拍電影:首先在三維視圖中布置攝影對象的位置、規(guī)定其運(yùn)動、安排好各種燈光,然后在特定位置架設(shè)好“攝影機(jī)”,可設(shè)定攝影機(jī)的推拉搖移,最后計算機(jī)計算出在這一立體空間下“攝影機(jī)所見的”動態(tài)圖像效果。盡管在常見的二維畫面中也可以模擬三維的立體空間,但其圖像的精確度等遠(yuǎn)不及三維圖像畫面。2.OpenGL概述OpenGL是一個開放的三維圖形軟件包,它獨立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺間移植;OpenGL可以與Visual C+緊密接口,便于實現(xiàn)機(jī)械手的有關(guān)計算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡便,效率高。OpenGL基

6、本函數(shù)均使用gl作為函數(shù)名的前綴,如glClearColor();實用函數(shù)則使用glu作為函數(shù)名的前綴,如gluSphere()。OpenGL基本常量的名字以GL_開頭,如GL_LINE_LOOP;實用常量的名字以GLU_開頭,如GLU_FILL。一些函數(shù)如glColor*()(定義顏色值),函數(shù)名后可以接不同的后綴以支持不同的數(shù)據(jù)類型和格式。如glColor3b(.)、glColor3d(.)、glColor3f(.)和glColor3bv(.)等,這幾個函數(shù)在功能上是相似的,只是適用于不同的數(shù)據(jù)類型和格式,其中3表示該函數(shù)帶有三個參數(shù),b、d、f分別表示參數(shù)的類型是字節(jié)型、雙精度浮點型和單

7、精度浮點型,v則表示這些參數(shù)是以向量形式出現(xiàn)的。OpenGL定義了一些特殊標(biāo)識符,如GLfloat,GLvoid。它們其實就是C中的float和void。在gl.h文件中可以看到以下定義:typedef float GLfloat;typedef void GLvoid;一些基本的數(shù)據(jù)類型都有類似的定義項。2.1程序的基本結(jié)構(gòu)OpenGL程序的基本結(jié)構(gòu)可分為三個部分:第一部分是初始化部分。主要是設(shè)置一些OpenGL的狀態(tài)開關(guān),如顏色模式(RGBA或ALPHA)的選擇,是否作光照處理(若有的話,還需設(shè)置光源的特性),深度檢驗,裁剪等等。這些狀態(tài)一般都用函數(shù)glEnable(.), glDisab

8、le()來設(shè)置,表示特定的狀態(tài)。第二部分設(shè)置觀察坐標(biāo)系的取景模式和取景框位置大小。利用了三個函數(shù):函數(shù)void glViewport(left,top,right,bottom):設(shè)置在屏幕上的窗口大小,四個參數(shù)描述屏幕窗口四個角上的坐標(biāo)(以象素表示);函數(shù)void glOrtho(left,right,bottom,top,near,far):設(shè)置投影方式為正交投影(平行投影),其取景體積是一個各面均為矩形的六面體;函數(shù)void gluPerspective(fovy,aspect,zNear,zFar):設(shè)置投影方式為透視投影。第三部分是OpenGL的主要部分,使用OpenGL的庫函數(shù)構(gòu)造

9、幾何物體對象的數(shù)學(xué)描述,包括點線面的位置和拓?fù)潢P(guān)系、幾何變換、光照處理等等。以上三個部分是OpenGL程序的基本框架,即使移植到使用MFC的Windows程序中,也是如此。只是由于Windows自身有一套顯示方式,需要進(jìn)行一些必要的改動以協(xié)調(diào)這兩種不同顯示方式。2.2狀態(tài)機(jī)制OpenGL的工作方式是一種狀態(tài)機(jī)制,它可以進(jìn)行各種狀態(tài)或模式設(shè)置,這些狀態(tài)或模式在重新改變它們之前一直有效。例如,當(dāng)前顏色就是一個狀態(tài)變量,在這個狀態(tài)改變之前,繪制的每個象素都將使用該顏色,直到當(dāng)前顏色被設(shè)置為其它顏色為止。OpenGL中大量地使用了這種狀態(tài)機(jī)制,如顏色模式、投影模式、單雙顯示緩存區(qū)的設(shè)置、背景色的設(shè)置、

10、光源的位置和特性等等。許多狀態(tài)變量可以通過glEnable()、glDisable()這兩個函數(shù)來設(shè)置成有效或無效狀態(tài),如是否設(shè)置光照、是否進(jìn)行深度檢測等;在被設(shè)置成有效狀態(tài)之后,絕大部分狀態(tài)變量都有一個缺省值。通常情況下,可以用下列四個函數(shù)來獲取某個狀態(tài)變量的值:glGetBooleanv()、glGetDouble()、glGetFloatv()和glGetIntegerv()。究竟選擇哪個函數(shù)應(yīng)該根據(jù)所要獲得的返回值的數(shù)據(jù)類型來決定。還有些狀態(tài)變量有特殊的查詢函數(shù),如glGetLight*()、glGetError()和glPolygonStipple()等。另外,使用glPushAtt

11、rib()和glPopAttrib()函數(shù),可以存儲和恢復(fù)最近的狀態(tài)變量的值。只要有可能,都應(yīng)該使用這些函數(shù),因為它們比其它查詢函數(shù)的效率更高。3.方案論述3.1小球運(yùn)動過程小球從某一高度處水平拋出,落地后立即彈起,彈起的最大高度為上一次高度的5/6。經(jīng)過N次以后皮球不再彈起,保持靜止。通過小球的軌跡可以實現(xiàn)小球通過其他靜止的小球(障礙物)的畫面。 整個設(shè)計包括兩個方面,一是掌握小球運(yùn)動的基本原理,二是圓的繪制。動畫是將靜止的畫面變?yōu)閯討B(tài)的藝術(shù)。實現(xiàn)由靜止到動態(tài),主要是靠人眼的視覺殘留效應(yīng)。利用人的這種視覺生理可制作出具有高度想象力和表現(xiàn)力的畫面。3.2簡單光照模型實現(xiàn)原理Phong光照明模型

12、是由物體表面上一點P反射到視點的光強(qiáng)I為環(huán)境光的反射光強(qiáng)Ie、理想漫反射光強(qiáng)Id、和鏡面反射光Is的總和,即 圖3.2 光照模型其中R,V,N為單位矢量;Ip為點光源發(fā)出的入射光強(qiáng);Ia為環(huán)境光的漫反射光強(qiáng);Ka環(huán)境光的漫反射系數(shù);Kd漫反射系數(shù)取決于表面的材料;Ks鏡面反射系數(shù);n冪次,用以模擬反射光的空間分布,表面越光滑,n越大。在用Phong模型進(jìn)行真實感圖形計算時,對物體表面上的每個點P,均需計算光線的反射方向R,再由V計算。為減少計算量,我們可以作如下假設(shè):a)光源在無窮遠(yuǎn)處,即光線方向L為常數(shù);b)視點在無窮遠(yuǎn)處,即視線方向V為常數(shù);c)用近似。這里H為L和V的角平分向量,。在這種

13、簡化下,由于對所有的點總共只需計算一次H的值,節(jié)省了計算時間。結(jié)合RGB顏色模型,Phong光照明模型最終有如下的形式:本次設(shè)計中,光源在無窮遠(yuǎn)處,光線方向為單位向量L(0.5, 0.5, 0.707),視點在無窮遠(yuǎn)處,視線方向V為(0,0,1)。4.程序模塊分析4.1 小球的生成模塊(1)定義小球的大小,起始位置Int cx=100,cy=600;cr=20; 定義小球開始運(yùn)動位置、小球下降高度和體積大??;void MidCircleLight(int x0, int y0, int r) 小球的生成方法;void myDisplay() 小球的顯示方法;4.2小球的運(yùn)動時間模塊小球的運(yùn)動時

14、間,物理學(xué)中,我們學(xué)過忽略空氣阻力,小球的下落的時間由下落的高度決定:由h=1/2(g*t2) 得t = sqrt(2*h/g); 此處用到了定時器功能。void TimerFunction(int value) 定時器功能方法;glBegin(GL_POINTS); 小球填充方法。4.3主程序運(yùn)行模塊(1)glutInit,對GLUT進(jìn)行初始化,這個函數(shù)必須在其它的GLUT使用之前調(diào)用一次。其格式比較固定,一般都是glutInit(&argc, argv)就行;(2) glutInitDisplayMode,設(shè)置顯示方式,其中GLUT_RGB表示使用RGB顏色,與之對應(yīng)的還有GLUT_IND

15、EX(表示使用索引顏色)。GLUT_SINGLE表示使用單緩沖,與之對應(yīng)的還有GLUT_DOUBLE(使用雙緩沖)。更多信息,以后的實驗教程會有講解介紹;(3) glutInitWindowPosition,設(shè)置窗口在屏幕中的位置;(4) glutInitWindowSize,設(shè)置窗口的大小;(5) glutCreateWindow,根據(jù)前述設(shè)置的信息創(chuàng)建窗口。參數(shù)將被作為窗口的標(biāo)題。注意:窗口被創(chuàng)建后,并不立即顯示到屏幕上。需要調(diào)用glutMainLoop才能看到窗口;(6) glutDisplayFunc,設(shè)置一個函數(shù),當(dāng)需要進(jìn)行畫圖時,這個函數(shù)就會被調(diào)用。(7) glutMainLoop

16、,進(jìn)行一個消息循環(huán)。在glutDisplayFunc函數(shù)中,我們設(shè)置了“當(dāng)需要畫圖時,請調(diào)用myDisplay函數(shù)”。于是myDisplay函數(shù)就用來畫圖。觀察myDisplay中的三個函數(shù)調(diào)用,發(fā)現(xiàn)它們都以gl開頭。這種以gl開頭的函數(shù)都是OpenGL的標(biāo)準(zhǔn)函數(shù),下面對用到的函數(shù)進(jìn)行介紹: glClearColor(0.0, 0.0, 0.0, 0.0) :將清空顏色設(shè)為黑色; glClear(GL_COLOR_BUFFER_BIT):將窗口的背景設(shè)置為當(dāng)前清空顏色; glRectf,畫一個矩形。參數(shù)表示了位于對角線上的兩個點的橫、縱坐標(biāo); glFlush,保證前面的OpenGL命令立即執(zhí)行

17、(而不是讓在緩沖區(qū)中等待)。4.4材質(zhì)定義材質(zhì)的定義與光源的定義類似。其函數(shù)為:void glMaterialifv(GLenum face,GLenum pname,TYPE param);定義光照計算中用到的當(dāng)前材質(zhì)。face可以是GL_FRONT、GL_BACK、GL_FRONT_AND_BACK,它表明當(dāng)前材質(zhì)應(yīng)該應(yīng)用到物體的哪一個面上;pname說明一個特定的材質(zhì);param是材質(zhì)的具體數(shù)值,若函數(shù)為向量形式,則param是一組值的指針,反之為參數(shù)值本身。非向量形式僅用于設(shè)置GL_SHINESS。4.5雙緩沖技術(shù)總體意思為兩個區(qū)域一個顯示,一個則負(fù)責(zé)畫圖,然后連續(xù)切換在計算機(jī)上的動畫

18、與實際的動畫有些不同:實際的動畫都是先畫好了,播放的時候直接拿出來顯示就行。計算機(jī)動畫則是畫一張,就拿出來一張,再畫下一張,再拿出來。如果所需要繪制的圖形很簡單,那么這樣也沒什么問題。但一旦圖形比較復(fù)雜,繪制需要的時間較長,問題就會變得突出。我們以前在main函數(shù)里面寫: glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);其中GLUT_SINGLE表示單緩沖,如果改成GLUT_DOUBLE就是雙緩沖了。當(dāng)然還有需要更改的地方每次繪制完成時,我們需要交換兩個緩沖區(qū),把繪制好的信息用于屏幕顯示(否則無論怎么繪制,還是什么都看不到)。如果使用GLUT工具包,也可

19、以很輕松的完成這一工作,只要在繪制完成時簡單的調(diào)用glutSwapBuffers函數(shù)就可以了。5.總結(jié) 開始時由于顯示框設(shè)置的寬度偏小,以及小球彈起高度偏高,以至于最終觀察不到皮球的靜止?fàn)顟B(tài)。對數(shù)值進(jìn)行幾次修改并調(diào)試后,達(dá)到所要求的效果。此外,皮球的平拋初速度設(shè)置的不夠合理,使下落時做的拋物線運(yùn)動效果不夠明顯;皮球的運(yùn)動過程中也有一些的晃動。由于個人能力有限,這兩個問題還沒得到明顯改善。 時光,稍縱即逝,終于完成了這門課程作業(yè),回想起來整個過程,感觸還是挺多的。在設(shè)計剛開始時,感到無從下手。以前沒學(xué)過C+,而僅僅學(xué)過的C語言,基礎(chǔ)也很不扎實。在網(wǎng)上翻閱相關(guān)書籍和資料后,對C+編程和OpenGL

20、總算有了進(jìn)一步理解和掌握。從網(wǎng)上找到關(guān)于球運(yùn)動的一些程序,經(jīng)過慢慢摸索和修改,還請教了周圍的同學(xué),終于有了現(xiàn)在的程序。程序編好后,依照各個函數(shù)和功能塊,最終實現(xiàn)了小球的簡單運(yùn)動動畫。在這次課程作業(yè)中我遇到了許多問題,同時也發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。比如說不懂一些軟件的使用方法,對圖形語言掌握得不透徹。還有,這次課程作業(yè),讓我明白了只有自己懂,自己做,才不會在關(guān)鍵時刻掉鏈子。別人學(xué)到的知識終究是別人的,路總是要自己走,屬于自己的任務(wù)就要自己搞。所以,我們必須要時刻強(qiáng)大自己,不要一味依賴別人。這個過程雖然不是很平坦,肯定會遇到各種各樣的問題,但一旦征服

21、了它,那它就是你的東西了,當(dāng)這樣的厚積達(dá)到一定程度那你就能享受到薄發(fā)那刻的輝煌。附錄 A:程序清單#include #include #include #include #define NO_LIGHT 1#define LIGHT 2struct Vectorfloat fx, fy, fz; ; /矢量struct Colorfloat Ir, Ig, Ib; ; /*定義皮球的顏色*/float KaIa,Kd, n; / 環(huán)境光強(qiáng)度Vector H,light;Color mLight, mColor;GLboolean bLight = false;int cx=100,cy=600

22、,cr=20; /*定義皮球開始運(yùn)動時的水平位置,下落高度和體積大小*/int cx1=50,cy1=200,cr1=15;int windowswidth = 1200,windowshight = 600; /*定義顯示框的寬度和高度*/int xstep=0,ystep=0,flag=10,up=0; float vh =4,g=19.8,h=cy; /小球軌跡的振幅/初始化設(shè)定void Init() float mo; Vector eye;mLight.Ir = 1200,mLight.Ig =200,mLight.Ib =800; /*定義皮球的顏色*/KaIa=100,Kd =

23、0.7,n = 10;light.fx=0.10;light.fy=0.50;light.fz = sqrt(1-(light.fx*light.fx)-(light.fy*light.fy);eye.fx=0;eye.fy=0;eye.fz=1;H.fx=light.fx+eye.fx;H.fy=light.fy+eye.fy;H.fz=light.fz+eye.fz;mo=sqrt(H.fx*H.fx+H.fy*H.fy+H.fz*H.fz);H.fx=(H.fx/mo);H.fy=(H.fy/mo);H.fz=(H.fz/mo);H.fx=(H.fx/mo);H.fy=(H.fy/mo)

24、;H.fz=(H.fz/mo);glClearColor(1.0, 1.0, 1.0, 0.0);glShadeModel(GL_SMOOTH);/根據(jù)Phong模型計算光強(qiáng)Color Phong(int x0, int y0, int r, int x, int y) Vector N;float z,alpha,theta,Ks;Ks=1.0-Kd;z=sqrt(float)(r*r-(x-x0)*(x-x0)-(y-y0)*(y-y0);N.fx=(x-x0)*1.0/r;N.fy=(y-y0)*1.0/r;N.fz = z*1.0/r;theta = N.fx * light.fx +

25、 N.fy * light.fy + N.fz * light.fz;if(theta0)theta=0;alpha=H.fx*N.fx+H.fy*N.fy+H.fx*N.fz;if(alpha0)alpha=0;mColor.Ir=KaIa+mLight.Ir*Kd*theta+mLight.Ir*Ks*pow(alpha,n);mColor.Ig=KaIa+mLight.Ig*Kd*theta+mLight.Ig*Ks*pow(alpha,n);mColor.Ib=KaIa+mLight.Ib*Kd*theta+mLight.Ib*Ks*pow(alpha,n);return mColor

26、;void MidCircleLight(int x0, int y0, int r)int x,y,deltax,deltay,d;x = 0;y = r;deltax = 3;deltay = 5-r-r;d = 10-r;int i=0; glBegin(GL_POINTS); for(i=-y;i=y;i+)mColor=Phong(x0,y0,r,i+x0,x+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor.Ib); glVertex2i (i+x0,x+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor

27、.Ib); glVertex2i (i+x0,-x+y0);for( i=-x;i=x;i+)mColor=Phong(x0,y0,r,i+x0,y+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor.Ib);glVertex2i (i+x0,y+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor.Ib);glVertex2i (i+x0,-y+y0);while(xy)if(d0)d += deltax;deltax += 2;deltay += 2;x+;else d += deltay;deltax += 2;d

28、eltay += 4;x+;y-;for(i=-x;i=x;i+)mColor=Phong(x0,y0,r,i+x0,y+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor.Ib); glVertex2i (i+x0,y+y0);glColor3ub (mColor.Ir, mColor.Ig, mColor.Ib); glVertex2i (i+x0,-y+y0);for(i=-y;i1)if(cy-cr0 & cx+crwindowswidth & up = 0)t =sqrt(2*h/g);vv = g*t/20;cx += vh;cy -= vv;

29、else if(cy-cr=0)flag = 1;up =1 ; if(flag = 1)h=8.0/9.0*h;flag = 0 ;printf(%d,%d,%d,%dn,up,flag,h,cy-cr);if(cy-cr=h)up = 0 ; /第二個小球運(yùn)動時間if(cy1-cr10 & cx+crwindowswidth & up = 0)t =sqrt(2*h/g);vv = g*t/20;cx1 += vh;cy1 -= vv; if(cy1-cr1=h & up = 1)t = sqrt(2*h/g);vv = sqrt(2*g*h)/8;cy1 +=vv;cx1 +=vh; /*用新坐標(biāo)重新繪圖*/ glutPostRedisplay();glutDisplayFunc(myDisplay);glutTimerFunc(33,TimerFunction, 1);/主函數(shù)程序int main(

溫馨提示

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

評論

0/150

提交評論