




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenGL的矩阵变换操作方法一、 借助OpenGL的矩阵堆栈,保存各个物体的矩阵变换火柴棍案例glMatrixMode(GL_PROJECTION);glMatrixMode(GL_MODELVIEW); 将当前变换矩阵设置为模型视图变换矩阵。glPushMatrix,glPopMatrix压入和弹出当前矩阵堆栈glGet(GL_MAX_MODELVIEW_STACK_DEPTH);glGet(GL_MAX_PROJECTION_STACK_DEPTH);来获取模型视图矩阵堆栈和投影矩阵堆栈的最大堆栈深度。一般情况下(在Windows平台上),模型视图的最大堆栈深度是32,而投影堆栈的最大深度是2。二、 自己保存各个物体的空间变换矩阵float M44; /其中Mj,i表示矩阵M的第j行,第i列的数据。float M16; /也可以创建一个一维数组无论是2维数组还是一维数组,都是按照列优先的顺序保存的。如图所示1. 读取矩阵堆栈glGetFloatv(GL_MODELVIEW_MATRIX, M);glGetFloatv(GL_PROJECTION_MATRIX, M);2. 设置矩阵堆栈,用于描画glLoadIdentity(); /加载4*4单位矩阵; glLoadMatrixfd(*m); /加载指定44矩阵m; glMultiMatrixfd(*m); /当前矩阵右乘*m;1. 几何变换:平移、缩放、旋转2. 齐次坐标:用n+1维向量表示n维向量,比如,(wx,wy,wz,w)表示(x,y,z)。 通常,令w=1,用来进行复合几何变换。3. 坐标变换:根据图形在一个坐标系下的坐标求其在另一坐标系下的坐标。4. 3D空间通过投影,可以在2D屏幕上显示。同时,在投影面上定义一个窗口。 只有窗口内的图形才显示。在屏幕上定义一个矩形视区,然后,从窗口到视区进行一一映射。5. 透视投影:空间任意一点的透视投影是投影中心与空间点构成的投影线和投影平面的交点。 平行投影:投影方向于投影面垂直,为正投影,否则为斜投影。6. 视变换:从世界坐标系变换到视坐标系。 由于视平面总是和XvYv面平行,所以,3D物体在视平面的投影和在输出设备上的显示是一致的。 三维物体的显示需要以下变换: 几何变换 - 视变换 - 投影变换 - 窗口到视区的变换7. 视景体:通过视平面上的窗口观察到的区域,经过平行于视平面的前后裁剪面的裁剪而得到的区域。 由于消隐很耗时,且消隐需要图形的深度信息,因此在投影之前进行裁剪比较合理。8. 视景体的规范化: A.平行投影规范化视景体,-1=x=1;-1=y=1;0=z=1; B.把透视视景体映射到沿与窗口垂直的矩形平行通道里; C.平移窗口中心到原点; D.缩放视景体的尺寸,使其满足A中的规范化。9. 视区变换:通常设置视区为窗口大小的矩形区域。 一般来说,视区变换之前已经完成了所有的几何变换和投影变换,且已经进行了裁剪。1. ModelView矩阵保存着视点变换和模型变换矩阵的累积乘积; glGetIntegerv(GL_MAX_MODELVIEW_STACK_DEPTH)可以得到矩阵堆栈中系统允许的最大矩阵数目; Projection矩阵包含了一个描述视景体的投影变换矩阵。投影矩阵很少复合,Projection矩阵堆栈只需要两层; glGetIntegerv(GL_MAX_PROJECTION_STACK_DEPTH)可以得到系统支持的投影矩阵堆栈的深度。2. glMatrixMode(GLenum mode);/设置当前矩阵的操作类型; GL_MODELVIEW(模型视图)/GL_PROJECTION(投影)/GL_TEXTURE(贴图);3. glLoadIdentity();/加载4*4单位矩阵; glLoadMatrixfd(*m);/加载指定44矩阵m; glMultiMatrixfd(*m);/当前矩阵右乘*m;4. glTranslatefd(x,y,z);/平移; glRotatefd(angle,x,y,z);/旋转; glScalefd(x,y,z);/缩放;5. glPushMatrix();/把当前矩阵压入矩阵堆栈; glPopMatrix();/从堆栈弹出矩阵(矩阵堆栈的顶为当前阵);6. gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez, GLdouble centerx,GLdouble centery,GLdouble centerz, GLdouble upx,GLdouble upy,GLdouble upz); 可以从任意一点观察场景效果; 其参数分别为:视点的位置,相机对准的参考点和向上的方向矢量。7. glFrustum(GLdouble left,GLdouble right, GLdouble botton,GLdouble top, GLdouble near,GLdouble far); 定义透视投影的视景体,参数分别指定左、右、上、下、前、后的位置。 gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar); 只能建立沿视线方向关于x,y轴都要对称的视景体。zNear,zFar为远近裁剪面沿Z负轴到视点的距离,总是正值。8. glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far); 定义一个正投影的视景体; 投影变换时(gluLookAt,glFrustum,gluPerspective,glOrtho,etc.),视点默认在原点。 由于世界坐标系Z轴向外,和视坐标系Z轴相对,故视景体默认在Z的负半轴,far/near指远近裁截面到视平面的离。9. glViewport(GLint x,GLint y,GLsizei w,GLsizei h);/在窗口中定义一个矩形区域,最终图像将映射到该区域中。 为了保持图形不发生变形,当窗口大小发生变化时要保持视区和视景体截面的宽高比一致。10. 进行几何、投影等矩阵变换时都会用到并影响到当前矩阵,故适当加载单位矩阵和压入弹出当前矩阵很重要。OpenGL中的变换 收藏 OpenGL图形软件包是为三维应用设计的,其中包含了大量的有关三维变换的操作,二维变换则可以看作是三维变换的特例。OpenGL中常用的变换包括模型视图变换、投影变换和视口变换。矩阵堆栈在计算机图形学中,所有的变换都是通过矩阵乘法来实现的,即将三维形体顶点构成的齐次坐标矩阵乘以三维变换矩阵就得到了变换后的形体顶点的齐次坐标矩阵,这样只要求出形体的三维变换矩阵,就可以得到变换后的形体。在OpenGL中,对象的坐标变换也是通过矩阵来实现的。OpenGL中包含了两个重要的矩阵:模型视图矩阵和投影矩阵,其中模型视图矩阵用于物体的模型视图变换,投影矩阵用于投影变换。 一般来说,在进行矩阵操作之前,需要指定当前操作的矩阵对象,这可以使用函数: glMatrixMode(GLenum mode);定义。其中当mode取GL_MODELVIEW时,表示对模型视图矩阵进行操作;当mode取GL_PROJECTION时表示对投影矩阵进行操作,并且一旦设置了当前操作矩阵,它就将保持为当前的矩阵对象,直到再次调用函数glMatrixMode修改它为止。默认情况下,系统处理的当前矩阵是模型视图矩阵。 OpenGL为模型视图矩阵和投影矩阵各维护着一个“矩阵堆栈”,其中堆栈的栈顶矩阵就是当前的模型视图矩阵或投影矩阵。在调用变换函数的时候,系统自动计算变换函数对应的变换矩阵与当前操作的矩阵堆栈栈顶矩阵的乘积,并置为栈顶矩阵,绘制图形时使用栈顶矩阵作为图形的变换矩阵。矩阵堆栈主要用来保存和恢复矩阵的状态。OpenGL中利用函数: void glPushMatrix(void); void glPopMatrix(void);实现矩阵堆栈的操作。其中函数glPushMatrix将当前矩阵堆栈的栈顶矩阵复制一个,并将其压入当前矩阵堆栈,以保存当前变换矩阵。函数glPopMatrix用于将当前矩阵堆栈的栈顶矩阵弹出,这样,堆栈中的下一个矩阵变为栈顶矩阵(当前变换矩阵),用来恢复当前变换矩阵原先的状态。模型视图变换 模型视图矩阵是一个44的矩阵,用于指定场景的视图变换和几何变换。在进行模型视图矩阵操作前,必须调用函数glMatrixMode(GL_MODELVIEW)指定变换只能影响模型视图矩阵。模型变换主要确定模型在坐标系中的位置,主要通过平移、旋转和放缩等几何变换改变模型的位置、尺寸和形状。模型变换的实现主要有以下两种方法。 1. 直接定义矩阵 OpenGL利用函数: void glLoadMatrixfd(const TYPE *m);将m所指定的矩阵置为当前矩阵堆栈的栈顶矩阵。其中,m是一个以列优先顺序保存的16个值组成的44矩阵的指针。此外,还可以使用函数: void glMultiMatrixfd(const TYPE *m);将模型视图矩阵与m指定矩阵的乘积置为当前的模型视图矩阵。其中参数m为一个以列优先顺序保存16个连续值的数组指针。 2. 利用高级矩阵函数 在OpenGL中,还可以通过一些高级矩阵函数将模型视图矩阵乘以指定的变换矩阵,并将结果矩阵设置成当前的模型视图矩阵。常用的高级矩阵函数包括平移 、旋转、和缩放矩阵函数。 (1)平移矩阵函数: void glTranslatedf(TYPE x,TYPE y,TYPE z);用当前矩阵乘以平移矩阵,参数x,y,z分别是沿三个轴的正向平移的平移矢量。 (2)旋转矩阵函数: void glRotatedf(TYPE angle,TYPE x,TYPE y,TYPE z );用当前矩阵乘以旋转矩阵。其中,参数angle表示绕方向矢量逆时针旋转的角度,参数x,y,z则指定旋转轴为由原点到(x,y,z)指定的方向矢量。 (3)缩放矩阵函数: void glScaledf(TYPE x,TYPE y,TYPE z);用当前矩阵乘以缩放矩阵,其中不为零的参数x,y,z分别表示三个坐标轴方向的比例因子。注意,当其中某个参数为负值时,可以表示对模型进行相应轴的对称变换。 在调用函数时,修改的是当前的模型视图矩阵。新的矩阵随后将成为当前的模型视图矩阵并影响此后绘制的图形。这样模型视图矩阵函数在调用时,就会有造成效果的积累。如果不需要这样的积累可以调用重置矩阵函数: void glLoadIdentity(void);该函数将单位矩阵置为当前变换矩阵。一般在指定当前操作矩阵对象后,都要调用重置矩阵函数,将以前变换的影响消除,避免出现意想不到的情况。 视图变换主要用于确定观察参考坐标系,即确定视点的位置和观察方向。默认情况下,观察坐标系与用户坐标系重合,此时视点位于原点,观察方向为用户坐标系z轴的负向。当然,也可以调用函数: void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);实现观察坐标系的定义。其中,P0(eyex,eyey,eyez)定义观察坐标系原点在用户坐标系下的坐标;Pref(centerx,centery,centerz)定义一个视线上的点,矢量P0Pref定义了观察坐标系的法矢量N;参数upx,upy,upz指定观察正向矢量V。系统利用矢量N和V计算出矢量U,构造观察坐标系。 这里需要说明的是,OpenGL采用的规范化齐次坐标矩阵是列向量的方式,使得进行基本几何变换的方式与前面介绍的内容稍有不同,在处理复合变换时,应该按照模型进行变换的逆顺序指定变换,即最先对模型实施的变换最后指定。投影变换 OpenGL中只提供了两种投影方式,一种是正投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,必须调用glMAtrixMode(GL_PROJECTION)指定当前处理的矩阵是投影变换矩阵。 1. 正投影 正投影,又叫正平行投影,它的有限观察空间是一个矩形的平行管道,也就是一个长方体,其特点是无论物体距离相机多远,投影后的物体大小尺寸不变。OpenGL中正投影函数共有两个。一个函数是: void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);这个函数的操作是创建一个正投影的有限观察空间。其中近裁剪平面是一个矩形,矩形左下角点三维空间坐标是(left,bottom,-near),右上角点是(right,top,-near);远裁剪平面也是一个矩形,左下角点空间坐标是(left,bottom,-far),右上角点是(right,top,-far)。所有的near和far值同时为正或同时为负。如果没有其他变换,正投影的方向平行于z轴,且视点朝向z负轴。这意味着物体在视点前面时far和near都为负值,物体在视点后面时far和near都为正值。 另一个函数是: void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top);它是一个特殊的正投影函数,主要用于二维图像到二维屏幕上的投影。它的near和far缺省值分别为-1.0和1.0,所有二维物体的z坐标都为0.0。因此它的裁剪面是一个左下角点为(left,bottom)、右上角点为(right,top)的矩形。 2. 透视投影 透视投影的特点是距离视点近的物体大,距离视点远的物体小,远到极点即为消失。它的观察空间是一个顶部和底部都被切除掉的棱椎,也就是棱台。OpenGL透视投影函数也有两个,其中一个函数是: void glFrustum(GLdouble left,GLdouble Right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);此函数创建一个透视投影的有限观察空间。它的参数只定义近裁剪平面的左下角点和右上角点的三维空间坐标,即(left,bottom,-near)和(right,top,-near);最后一个参数far是远裁剪平面的Z负值,其左下角点和右上角点空间坐标由函数根据透视投影原理自动生成。near和far表示离视点的远近,它们总为正值。 另一个函数是: void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);它也创建一个透视投影的有限观察空间,但它的参数定义于前面的不同,如图7-39所示,参数fovy定义视野在X-Z平面(垂直方向上的可见区域)的角度,范围是0.0, 180.0;参数aspect是投影平面的纵横比(宽度与高度的比值);参数zNear和Far分别是远近裁剪面沿Z负轴到视点的距离,它们总为正值。图7-56 透视投影的观察空间实例view plaincopy to clipboardprint?#include void Initial() glEnable(GL_DEPTH_TEST); / 启用深度测试 glClearColor(1.0f, 1.0f, 1.0f, 1.0f ); /背景为白色 void ChangeSize(int w, int h) if(h = 0) h = 1; glViewport(0, 0, w, h); / 设置视区尺寸 glMatrixMode(GL_PROJECTION); / 指定当前操作投影矩阵堆栈 glLoadIdentity(); / 重置投影矩阵 GLfloat fAspect; fAspect = (float)w/(float)h; / 计算视区的宽高比 gluPerspective(45.0, fAspect, 1.0, 500.0); / 指定透视投影的观察空间 glMatrixMode(GL_MODELVIEW); glLoadIdentity(); void Display(void) static float fElect1 = 0.0f; / 绕原子旋转的角度 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /清除颜色和深度缓冲区 glMatrixMode(GL_MODELVIEW); / 指定当前操作模型视图矩阵堆栈 glLoadIdentity(); / 重置模型视图矩阵 glTranslatef(0.0f, 0.0f, -250.0f); /将图形沿z轴负向移动 glColor3f(1.0f, 0.0f, 0.0f); glutSolidSphere(12.0f, 15, 15); / 绘制红色的原子 glColor3f(0.0f, 0.0f, 0.0f); glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); / 绕y轴旋转一定的角度 glTranslatef(90.0f, 0.0f, 0.0f); / 平移一段距离 glutSolidSphere(6.0f, 15, 15); / 画出第一个电子 glPopMatrix(); / 恢复模型视图矩阵 glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(45.0f, 0.0f, 0.0f, 1.0f); /绕z轴旋转45 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); glTranslatef(-70.0f, 0.0f, 0.0f); glutSolidSphere(6.0f, 15, 15); / 画出第二个电子 glPopMatrix(); / 恢复模型视图矩阵 glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(-45.0f,0.0f, 0.0f, 1.0f); /绕z轴旋转-45 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); glTranslatef(0.0f, 0.0f, 60.0f); glutSolidSphere(6.0f, 15, 15); / 画出第三个电子 glPopMatrix(); fElect1 += 10.0f; / 增加旋转步长,产生动画效果 if(fElect1 360.0f) fElect1 = 10.0f; glutSwapBuffers(); void TimerFunc(int value) glutPostRedisplay(); glutTimerFunc(100, TimerFunc, 1); int main(int argc, char* argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutCreateWindow(分子动画示例); glutReshapeFunc(ChangeSize); glutDisplayFunc(Display); glutTimerFunc(500, TimerFunc, 1); /指定定时器回调函数 Initial(); glutMainLoop(); return 0; #include void Initial() glEnable(GL_DEPTH_TEST); / 启用深度测试 glClearColor(1.0f, 1.0f, 1.0f, 1.0f ); /背景为白色void ChangeSize(int w, int h) if(h = 0) h = 1; glViewport(0, 0, w, h); / 设置视区尺寸 glMatrixMode(GL_PROJECTION); / 指定当前操作投影矩阵堆栈 glLoadIdentity(); / 重置投影矩阵 GLfloat fAspect; fAspect = (float)w/(float)h; / 计算视区的宽高比 gluPerspective(45.0, fAspect, 1.0, 500.0); / 指定透视投影的观察空间 glMatrixMode(GL_MODELVIEW); glLoadIdentity();void Display(void) static float fElect1 = 0.0f; / 绕原子旋转的角度 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /清除颜色和深度缓冲区 glMatrixMode(GL_MODELVIEW); / 指定当前操作模型视图矩阵堆栈 glLoadIdentity(); / 重置模型视图矩阵 glTranslatef(0.0f, 0.0f, -250.0f); /将图形沿z轴负向移动 glColor3f(1.0f, 0.0f, 0.0f); glutSolidSphere(12.0f, 15, 15); / 绘制红色的原子 glColor3f(0.0f, 0.0f, 0.0f); glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); / 绕y轴旋转一定的角度 glTranslatef(90.0f, 0.0f, 0.0f); / 平移一段距离 glutSolidSphere(6.0f, 15, 15); / 画出第一个电子 glPopMatrix(); / 恢复模型视图矩阵 glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(45.0f, 0.0f, 0.0f, 1.0f); /绕z轴旋转45 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); glTranslatef(-70.0f, 0.0f, 0.0f); glutSolidSphere(6.0f, 15, 15); / 画出第二个电子 glPopMatrix(); / 恢复模型视图矩阵 glPushMatrix(); / 保存当前的模型视图矩阵 glRotatef(-45.0f,0.0f, 0.0f, 1.0f); /绕z轴旋转-45 glRotatef(fElect1, 0.0f, 1.0f, 0.0f); glTranslatef(0.0f, 0.0f, 60.0f); glutSolidSphere(6.0f, 15, 15); / 画出第三个电子 glPopMatrix(); fElect1 += 10.0f; / 增加旋转步长,产生动画效果 if(fElect1 360.0f) fElect1 = 10.0f; glutSwapBuffers();void TimerFunc(int value) glutPostRedisplay(); glutTimerFunc(100, TimerFunc, 1);int main(int argc, char* argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutCreateWindow(分子动画示例); glutReshapeFunc(ChangeSize); glutDisplayFunc(Display); glutTimerFunc(500, TimerFunc, 1); /指定定时器回调函数 Initial(); glutMainLoop(); return 0; 一:GL库函数使用颜色glshadeModel-选择平面明暗模式或光滑明暗模式glColor-设置当前颜色glColorPointer-定义颜色数组gllndex-设置当前颜色索引gllndexPointer-定义颜色索引数组glCOforTableEXT-为目标调色板纹理指定调色板的格式和大小glColorsubTableEXT-指定需要替代的目标纹理调色板的一部分绘制几何图原及物体glVertex-指定顶点glVertexPointer-定义顶点数据数组glArrayElement-指定用来绘制顶点的数组元素glBegin,glEnd-限定一个或多个图原顶点的绘制glEdgeFlag,glEdgeFlagy-指定边界标记glPointsize-指定光栅化点的直径glLinewidth-指定光栅化直线的宽度glLinestipple-指定点划线glPolygonMode-选择多边形光栅化模式glFrontFace-定义正面多边形和反反面多边形glPolygonstipple-设置多边形点划图glDrawElements-从数组数据绘制图原glRect-绘制矩形坐标转换glTranslate-用平移矩阵乘以当前矩阵glRotate-用旋转矩阵乘以当前矩阵glscale-用缩放矩阵乘以当前矩阵glViewport-设置机口glFrustum-用透视矩阵乘以当前矩阵glorthO-用正视矩阵乘以当前矩阵glClipPlane-指定切割几何物体的平面堆栈操作glLoadMatrix-用任意矩阵替换当前矩阵glMultMatrix-用任意矩阵乘以当前矩阵glMatrixMode-指定哪一个矩阵是当前矩阵glPushMatrix,glPopMatrix-压人和弹出当前矩阵堆栈glPushAttrib,glPopAttrib-压人和弹出属性堆栈glPushClientAttrib,glPopClientAttrib-在客户属性堆栈中保存和恢复客户状态变量组glPushName,gPopName-压人和弹出名称堆栈gllnitNames-初始名称堆栈glLoadName-向名称堆栈中装载名称显示列表glNewList,glEndList-创建或替换一个显示列表glCallLISt-执行一个显示列表glCallLISts-执行一列显示列表glGenLists-生成一组空的相邻的显示列表glDeleteLists-删除一组相邻的显示列表gllSLISt-检验显示列表的存在使用光照和材质glNormal-设置当前的法向量glNormalPointer-定义法向量数组glLight-设置光源参数glLightModel-设置光照模型参数glMaterial-为光照模型指定材质参数glColorMateria-使材质颜色跟踪当前颜色像素操作glRasterPos-为像素操作指定光栅位置glBitmap-绘制位图glReadPixels-从帧缓存中读取一块像素glDrawPixels-将一个像素块写人帧缓存glCopyPixels-在帧缓存中拷贝像素glCopyTexlmage1D-将像素从帧缓存拷贝到一维纹理图像中glCopyTexlmageZD-把像素从帧缓存拷贝到二维纹理图像中glCopyTexsublmagelD-从帧缓存中拷贝一维纹理图像的子图像glCopyTexsublmageZD-从帧缓存中拷贝二维纹理图像的子图像glPixelZoom-指定像素缩放因子glPixelstore-设置像素存储模式glPixelTransfer-设置像素传输模式glPixelMap-设置像素传输映射表纹理映射glTexlmagelD-指定一维纹
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保定幼儿师范高等专科学校《烹饪化学》2023-2024学年第二学期期末试卷
- 四川电影电视学院《给水排水工程建设招投标与合同管理》2023-2024学年第二学期期末试卷
- 江苏师范大学《‘心肺复苏-灾难现场救护’初级课程》2023-2024学年第二学期期末试卷
- 周口理工职业学院《Java程序设计》2023-2024学年第二学期期末试卷
- 深圳职业技术大学《中医养生文化与健康传播》2023-2024学年第二学期期末试卷
- 家长会安全教育课件
- 财务管理债务投资实务体系
- 幼儿园防走丢安全教育指南
- 新马高级中学高中历史一导学案第课两极世界的形成
- 2025年内蒙古环保投资集团环境监测检验有限公司招聘笔试参考题库含答案解析
- 思政课社会实践报告1500字6篇
- 常暗之厢(7规则-简体修正)
- GB∕T 25119-2021 轨道交通 机车车辆电子装置
- 电池PCBA规格书
- 机械零件加工验收检验记录(共2页)
- 机械加工切削全参数推荐表
- 终端塔基础预偏值(抬高值)计算表格
- 海外医疗服务委托合同协议书范本模板
- (完整版)研究者手册模板
- 菲林检验及管理办法
- 磁芯参数对照表
评论
0/150
提交评论