版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级计算机图形学
讲授:董兰芳
研究方向:科学计算可视化
图形、图像处理
模式识别
Telephone/p>
Email:Ifdong@ustc.
Homepage:
http://staff.ustc.edu,dong
中国科学技术大学
视觉计算与可视化实验室
第二章图形学编程
❖2.1OpenGL简介
❖2.2Siepinski镂垫
❖2.3编写二维图形应用程序
❖2.4OpenGLAPI
❖2.5图元和属性
❖2.6颜色
❖2.7观察
❖2.8控制函数
❖2.9Siepinski镂垫绘制程序
❖2.10多边形和递归
❖2.11三维Siepinski镂垫
❖2.12绘制隐函数曲线
❖2.13基于三角网格的等值线绘制
2.1OpenGL简介
•三种类型的计算机图形软件系统:
>用某种语言写成的子程序包
/GKS
/PHIGS
/GL
/OpenGL
/DirectX
便于移植和推广、但执行速度相对较慢,效率低!
>扩充计算机语言,使其具有图形生成和处理的功能
如:TurboPascal>TurboC,AutoLisp等。
简练、紧凑、执行速度快,但不可移植!
A专用图形系统:效率高,但系统开发量大,可移植
2.1OpenGL简介
>专用图形系统:效率高,但系统开发量大,可移植性差。
工具栏
快捷菜单栏
主菜单栏
|业1)・,歹a7.0.1:.\imtitled厂〕值I区〕|
FileIEdilModifyCr・ot・Di«pl*yVtndowAn>»*taDefor*Sk«l«tonSkinC»n*tr*inCh*r*cl«rX«lp
Hibon二||因一*卜|m*6I*+《N♦闿X•?砧涌它0.,。|日“笈|西面渭|$5、春滤妾
General|Curve;Si<fac«3|Polygon:Subdrv*|Delormabon|Arwnation|DynamicsIRendering|P«nt£Meets!Toon|Cloth:FluidsIF=|Ha»|Custom:VueGxStreamPlugvi|曰
V»*wSh*4(ncShowPan«laVieSXadin«L><htingShowP*n*l*事事能
Chgnel*Obj・vl
常
用
工
具
(■•Dupka1Rendet
L«y«rsOption«Hvlp
工作区
2.1OpenGL简介
•OpenGL(OpenGraphicsLibrary)是个定义了一个跨编
程语言、跨平台的编程接口的规格,是个专业的3D程序
接口,是一个功能强大,调用方便的底层3D图形库。
•OpenGL是个与硬件无关的软件接口,可以在不同的平台
如Windows95、WindowsNT、Unix>Linux、MacOS
、OS/2之间进行移植。
•这个接口由近二百五十个不同的函数调用组成,用来从简
单的图元绘制复杂的三维景象。在电子游戏工业里,它是
颇普遍的,而另一种编程接口系统是仅用于Micros。什
Windows上的Directsb。
•OpenGL常用于CAD、虚拟实境、科学视觉化程序和电子
游戏开发。
2.1OpenGL简介
•OpenGL的前身是SG工公司为其图形工作站开发的工R工SGL。
1992年7月,SG工公司发布了OpenGL的1.0版本。
•OpenGL历经2.0,1.5,1.4,1.3,1.2,1.1,or1.0多个
版本。现在最新的是在2006年8月3日公布的OpenGLversion
2.1o
•OpenGL规范由1992年成立的OpenGL架构评审委员会(ARB
)维护。ARB由一些特别兴趣于建立一个统一的普遍可用的
AP工的、公司组成。根据OpenGL官方网站,2002年6月的ARB
投票成员包括3Dlabs、AppleComputer、ATITechnologies
、bellComputer、Evans&Sutherland、Hewlett-Packard
、IBM>IntekMatrox、NVIDIA>SG工和Sun
Microsystems(Microsoft曾是创立成员之一,但已于2003
年3月退出)。赘忌
2.1OpenGL简介
•GL(1981-2006):SiliconGraphics(SGI)
GeometryEngine(几何引擎),硬件(VLSI)
实现几何流水线,极大改良了图形工作站。
>立即模式绘制
>可非常简单地设计出三维交互图形
应用程序。
2.1OpenGL简介
•OpenGL(1992):SG工领导的OpenGLArchitectural
ReviewBoard(OpenGLARB)发布1.0版平台无关的API:
»易于使用
»与硬件非常贴近,从而可以充分发挥其性能
>着重在于渲染(rendering)
»没有提供窗口和输入接口,从而避免依赖于
具体的窗口系统
2.1OpenGL简介
•核心库(GL):基本库。
•实用函数库(GLU):处理专门操作的附加库。
(复杂对象描述、曲线和曲面的绘制……)
•实用函数工具包(GLUT):实用函数工具包。
(提供与任意屏幕窗口系统进行交互的函数库)
2.1OpenGL简介
•基于QpenGL标准开发的应用程序必须运行于32位Windows
平台可如WindowsNT或Windows§6环境;而且运行时逐需有动态
链接库OpenGL32.DLL、Glu32.DLL,一般在...\W:[NDOW5\system32
里面(注:window2000以上系统均带有OPENGL32.DLL和glu32.dll)
•一般来说,VC6和VS.NET里面就带有GL的基本库
>VC6:..AMicrosoftVisualStudio\VC98\Include\GL
>VS.NET.2005:..AMicrosoftVisualStudio
8\VC\PlatformSDK\Inclucle\gl
>一般是Gl股,Slaux.h,Glu.h
>Lib里也有:Open@L32.lib,GLu32』ib,GLaux.lib
•所以开发者在VC下可以使用
>#include<gl\gl.h>//HeaderFileForTheOpenGL32Library
>#include<gl\glu.h>//HeaderFileForTheGLu32Library
>#include<gl\glaux.h>//HeaderFileForTheGlauxLibrary
2.1OpenGL简介
LibS0BI
文件。僦⑥查看9收藏他)工具9帮助也);:
D后退,十搜索文件夹叵]▼
地址@)ODAProgramFilesXBicrosoftVisualStudio\VC98\Lib*,|心转到
名称4大小类型停改日期人
文件和文件夹任务V[-给EDKGUID.UB4KBObjectFileLib.1998-5-130:00
EDKMAPI.LIB63KBObjectFileLib.1998-5-130:00
其它位置可绘EDKMSG.LIB2KBObjectFileLib.1998-5-130:00
组EDKSETUP.UB93KBObjectFileLib.1998-5-130:00
口VC98^EDKTRACK.UB5KBObjectFiltLib.1998-5-130:00
Q我的文档"EDKUTHS.UB60KBObjectFileLib.1998-5-130:00
口共享文档“EXADMINLIB48KBObjectFiltLib.1998-5-130:00
《我的电脑EXCKIHST.UB93KBObjectFileLib.1998-5-130:00
EXCHSDK.UB1,423KBObjtctFil«Lib.1998-5-130:00
母网上郃居
综FASTFILE.UB6KBObjectFileLib.1998-5-130:00
^FDI.LIB83KBObjectFileLib.1998-5-130:00
详细信息多■/^FILTER.LIB10KBObjectFileLib.1998-5-130:00
境FBISTR32.UB4KBObjectFileLib.1998-5-130:00
21FP10.0BJ1KBObjectFile1998-6-170:00
GLU32.LIB
ObjectFileLibrary"FRIENDLY.UB7KBObjectFileLib.1998-5-130:00
修改日期1998年5月13日,“GM32.UB80KBObjectFil*Lib.1998-5-130:00
0:00^OAUX.LIB1,282KBObjectFileLib.1998-5-130:00
大小:123KB券Clow321ib452KBObj«ctFil*Lib.2010-7-1312:22
“glew32s.lib1,140KBObjectFileLib.2010-7-1312:22
绘ES困回I13KBObjectFiltLib.1998-5-130:00
^Jglut32.1ib80KBObjectFileLib.2004-10-2311:25
线GTRTST32.UB23KBObjectFil*Lib.1998-6-220:00
空GUIDS.IJB98KBObjectFileLib.1998-5-130:00
为GIMAINUB27KBObjectFileLib.1998-5-130:00
^GfPERF.UB4KBObjectPileLib.1998-5-130:00
%GTREPOKr.UB11KBObjectFileLib.1998-5-130:00
幼HEXEDITUB4KBObj«ctFiltLib.1998-5-130:00
为HUNK.UB18KBObjectFileLib..1998-5-130:00
^ICMUI.LIB4KBObjectFiltLib.1998-5-130:00
给IKVUHK.UB323KBObjectFileLib.1998-5-130:00
^liAGEHLP.UB28KBObjectFiltLib.1998-5-130:00
“I1W32.1IB20KBObjectFileLib.1998-5-130:00
^JAVADBG.LIB12KBObjectFileLib.1998-5-130:00
-JKERNEL32.UB172KBObjectFileLib.1998-5-130:00
“KSGUID.UB142KBObjectFileLib.1998-5-130:00
综LARGEIMT.LIB4KBObjectFil*Lib.1998-5-130:00
^LEBC.LEB864KBObjectFileLib.2004-2-170:00
,^LIBCD.LIB2,544KBObjtctFiltLib.2004-2-170:00
用IJBCD.PDB84KBPrograaDebugD.2004-2-170:00
^LIBCIUB162KBObjtctFil*Lib.1998-8-170:00
^UBCID.IJB389KBObjectFileLib.1998-6-170:00
也LIBCIDPDB76KBProgrsDebugD.1998-6-170:00
^LIBCIMT.UB178KBObjectFileLib...2004-2-170:0040K/s,OK/S0v
夕出“342.ppi0p*nO._Brief_Int...*PFT[■Libt=z/'<7^C>10:38
2.1OpenGL简介
・函数:
AOpenGL核心库(gl)
AOpenGL实用库(glu)
A对X窗口系统的OpenGL扩展(glX)
•举例:
>voidglBegin(GLenummode);
>voidgluBeginCurve(GLUnurbs*nurb);
>voidglXFreeContextEXT(bisplay*dpy,
GLXContextctx);
•参数:
GL_PO工NTS,GL_LCNES,GL_LINE_5TR工P,GL_LCNE
_LdOP,GL-TRIANGLES,GL_TRIANGLE_STMP.fl
〒曰!:AN,GL_QUAbStGLj^UAb_STRIP匚/
2.1OpenGL简介
表3-1
字符c语言类型OpenGL类型定义
bsignedcharGLbyte
sshortGLshorl
iintGLint
ffloatGLlloat,GLclampf
ddoubleGLdouble,GLclampd
ubunsignedcharGLubyte,GLboolean
usunsighedshortGLshorl
uiunsignedintGLuint.GLenuni,GLbitfield
voidGLvoid
•voidglVertex3s(&Lshortx,GLshorty,SLshortz);
•voidglVertex3i(&Lintx,SLinty,GLintz);
•voidglVertex3f(&Lfloatx,SLfloaty,GLfloatz);
•voidglVertex3d(GLdoublex,GLdoubley,GLdoublez);
2.1OpenGL简介
【第英”•,大陋偏
洲开始||]⑥011LJDebug|[旧MkrosoFtPowerPC..四AcrobatReader-L.J而未命名-画图|18MicrosoftVisualC++14:50
2.1OpenGL简介
Jl
onf\Build/Debug\FindinFiles1~\FindinFiles2~\Results]«||
次英④•,大翘城二|
妻开始爹
113!eJ,91MicrosoftPowerPo...|小AcrobatReaderT,..|$]未命名-画图11-MKrosoftVlsu...
2.1OpenGL简介
.
-I11.exe-0error(s),0vjarning(s)
J
EEKBuildXDebugX_FindinFilesI~\~FindinFiles2"\Results]<||
J秀英,:大理常威厂>r
LnLCol1|REC|COL|OVR|READ
洲开始I痣闻J|S]Microsofl:PoM..|RjAcrobatReade…|W1未命名-画图811-Microsoft…|BB"E:\ll\Debugl..IlgBAnExample。...康89窗14:54
2.1OpenGL简介
•在没使用GLUT的情况下(手动添加link):
>在你文件头加上
/#include<gl\gl.h>
/#include<gl\glu.h>
/#include<gl\glaux.h>
>进入Project菜单,选Settings项,弹出Settings
对话框,选Link项,在Libraries栏目中加入
OpenGL库:opengl32.libglu32.libglaux.lib
2.1OpenGL简介
•GLUT(OpenGLUtilityToolkit)
•安装:在windows下通过C/C++语言编写GLUT程序,你需要以下三个文件
>&LUT.H-你需要在你的源代码中包含这个文件。通常情况下,这个文
件应该放在你系统的包含目录下的&L文件夹中。
>&LUT.LIB(SGIwindows版本)以及glu+32.lib(微软版本)-这个文
件必须被连接到你的程序中,确保它放在LIB目录中。
>glut32.dll(Windows)和glut.dll(SGIWindows版本)-根据你所使
用的OpenGL选择一个,如果你正在使用微软公司的版本,那么你必须选
择glut32.dllo你应该把DLL放置在你的系统文件夹中。
•举例:在windowXP下使用VC6安装GLUT
>下载glutdlls并解压
>复制glut32.dll和glut.dll至!!...\windows\system32
>复制gluT.h到...\MicrosofTVisualStudio\VC98\IncIude
>复制glut32.lib和glut.lib至(..\MicrosoftVisualStudio\VCSt§\
2.1OpenGL简介
#include<GL/glut.h>
voidrenderScene(void){〃绘制一个简单的二维的三角形
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
gIVertex3f(-0.5,-0.5,0.0);
gIVertex3f(0.5,0.0,0.0);
glVertex3f(0.0,0.5,0.0);
glEnd();
glFlush();
)
voidmain(intargc,char**argv){
glutlnit(&argc,argv);〃初始化glut
glutInitDisplayMode(GLUT_DEPTHIGLUT_SINGLEIGLUT_RGBA);
〃设置窗口的模式-深度缓存,单缓存,颜色模型
glutInitWindowPosition(100,100);〃设置窗口的位置
glutInitWindowSize(320,320);〃设置窗口的大小
glutCreateWindow(“3DTech-GLUTTutorial");〃创建窗口并赋予title
glutDisplayFunc(reiiderScene);〃调用renderScene把绘制传送到窗口
ghitMainLoopO;循环等布
2.1OpenGL简介
我的电脑超星数字图
书馆
;3DTech-GLUTTutorial-1□!x|
网上邻居
回收站
Internet卡
Explorer联
flashfxp
UltraEdit
2.1OpenGL简介
•OpenGL中
>核心(基本)库的函数名以gl为前缀
glBegin,glClear,glCopyPixels,
gIPolygonMode
>常量以GL开头
GL_2b,GL_RGB,GL_CCW,GL_POU/GON,
GL_AMBIENT_ANb_bIFFUSE
>库中定义的专门的数据类型以GL开头.
GLbyte,GLshort,Glint,GLfloot,GLdouble,
GLboolean
2.1OpenGL简介
•使用OpenGL的核心库
#include<windows.h>
#include<GL/gl.h>
#include<GL/glu.h>
•使用窗口管理
#include<GL/glut.h>
•C++程序所需的头文件
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
2.1OpenGL简介
#include<GL/glut.h>
voidmydisplay(X
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
gIVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
gIVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glEnd();
glFlush();
)
intmain(intargc,char**argvX
glutCreateWindow("simple");
glutDisplayFunc(mydisplay);
glutMainLoopO;
)
2.1OpenGL简介
ionname
dimensions
glVertex3f(x,v,z)
x,y,zarefloats
belonDsstoGLJlibraiy
glVertex3fv(p)
pisapointertoanarray
2.1OpenGL简介
•OpenGL的状态
•OpenGL是一个状态机(statemachine)状态:
持续性参数,颜色、线型、材质属性等
AOpenGL函数有两种类型生成图元(图元函数,如
gIVertex)如果图元可见,则被输出
»顶点如何被处理,图元的外观由状态控制
>改变状态变换函数
A属性函数
2.1OpenGL简介
•事件循环:在程序中定义
一个显示回调函数,(display
callback),每个GLUT程序都
必须有一个显示回调函数。
只要OpenGL确定显示内容要被
刷新时,显示回调函数就会被
调用。
•main函数是以程序进入事件
循环做为结束
2.1OpenGL简介
•web:
>OpenGL官方主页:http://www.opengl.org
>OpenGL2.1Reference:
http:Uwww./sdk/docs/mac
>GLUT:http:Uwww.opengl.org/resources/libraries/glut/
>NEUE的在线GL教程:http://
•specification:
>TheOpenGLUtilityToolkit(GLUT)Programming
Interface(PDF)
>OpenGL2.1specification(PDF)
•book:
AOpenGL超级宝典(三版)(中文),人民邮电出版社
AOpenGL编程指南(四版)(中文),人民邮电出版社
>OpenGLShadingLanguage
第二章图形学编程
❖2.1OpenGL简介
❖2.2Siepinski镂垫
❖2.3编写二维图形应用程序
❖2.4OpenGLAPI
❖2.5图元和属性
❖2.6颜色
❖2.7观察
❖2.8控制函数
❖2.9Siepinski镂垫绘制程序
❖2.10多边形和递归
❖2.11三维Siepinski镂垫
❖2.12绘制隐函数曲线
❖2.13基于三角网格的等值线绘制
22Siepinski镂垫
•生成过程:定义一个三角形,三个顶点分
别为:(Xi,y「O),(x2/y2/O),
(、343,°)
A1.在三角型内随机选择一个初始点
(x,y,z)
A2.随机选择三个顶点之一。
A3.找出(x,y,z)和随机选择
的顶点这二者连线的中点。
A4.显示此点。
A5.用这个点代替(x,y,z)o
A6.转到步骤2。
第二章图形学编程
❖2.1OpenGL简介
❖2.2Siepinski镂垫
❖2.3编写二维图形应用程序
❖2.4OpenGLAPI
❖2.5图元和属性
❖2.6颜色
❖2.7观察
❖2.8控制函数
❖2.9Siepinski镂垫绘制程序
❖2.10多边形和递归
❖2.11三维Siepinski镂垫
❖2.12绘制隐函数曲线
❖2.13基于三角网格的等值线绘制
⑥2.3编写二维图形应用程序
/*Two-bimensionalSierpinskiGasket*/
/*GeneratedUsingRandomlySelectedVertices*/
/*AndBisection*/
#ifdef_APPLE_
#include<GLUT/glut.h>
#else
#include<GL/glut.h>
#endif
voidmyinit()
(
/*attributes*/
glClearColor(1.01.0,1.0,1.0);/*whitebackground*/
glColor3f(1.6,0.,0,0.0);/*drawinred*/
/*setupviewing*/
/*500x500windowwithoriginlowerleft*/
glMatrixMode(GL_PROJECTION);
glLoadldentityO;
glu0rtho2b(0.0,50.0,0.0,50.0);
glMatrixMode(GL_MObELVIEW);
)
.3编写二维图形应用程序
void)
{GLfloatvertices[3][2]={{0.0,0.0},{25.0,50.0},{50.0,0.0}};/*任iangle*/
intj,k;
intrand();/*standardrandomnumbergenerator*/
GLfloatp[2]={7.5,5.0);/*Anarbitraryinitialpointinsidetraingle*/
glClear(GL_COLOR_BUFFER_BIT);/*clearthewindow*/
/*computeandplots5000newpoints*/
for(k=0;k<5000;k++)
{
j=rand()%3;/*pickavertexatrandom*/
/*Computepointhalfwaybetweenselectedvertexandoldpoint*/
p[0]=(p[0]+vertices[j][0])/2.0;
p[l]=(p[l]+vertices[j][l])/2.0;
/*plotnewpoint*/
glVertex2fv(p);
)
glEnd();
glFlush();/*clearbuffers*/
)
.2.3编写二维图形应用程序
voidmain(intargc,char**argv)
(
/*StandardGLUTinitialization*/
glut工nit(&argc,argv);
glutlnitbisplayMode(GLUT_SINGLE|GLUT_RGB);
/*default,notneeded*/
glut工nitWindowSize(500,500);/*500x500pixelwindow*/
glut工nitWindowPosition(0,0);/*placewindowtopleftondisplay*/
glutCreateWindow("SierpinskiGasket");/*windowtitle*/
glutbisplayFunc(display);/*displaycallbackinvokedwhenwindow
opened*/A
myinit();/*setattributes*/AA
glutMainLoopO;/*entereventloop*/陶A,
⑥3编写二维图形学的应用程序
第二章图形学编程
❖2.1OpenGL简介
❖2.2Siepinski镂垫
❖2.3编写二维图形应用程序
❖2.4OpenGLAPI
❖2.5图元和属性
❖2.6颜色
❖2.7观察
❖2.8控制函数
❖2.9Siepinski镂垫绘制程序
❖2.10多边形和递归
❖2.11三维Siepinski镂垫
❖2.12绘制隐函数曲线
❖2.13基于三角网格的等值线绘制
2.4OpenGLAPI
•AP工的分类
»定义图元
>改变机器内部的状态或者返回状态信息
2.4OpenGLAPI
•OpenGL接口
GLU
GLX
2.4OpenGLAPI
•图形函数:7类API
A图元函数
FunctioncallsOutput
/线段UserAGraphics-AInput/Output
program<system._________devices
/多边形DataInput
A属性函数
A视图函数(或观察函数)
A变换函数
A控制函数
A查询函数
»输入及窗口函数(GLUT)
第二章图形学编程
❖2.1OpenGL简介
❖2.2Siepinski镂垫
❖2.3编写二维图形应用程序
❖2.4OpenGLAPI
❖2.5图元和属性
❖2.6颜色
❖2.7观察
❖2.8控制函数
❖2.9Siepinski镂垫绘制程序
❖2.10多边形和递归
❖2.11三维Siepinski镂垫
❖2.12绘制隐函数曲线
❖2.13基于三角网格的等值线绘制
2.5图元和属性
•OpenGL支持两类图元
»几何图元:点、线段、多边形、曲线和曲面
»图像
GeometricPipeline
Transform►Clip►Project
OpenGL
Frame
applicationAPixeloperations
buffer
program
PixelPipeline
2.5图元和属性
•点和线段的类型
GLPOINTSGLLINESGL_LINE_STRIPGL_LINE_LOOP
2.5图元和属性
•多边形的基本概念
•多边形被正确显示:多边形是简单的、
凸的和平面的。
»二;二
3一二,
2.5图元和属性
•多边形的基本概念
2.5图元和属性
•OpenGL中多边形类型
p2P2P2P2
Pi.•.P3PiP3PiP3PiP3
Pot也PoP4PoP4PoP4
叩
P7*•5P7P5P7P5P7P5
P6P6P6P6
GLPOINTSGL_POLYGONGL_QUADSGLJRIANGLES
PiP3P5P7
PoP2P4P6
GL_TRIANGLE_$TRIPGL_QUAD_STRIP
2.5图元和属性
•利用多边形近似球面
x(0,①)二sin0cos①
y(6,①j二cos6cos①
z(0,①,二sin①
2.5图元和属性
•利用多边形近似球面
for(phi=-80;phi<=80;phi+=20)
{phir=c*(phi+20);
phir20=c*(phi+20);
glBegin(GL_QUAD_STRIP);
For(theta=-180.0;theta<=180;theta+=20)
{thetar=c*theta;
X=sin(thetar)*cos(phir);
Y=cos(thetar)*(phir);
Z=sin(phir);
glVertex3d(x,y,z);
X=sin(thetar)*cos(phir20);
Y=cos(thetar)*cos(phir20);
Z=sin(phir20);
gIVertex3d(x,y,z)}
glEnd;}
2.5图元和属性
•利用多边形近似球面(续)
glBegin(GL_TR工ANGLE_FAN);
gIVertex3d(0.0,0.0,1.0);
c=M_PI/180;
c80=c*80;
z=sin(c80);
For(theta=-180.0;theta<=180;theta+=20)
{thetar=c*theta;
X=sin(thetar)*cos(c80);
Y=cos(thetar)*cos(c80);
glVertex3d(x,y,z);
)
glEndQ;
2.5图元和属性
•利用多边形近似球面(续)
glBegin(GL_TRIANGLE_FAN);
gIVertex3d(0.0,0.0,-1.0);
z=-s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论