当前位置:文档之家› Qt+OpenGL教程

Qt+OpenGL教程

Qt+OpenGL教程
Qt+OpenGL教程

Qt OpenGL教程

最近一段时间除了学习Qt,翻译Qt文档之外,由于工作和兴趣的原因,开始着手看Qt OpenGL编程。在网上搜索了有关OpenGL的教程,发现NeHe的OpenGL 教程的还很不错,作者是NeHe。上面有很多种语言的实现,但是没有Qt和Gtk 的,所以我就想着手写这个Qt OpenGL教程,每课的内容和NeHe是一样的。另外,介绍NeHe的一个中文翻译站点CSDN-CKer翻译的NeHe的OpenGL教程,翻译人是CKer,在我学习这个教程的过程中,给了我很大的帮助。

下面就是Qt OpenGL教程的内容:

Qt OpenGL的准备工作

第一课:创建一个OpenGL窗口

第二课:你的第一个多边形

第三课:上色

第四课:旋转

第五课:向三维进军

第六课:纹理映射

第七课:纹理滤波、光源和键盘控制

第八课:融合

第九课:在三维空间中移动位图

第十课:载入一个三维世界并在其中移动

第十一课:旗的效果(波动纹理)

第十二课:显示列表

第十三课:位图字体

第十四课:轮廓字体

第十五课:使用纹理映射的轮廓字体

第十六课:看起来很棒的雾

因为本教程是从NeHe的OpenGL教程迁移过来的,代码变为Qt实现的。所以有的课程一时还没有实现成功,所以可能有些教程是跳跃的。

因本人时间有限,所以难免有错误出现,如果您发现了这些错误,或者有什么建议,请来信指教,谢谢。

Qt OpenGL的准备工作

因为Qt存在很多版本,另外它支持的平台也很多,到目前为止我只实验了几个组合,所以就先把这些列出来吧,欢迎大家补充。

Unix/X11

Linux

Qt:自由版或者企业版都支持OpenGL模块,而专业版则不能。我现在使用的是3.1.0自由版和企业版。

gcc:编译器。我现在使用的是3.2。

X:Linux下的图形环境。我现在使用的是4.2.0。

Mesa:自由的OpenGL。我现在使用的是5.0。

Windows

Qt:企业版支持OpenGL模块,而专业版则不能。我现在使用的是3.1.0企业版。

Microsoft Visual Studio:编译器。我现在使用的是6.0。

创建一个OpenGL窗口

我假设您对Qt编程已经有了一定的了解,如果您还没有熟悉Qt编程,建议您先学习一下Qt编程的基础知识。

Qt中已经包含了OpenGL模块,具体情况您可以参考Qt OpenGL模块的相关内容。

NeHeWidget类

这就是我们继承QGLWidget类得到的OpenGL窗口部件类。

(由nehewidget.h展开。)

#include

class NeHeWidget : public QGLWidget

{

Q_OBJECT

因为QGLWidget类被包含在qgl.h头文件中,所以我们的类就需要包含这个头文件。Q_OBJECT是Qt中的一个专用的宏,具体说明请参见Qt的文档。

public:

NeHeWidget( QWidget* parent = 0, const char* name = 0, bool fs = false ); ~NeHeWidget();

protected:

void initializeGL();

void paintGL();

void resizeGL( int width, int height );

因为QGLWidget类已经内置了对OpenGL的处理,就是通过对initializeGL()、paintGL()和resizeGL()这个三个函数实现的,具体情况可以参考QGLWidget类的文档。

因为我们的这个Qt OpenGL教程取材于NeHe OpenGL教程,所以这里就用这个NeHeWidget类来继承QGLWidget类来使用相关OpenGL的功能。

initializeGL()是用来初始化这个OpenGL窗口部件的,可以在里面设定一些有关选项。paintGL()就是用来绘制OpenGL的窗口了,只要有更新发生,这个函数就会被调用。resizeGL()就是用来处理窗口大小变化这一事件的,width和height就是新的大小状态下的宽和高了,另外resizeGL()在处理完后会自动刷新屏幕。

void keyPressEvent( QKeyEvent *e );

这是Qt里面的鼠标按下事件处理函数。

protected:

bool fullscreen;

用来保存窗口是否处于全屏状态的变量。

};

(由nehewidget.cpp展开。)

#include "nehewidget.h"

NeHeWidget::NeHeWidget( QWidget* parent, const char* name, bool fs ) : QGLWidget( parent, name )

{

fullscreen = fs;

保存窗口是否为全屏的状态。

setGeometry( 0, 0, 640, 480 );

设置窗口的位置,即左上角为(0,0)点,大小为640*480。

setCaption( "NeHe's OpenGL Framework" );

设置窗口的标题为“NeHe's OpenGL Framework”。

if ( fullscreen )

showFullScreen();

如果fullscreen为真,那么就全屏显示这个窗口。

}

这个是构造函数,parent就是父窗口部件的指针,name就是这个窗口部件的名称,fs就是窗口是否最大化。

NeHeWidget::~NeHeWidget()

{

}

这个是析构函数。

void NeHeWidget::initializeGL()

{

glShadeModel( GL_SMOOTH );

这一行启用smooth shading(阴影平滑)。阴影平滑通过多边形精细的混合色彩,并对外部光进行平滑。我将在另一个教程中更详细的解释阴影平滑。

glClearColor( 0.0, 0.0, 0.0, 0.0 );

这一行设置清除屏幕时所用的颜色。如果您对色彩的工作原理不清楚的话,我快速解释一下。色彩值的范围从0.0到1.0。0.0代表最黑的情况,1.0就是最亮的情况。glClearColor后的第一个参数是红色,第二个是绿色,第三个是蓝色。最大值也是1.0,代表特定颜色分量的最亮情况。最后一个参数是Alpha值。当它用来清除屏幕的时候,我们不用关心第四个数字。现在让它为0.0。我会用另一个教程来解释这个参数。

通过混合三种原色(红、绿、蓝),您可以得到不同的色彩。希望您在学校里学过这些。因此,当您使用glClearColor(0.0, 0.0, 1.0, 0.0 ),您将用亮蓝色来清除屏幕。如果您用glClearColor(0.5, 0.0, 0.0, 0.0 )的话,您将使用中红色来清除屏幕。不是最亮(1.0),也不是最暗(0.0)。要得到白色背景,您应该将所有的颜色设成最亮(1.0)。要黑色背景的话,您该将所有的颜色设为最暗(0.0)。

glClearDepth( 1.0 );

设置深度缓存。

glEnable( GL_DEPTH_TEST );

启用深度测试。

glDepthFunc( GL_LEQUAL );

所作深度测试的类型。

上面这三行必须做的是关于depth buffer(深度缓存)的。将深度缓存设想为屏幕后面的层。深度缓存不断的对物体进入屏幕内部有多深进行跟踪。我们本节的程序其实没有真正使用深度缓存,但几乎所有在屏幕上显示3D场景OpenGL程序都使用深度缓存。它的排序决定那个物体先画。这样您就不会将一个圆形后面的正方形画到圆形上来。深度缓存是OpenGL十分重要的部分。

glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );

真正精细的透视修正。这一行告诉OpenGL我们希望进行最好的透视修正。这会十分轻微的影响性能。但使得透视图看起来好一点。

}

这个函数中,我们对OpenGL进行所有的设置。我们设置清除屏幕所用的颜色,打开深度缓存,启用smooth shading(阴影平滑),等等。这个例程直到OpenGL 窗口创建之后才会被调用。

void NeHeWidget::paintGL()

{

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

清楚屏幕和深度缓存。

glLoadIdentity();

重置当前的模型观察矩阵。

}

这个函数中包括了所有的绘图代码。任何您所想在屏幕上显示的东东都将在此段代码中出现。以后的每个教程中我都会在例程的此处增加新的代码。如果您对OpenGL已经有所了解的话,您可以在glLoadIdentity()调用之后,函数返回之前,试着添加一些OpenGL代码来创建基本的形。如果您是OpenGL新手,等着我的下个教程。目前我们所作的全部就是将屏幕清除成我们前面所决定的颜色,清除深度缓存并且重置场景。我们仍没有绘制任何东东。

void NeHeWidget::resizeGL( int width, int height )

{

if ( height == 0 )

{

height = 1;

}

防止height为0。

glViewport( 0, 0, (GLint)width, (GLint)height );

重置当前的视口(Viewport)。

glMatrixMode( GL_PROJECTION );

选择投影矩阵。

glLoadIdentity();

重置投影矩阵。

gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1, 100.0 );

建立透视投影矩阵。

glMatrixMode( GL_MODELVIEW );

选择模型观察矩阵。

glLoadIdentity();

重置模型观察矩阵。

}

上面几行为透视图设置屏幕。意味着越远的东西看起来越小。这么做创建了一个现实外观的场景。此处透视按照基于窗口宽度和高度的45度视角来计算。0.1,100.0是我们在场景中所能绘制深度的起点和终点。

glMatrixMode(GL_PROJECTION)指明接下来的两行代码将影响projection matrix (投影矩阵)。投影矩阵负责为我们的场景增加透视。glLoadIdentity()近似于重置。它将所选的矩阵状态恢复成其原始状态。调用glLoadIdentity()之后我们为场景设置透视图。

glMatrixMode(GL_MODELVIEW)指明任何新的变换将会影响modelview matrix (模型观察矩阵)。模型观察矩阵中存放了我们的物体讯息。最后我们重置模型观察矩阵。如果您还不能理解这些术语的含义,请别着急。在以后的教程里,我会向大家解释。只要知道如果您想获得一个精彩的透视场景的话,必须这么做。

这个函数的作用是重新设置OpenGL场景的大小,而不管窗口的大小是否已经改变(假定您没有使用全屏模式)。甚至您无法改变窗口的大小时(例如您在全屏模式下),它至少仍将运行一次——在程序开始时设置我们的透视图。OpenGL 场景的尺寸将被设置成它显示时所在窗口的大小。

void NeHeWidget::keyPressEvent( QKeyEvent *e )

{

switch ( e->key() )

{

case Qt::Key_F2:

fullscreen = !fullscreen;

if ( fullscreen )

{

showFullScreen();

}

else

{

showNormal();

setGeometry( 0, 0, 640, 480 );

}

updateGL();

break;

如果按下了F2键,那么屏幕是否全屏的状态就切换一次。然后再根据需要,显示所要的全屏窗口或者普通窗口。

case Qt::Key_Escape:

close();

}

如果按下了Escape键,程序退出。

}

main.cpp

(由main.cpp展开。)

#include

#include

Qt的应用程序都是一个QApplication类,所以qapplication.h必须要包含。因为我们在进入OpenGL窗口之前让用户选择是否使用全屏窗口,所以使用了QMessageBox类,所以qmessagebox.h也要包含。

#include "nehewidget.h"

int main( int argc, char **argv )

{

bool fs = false;

我们把这个布尔型变量的初始值设置为false。

QApplication a(argc,argv);

每一个Qt应用程序都使用QApplication类。

switch( QMessageBox::information( 0,

"Start FullScreen?",

"Would You Like To Run In Fullscreen Mode?",

QMessageBox::Yes,

QMessageBox::No | QMessageBox::Default ) )

{

case QMessageBox::Yes:

fs = true;

break;

case QMessageBox::No:

fs = false;

break;

}

这里弹出一个消息对话框,让用户选择是否使用全屏模式。 NeHeWidget w( 0, 0, fs );

创建一个NeHeWidget对象。

a.setMainWidget( &w );

设置应用程序的主窗口部件为w。

w.show();

显示w。

return a.exec();

程序返回。

}

本课程的源代码。

你的第一个多边形

上一课中,我教您如何创建一个OpenGL窗口。这一课中,我将教您如何创建三角形和四边形。我们讲使用GL_TRIANGLES来创建一个三角形,GL_QUADS 来创建一个四边形。

我们只要修改第一课中的NeHeWidget类中的paintGL()函数就可以了。NeHeWidget类

(由nehewidget.cpp展开。)

void NeHeWidget::paintGL()

{

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

清除屏幕和深度缓存。

GlLoadIdentity ();

重置当前的模型观察矩阵。

当您调用glLoadIdentity()之后,您实际上将当前点移到了屏幕中心,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。OpenGL屏幕中心的坐标值是X和Y轴上的0.0点。中心左面的坐标值是负值,右面是正值。移向屏幕顶端是正值,移向屏幕底端是负值。移入屏幕深处是负值,移出屏幕则是正值。

glTranslatef( -1.5, 0.0, -6.0 );

glTranslatef(x, y, z)沿着X, Y 和Z 轴移动。根据前面的次序,下面的代码沿着X轴左移1.5个单位,Y轴不动(0.0),最后移入屏幕6.0个单位。注意在glTranslatef(x, y, z)中当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。

现在我们已经移到了屏幕的左半部分,并且将视图推入屏幕背后足够的距离以便我们可以看见全部的场景-创建三角形。

glBegin( GL_TRIANGLES );

开始绘制三角形。

glBegin(GL_TRIANGLES)的意思是开始绘制三角形,glEnd() 告诉OpenGL三角形已经创建好了。通常您会需要画3个顶点,可以使用GL_TRIANGLES。在绝大多数的显卡上,绘制三角形是相当快速的。如果要画四个顶点,使用

GL_QUADS的话会更方便。但据我所知,绝大多数的显卡都使用三角形来为对象着色。最后,如果您想要画更多的顶点时,可以使用GL_POLYGON。

本节的简单示例中,我们只画一个三角形。如果要画第二个三角形的话,可以在这三点之后,再加三行代码(3点)。所有六点代码都应包含在

glBegin(GL_TRIANGLES)和glEnd()之间。在他们之间再不会有多余的点出现,也就是说,(GL_TRIANGLES)和glEnd()之间的点都是以三点为一个集合的。这同样适用于四边形。如果您知道实在绘制四边形的话,您必须在第一个四点之后,再加上四点为一个集合的点组。另一方面,多边形可以由任意个顶点,

(GL_POLYGON)不在乎glBegin(GL_TRIANGLES)和glEnd()之间有多少行代码。

glVertex3f( 0.0, 1.0, 0.0 );

上顶点。

glBegin之后的第一行设置了多边形的第一个顶点,glVertex 的第一个参数是X 坐标,然后依次是Y坐标和Z坐标。第一个点是上顶点,然后是左下顶点和右下顶点。glEnd()告诉OpenGL没有其他点了。这样将显示一个填充的三角形。

CKer注:这里要注意的是存在两种不同的坐标变换方式,glTranslatef(x, y, z)中的x, y, z是相对与您当前所在点的位移,但glVertex(x,y,z)是相对于glTranslatef(x,

y, z)移动后的新原点的位移。因而这里可以认为glTranslate移动的是坐标原点,glVertex中的点是相对最新的坐标原点的坐标值。

glVertex3f( -1.0, -1.0, 0.0 );

左下顶点。

glVertex3f( 1.0, -1.0, 0.0 );

右下顶点。

glEnd();

三角形绘制结束。

glTranslatef( 3.0, 0.0, 0.0 );

在屏幕的左半部分画完三角形后,我们要移到右半部分来画正方形。为此要再次使用glTranslate。这次右移,所以X坐标值为正值。因为前面左移了1.5个单位,这次要先向右移回屏幕中心(1.5个单位),再向右移动1.5个单位。总共要向右移3.0个单位。

glBegin( GL_QUADS );

开始绘制四边形。

glVertex3f( -1.0, 1.0, 0.0 );

左上顶点。

glVertex3f( 1.0, 1.0, 0.0 );

右上顶点。

glVertex3f( 1.0, -1.0, 0.0 );

右下顶点。

glVertex3f( -1.0, -1.0, 0.0 );

左下顶点。

glEnd();

四边形绘制结束。

}

本课程的源代码。

上色

上一课中我教给您三角形和四边形的绘制方法。这一课我将教您给三角形和四边形添加两种不同类型的着色方法。使用单调着色(Flat coloring)给四边形涂上固定的一种颜色。使用平滑着色(Smooth coloring)将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色彩混合。

我们只要修改第二课中的NeHeWidget类中的paintGL()函数就可以了。NeHeWidget类

(由nehewidget.cpp展开。)

void NeHeWidget::paintGL()

{

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

glLoadIdentity();

glTranslatef( -1.5, 0.0, -6.0 );

glBegin( GL_TRIANGLES );

glColor3f( 1.0, 0.0, 0.0 );

红色。

如果您还记得上节课的内容,这段代码在屏幕的左半部分绘制三角形。这一行代码是我们第一次使用命令glColor3f( r, g, b )。括号中的三个参数依次是红、绿、蓝三色分量。取值范围可以从0.0到1.0。类似于以前所讲的清除屏幕背景命令。

我们将颜色设为红色(纯红色,无绿色,无蓝色)。

glVertex3f( 0.0, 1.0, 0.0 );

上顶点。

接下来的一行代码设置三角形的第一个顶点(三角形的上顶点),并使用当前颜色(红色)来绘制。从现在开始所有的绘制的对象的颜色都是红色,直到我们将红色改变成别的什么颜色。

glColor3f( 0.0, 1.0, 0.0 );

绿色。

glVertex3f( -1.0, -1.0, 0.0 );

左下顶点。

glColor3f( 0.0, 0.0, 1.0 );

蓝色。

glVertex3f( 1.0, -1.0, 0.0 );

右下顶点。

glEnd();

glEnd()出现后,三角形将被填充。但是因为每个顶点有不同的颜色,因此看起来颜色从每个角喷出,并刚好在三角形的中心汇合,三种颜色相互混合。这就是平滑着色。

glTranslatef( 3.0, 0.0, 0.0 );

glColor3f( 0.5, 0.5, 1.0 );

一次性将颜色设置为蓝色。

现在我们绘制一个单调着色——蓝色的正方形。最重要的是要记住,设置当前色之后绘制的所有东东都是当前色的。以后您所创建的每个工程都要使用颜色。即便是在完全采用纹理贴图的时候,glColor3f仍旧可以用来调节纹理的色调。等等...,以后再说吧。

我们必须要做的事只需将颜色一次性的设为我们想采用的颜色(本例采用蓝色),然后绘制场景。每个顶点都是蓝色的,因为我们没有告诉OpenGL要改变顶点的颜色。最后的结果是.....全蓝色的正方形。再说一遍,顺时针绘制的正方形意味着我们所看见的是四边形的背面。

glBegin( GL_QUADS );

glVertex3f( -1.0, 1.0, 0.0 );

glVertex3f( 1.0, 1.0, 0.0 );

glVertex3f( 1.0, -1.0, 0.0 );

glVertex3f( -1.0, -1.0, 0.0 );

glEnd();

}

在这一课中,我试着尽量详细的解释如何为您的OpenGL多边形添加单调和平滑的着色效果的步骤。改改代码中的红绿蓝分量值,看看最后有什么样的结果。

本课程的源代码。

旋转

上一课中我教给您三角形和四边形的着色。这一课我将教您如何将这些彩色对象绕着坐标轴旋转。

其实只需在上节课的代码上增加几行就可以了。

我们将在NeHeWidget类中增加两个变量来控制这两个对象的旋转。它们是浮点类型的变量,使得我们能够非常精确地旋转对象。浮点数包含小数位置,这意味着我们无需使用1、2、3...的角度。你会发现浮点数是OpenGL编程的基础。新变量中叫做rTri的用来旋转三角形,rQuad 旋转四边形。

NeHeWidget类

(由nehewidget.h展开。)

protected:

bool fullscreen;

GLfloat rTri;

GLfloat rQuad;

};

上面就是添加的两个变量。rTri是用于三角形的角度,rQuad是用于四边形的角度。

(由nehewidget.cpp展开。)

NeHeWidget::NeHeWidget( QWidget* parent, const char* name, bool fs ) : QGLWidget( parent, name )

{

rTri = 0.0;

rQuad = 0.0;

fullscreen = fs;

setGeometry( 0, 0, 640, 480 );

setCaption( "NeHe's Rotation Tutorial" );

if ( fullscreen )

showFullScreen();

}

我们需要在构造函数中给rTri和rQuad赋初值,都是0.0。

void NeHeWidget::paintGL()

{

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

glLoadIdentity();

glTranslatef( -1.5, 0.0, -6.0 );

glRotatef( rTri, 0.0, 1.0, 0.0 );

glRotatef( Angle, Xvector, Yvector, Zvector )负责让对象绕某个轴旋转。这个函数有很多用处。Angle 通常是个变量代表对象转过的角度。Xvector,Yvector和Zvector三个参数则共同决定旋转轴的方向。比如( 1, 0, 0 )所描述的矢量经过X 坐标轴的1个单位处并且方向向右。( -1, 0, 0 )所描述的矢量经过X坐标轴的1

个单位处,但方向向左。

D. Michael Traub:提供了对Xvector , Yvector 和Zvector 的上述解释。

为了更好的理解X, Y 和Z的旋转,我举些例子...

X轴-您正在使用一台台锯。锯片中心的轴从左至右摆放(就像OpenGL中的X 轴)。尖利的锯齿绕着X轴狂转,看起来要么向上转,要么向下转。取决于锯片开始转时的方向。这与我们在OpenGL中绕着X轴旋转什么的情形是一样的。(CKer注:这会儿您要把脸蛋凑向显示器的话,保准被锯开了花^-^。)

Y轴-假设您正处于一个巨大的龙卷风中心,龙卷风的中心从地面指向天空(就像OpenGL中的Y轴)。垃圾和碎片围着Y轴从左向右或是从右向左狂转不止。这与我们在OpenGL中绕着Y轴旋转什么的情形是一样的。

Z轴-您从正前方看着一台风扇。风扇的中心正好朝着您(就像OpenGL中的Z 轴)。风扇的叶片绕着Z轴顺时针或逆时针狂转。这与我们在OpenGL中绕着Z 轴旋转什么的情形是一样的。

上面的一行代码中,如果rtri等于7,我们将三角形绕着Y轴从左向右旋转7 。您也可以改变参数的值,让三角形绕着X和Y轴同时旋转。

glBegin( GL_TRIANGLES );

glColor3f( 1.0, 0.0, 0.0 );

glVertex3f( 0.0, 1.0, 0.0 );

glColor3f( 0.0, 1.0, 0.0 );

glVertex3f( -1.0, -1.0, 0.0 );

glColor3f( 0.0, 0.0, 1.0 );

glVertex3f( 1.0, -1.0, 0.0 );

glEnd();

上面的绘制三角形的代码没有改变。在屏幕的左面画了一个彩色渐变三角形,并绕着Y轴从左向右旋转。

glLoadIdentity();

我们增加了另一个glLoadIdentity()调用。目的是为了重置模型观察矩阵。如果我们没有重置,直接调用glTranslate的话,会出现意料之外的结果。因为坐标轴已经旋转了,很可能没有朝着您所希望的方向。所以我们本来想要左右移动对象的,就可能变成上下移动了,取决于您将坐标轴旋转了多少角度。试试将glLoadIdentity() 注释掉之后,会出现什么结果。

重置模型观察矩阵之后,X、Y、Z轴都以复位,我们调用glTranslate。您会注意到这次我们只向右移了1.5单位,而不是上节课的3.0单位。因为我们重置场景的时候,焦点又回到了场景的中心(0.0)处。这样就只需向右移1.5单位就够了。当我们移到新位置后,绕X轴旋转四边形。正方形将上下转动。

glTranslatef( 1.5, 0.0, -6.0 );

glRotatef( rQuad, 1.0, 0.0, 0.0 );

绕X轴旋转四边形。

glColor3f( 0.5, 0.5, 1.0 );

glBegin( GL_QUADS );

glVertex3f( -1.0, 1.0, 0.0 );

glVertex3f( 1.0, 1.0, 0.0 );

glVertex3f( 1.0, -1.0, 0.0 );

glVertex3f( -1.0, -1.0, 0.0 );

glEnd();

rTri += 0.2;

rQuad -= 0.15;

我们在构造函数中已经将rTri和rQuad的值设为0.0,在这里我们每绘制完一次图像,就修改一下这两个变量。两个变量的变化会使对象的旋转角度发生变化。

尝试改变下面代码中的+和-,来体会对象旋转的方向是如何改变的。并试着将0.2改成1.0。这个数字越大,物体就转的越快,这个数字越小,物体转的就越慢。

}

在这一课中,我试着尽量详细的解释如何让对象绕某个轴转动。改改代码,试着让对象绕着Z轴、X+Y轴或者所有三个轴来转动:)。

本课程的源代码。

向三维进军

[平压印刷机]课程设计说明书完整版

目录 第一章设计任务书。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。2 第二章机构系统方案的拟定。。。。。。。。。。。。。。。。。。。。。3 第三章传动机构的选择与比较。。。。。。。。。。。。。。。。。。。11 第四章执行机构的选择与比较。。。。。。。。。。。。。。。。。。。12 第五章机构运动总体方案。。。。。。。。。。。。。。。。。。。。。。。13 第六章所设计的机构尺寸计算。。。。。。。。。。。。。。。。。。。15 第七章执行机构动作分解图。。。。。。。。。。。。。。。。。。。。。18 第八章主方案动力传递分析。。。。。。。。。。。。。。。。。。。。。19 第九章工作循环图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。21 第十章自编的主程序和子程序。。。。。。。。。。。。。。。。。。。22 第十一章计算机画出的主要曲线图。。。。。。。。。。。。。。。。。28第十二章课程设计小结。。。。。。。。。。。。。。。。。。。。。。。。。。。30

第一章设计任务书 1设计题目 平压印刷机运动方案和主要机构设计。 2 工作原理及工艺动作过程 平压印刷机是一种简易印刷机,适用于印刷八开以下的印刷品。它的工作原理:将油墨刷在固定的平面铅字版上,然后将装了白纸的平面印头紧密接触而完成一次印刷。其工作过程犹如盖图章,平压印刷机中的“图章”是不动的,纸张贴近时完成印刷。 平压印刷机需要实现三个动作:装有白纸的平面印头往复摆动,油辊在固定铅字版上上下滚动,油盘转动使油辊上油墨均匀。 3 原始数据及设计要求 1)实现印头、油辊、油盘运动的机构由一个电动机带动,通过传动系统使其具1600-1800次/h印刷能力。 2)电动机功率N=0.75kW、转速n电=910r/min,电动机可放在机架的左侧或底部。 3)印头摆角为700,印头返回行程和工作行程的平均速度之比K=1.118。 4)油辊摆动自垂直位置运动到铅字版下端的摆角为1100。 5)油盘直径为400mm,油辊起始位置就在油盘边缘。 6)要求机构的传动性能良好,结构紧凑,易于制造。 7) 4 设计任务 a)确定总功能,并进行功能分解。 b)根据工艺动作要求拟定运动循环图。 c)进行印头、油辊、油盘机构及其相互连接传动的选型。 d)按选定的电动机及执行机构运动参数拟订机械传动方案。 e)画出机械运动方案简图。(A) f)对执行机构进行尺寸综合。 g)*对往复摆动执行机构进行运动分析,绘制从动件位移、速度、加速度线图。 (A) h)编写设计说明书。

课程设计说明书模板

机械制造学课程设计说明书 题目名称 专业班级 学生姓名 学号 指导教师 机械与电子工程系 二○一四年月日

目录 一、任务书--------------- -------3 二、指导教师评阅表----------------------4 三、序言-------------------------------------------------------------------------------------------3 四、零件的分析-----------------------------------------------------------------------------------3 五、工艺规程的设计------------------------------------------------------------------------------4 (1). 确定毛坯的制造形式---------------------------------------------------------------4 (2). 基面的选择---------------------------------------------------------------------------4 (3). 制订工艺路线------------------------------------------------------------------------4 (4). 机械加工余量、工序尺寸及毛坯尺寸的确------------------------------------5 (5). 确定切削用量及基本工时---------------------------------------------------------6 六、设计心得与小结-----------------------------------------------------------------------------11 七参考文献-------------------------------------------------------------------------------------1 1

网店美工视觉设计实战教程(全彩微课版)-48481-教学大纲

《网店美工视觉设计实战教程(全彩微课版)》 教学大纲 一、课程信息 课程名称:网店美工:店铺装修+图片美化+页面设计+运营推广(全彩微课版) 课程类别:素质选修课/专业基础课 课程性质:选修/必修 计划学时:21 计划学分:2 先修课程:无 选用教材:《网店美工视觉设计实战教程(全彩微课版)》,何晓琴编著,2018年;人民邮电出版社出版教材; 适用专业:本书可作为有志于或者正在从事淘宝美工相关职业的人员学习和参考,也可作为高等院校电子商务相关课程的教材。 课程负责人: 二、课程简介 随着网店的迅速普及和全民化,衍生了“淘宝美工”这个针对网店页面视觉设计的新兴行业。本书从淘宝美工的角度出发,为淘宝卖家提供全面、实用、快速的店铺视觉设计与装修指导。主要包括网店美工基础、图片调色、图片修饰、店铺首页核心模块设计、详情页视觉设计、页面装修、视觉营销推广图制作等,最后针对无线端进行首页、详情页视觉的设计与装修。本书内容层层深入,并通过丰富的实例为读者全方面介绍淘宝美工在日常工作中所需的知识和技能,有效地引导读者进行淘宝店铺装修的学习。 本课程主要对淘宝美工的设计基础和方法进行详细介绍,通过学习该课程,使学生了解网店美工的基本要求,以及掌握网店的设计与制作。 三、课程教学要求

体描述。“关联程度”栏中字母表示二者关联程度。关联程度按高关联、中关联、低关联三档分别表示为“H”“M”或“L”。“课程教学要求”及“关联程度”中的空白栏表示该课程与所对应的专业毕业要求条目不相关。 四、课程教学内容

五、考核要求及成绩评定 注:此表中内容为该课程的全部考核方式及其相关信息。 六、学生学习建议 (一)学习方法建议 1. 理论配合实战训练进行学习,提高学生的实战动手能力; 2. 在条件允许的情况下,可以申请一个网店,进行深入学习; 3. 提高学生的是设计感和审美能力; (二)学生课外阅读参考资料 《网店美工:店铺装修+图片美化+页面设计+运营推广(全彩微课版)》,何晓琴编著,2018年,人民邮电出版社合作出版教材

四工位专用机床课程设计说明书(超详细)

设计任务书 设计任务: 1 按工艺动作过程拟定机构运动循环图 2 进行回转台间歇机构,主轴箱道具移动机构的选型,并进行机械运动方案评价和选择 3 按选定的电动机和执行机构的运动参数进行机械传动方案的拟定 4 对传动机构和执行机构进行运动尺寸设计 5 在2号图纸上画出最终方案的机构运动简图 6 编写设计计算说明书 设计要求: 1 从刀具顶端离开工件表面65mm位置,快速移动送进了60mm后,在匀速送进60mm(5mm刀具切入量,45mm工件孔深,10mm刀具切出量),然后快速返回。回程和工作行程的速比系数K=2。 2 生产率约每小时60件。 3 刀具匀速进给速度2mm/s,工件装、卸时间不超过10s。 4 执行机构能装入机体内。 机械运动方案设计 根据专用机床的工作过程和规律可得其运动循环图如下: 机构运动循环图

钻 头 头进 匀速 60° 快钻 0°240° 进 钻 头 快 退 工 作 台 转 动 307.4° 位 销 插 入 定 定 位 销 拔 出 工 作 台 静 止 凸 轮 钻397.4° 该专用机床要求三个动作的协调运行,即刀架进给、卡盘旋转和卡盘的定位。其工作过程如下: 机床工作运动模型 要确保在刀具与工件接触时卡盘固定不动,刀具退出工件到下次接触工件前完成卡盘旋转动作。几个动作必须协调一致,并按照一定规律运动。 机械总体结构设计 一、原动机构: 原动机选择Y132S-4异步电动机,电动机额定功率P=5.5KW,满载转速n=1440r/min。

二、传动机构: 传动系统的总传动比为i=n/n6,其中n6为圆柱凸轮所在轴的转速,即总传动比为1440/1。采用涡轮蜗杆减速机构(或外啮合行星减速轮系)减速。 三、执行部分总体部局: 执行机构主要有旋转工件卡盘和带钻头的移动刀架两部分,两个运动在工作过程中要保持相当精度的协调。因此,在执行机构的设计过程中分为,进刀机构设计、卡盘旋转机构和减速机构设计。而进刀机构设计归结到底主要是圆柱凸轮廓线的设计,卡盘的设计主要是间歇机构的选择。 在执行过程中由于要满足相应的运动速度,因此首先应该对于原动机的输出进行减速。下面先讨论减速机构传动比的确定:由于从刀具顶端离开工件表面65mm位置,快速移动送进了60mm后,在匀速送进60mm(5mm刀具切入量,45mm工件孔深,10mm刀具切出量),然后快速返回。要求效率是60件/小时,刀架一个来回(生产1个工件)的时间应该是1分钟。根据这个运动规律,可以计算出电机和工作凸轮之间的传动比为1440/1。两种方案的传动比计算,参考主要零部件设计计算。 下面讨论执行机构的运动协调问题:有运动循环图可知,装上工件之后,进刀机构完成快进、加工、退刀工作,退后卡盘必须旋转到下一个工作位置,且在加工和退刀的前半个过程中卡盘必须固定不动,由于卡盘的工作位置为四个,还要满足间歇和固定两个工作,于是选择单销四槽轮机构(或棘轮机构、不完全齿轮机构与定位销协调)解决协调问题,具体实现步骤参考“回转工作台设计”。由于进刀机构的运动比较复杂,因此要满足工作的几个状态,用凸轮廓线设计的办法比较容易满足。廓线的设计参考主要零部件设计计算。

课程设计说明书书写格式

课程设计说明书书写格式 《模拟电子技术》课程设计说明书书写格式模拟电子技术》为了保证课程设计文档的质量,做到说明书格式的规范化,特作如下规定: 一,内容要求及格式课程设计说明书应用汉语撰写,内容应层次分明,数据可靠, 文字简练, 说明透彻,推理严谨. 说明书内容一般应由九个主要部分组成, 依次为:1. 封面,2. 课程设计任务书, 3. 目录, 4. 说明书正文,5. 结束语,6. 参考文献, 7. 附录. 各部分的具体要求如下:1.封面格式:XXXXXXXX学校课程设计说明书课题名称一———————专业名称————————学生班级————————学生姓名————————学生学号————————指导教师———————— 2. 课程设计任务书 3. 目录列出说明书的大标题, 一级和二级节标题,逐项标明页码, 标题应该简明扼要,点出各部分主要内容. " 目录"两字居中, 下空两行为章,节, 小节及其开始页码. 章,节, 小节分别以如下方式: 第 1 章,1.1,1.1.1 依次标出,章, 节,小节与页码之间用"..." 连接.每一... 级标题标题依次往后退一个汉字. 4. 说 明书正文正文是主体,一般可包括设计要求与指标, 理论分析, 计算方法, 具体设计内容,测试方法和实验结果,数据分析和讨论,结论等. 标题:每章标题以三号黑体居中打印; " 章"下空两行为"节"以四号黑体左起打印; " 节"下为"小节" , 以小四号黑体左起打印. 换行后空二个汉字打印论文正文. 正文采用小四号宋体, 正文行间距为固定值24磅.例:第1章XXXX 1. 1 XXXX 1.1.1 XXXX 图, 表,公式:文中的图,表公式一律采用阿拉伯数字分章编号,如:图2-5, 表3-2, 公式等.图序及图名居中置于图的下方,图中的术语,符号,单位等应与正文表述所用一致表序及表名置于表的上方,表中参数应标明量和单位的符号;图序及图名,表序及表名采用五号楷体字.公式的编号用括号括起写在右边行末,其间不加虚线. 图,表, 公式等与正文之间要有一定的行间距. 5. 结束语设计总结,主要成果或结论,存在的问题等 6. 参考文献只列作者直接阅读过, 在正文中被引用过的文献资料. 参考文献一律列在正文的末尾,不得放在各章之后.在引用别人的结论时,应在引用处加以说明,严禁抄袭现象的发生.作者姓名写到第三位,余者写",等"或",et al.."" 参考文献"四字居中用三号黑体字,空一行左起按顺序依次列出参考文献,将序号置于方括号内,用小四号宋体字. 几种主要参考文献的格式为: 连续出版物:序号作者. 文题.刊名[J],年,卷号:起~止页 码专或编著:序号作者.书名[M].出版地:出版社,出版年.起~止页码技术标准:序号发布单位.技术标准代号. 技术标准名称.出版地:出版者,出版日期举例如下: [1] 周绥平,陈宗基. DR 算法的更新时间间隔研究. 系统仿真学报[J],1999,7 :13~18 [2] 竺可桢.物理学[M].北京:科学出版社,1973.56~60 [3] 中华人民共和国国家技术监督局. GB3100~3102. 中华人民共和国国家标准—量与单位. 北京: 中国标准出版 社,1994-11-01 7. 附录主要列入设计过程所做的实物图,公式推导,与正文分开. 8.

课程设计说明书

工程技术大学 课程设计 题目:CA6140车床拨叉零件的机械加 工工艺规程及工艺装备设计 课程设计说明书 班级:机械08-3 姓名:唐殿龙 指导教师:红梅 完成日期:2011年6月

一、设计题目 (宋体,四号字,加粗) 二、上交材料 (1) 设计图纸 (2) 设计说明书(3000字左右) 四、进度安排(参考) (1) 熟悉设计任务,收集相关资料 (2) 拟定设计方案 (3) 绘制图纸 (4) 编写说明书 (5) 整理及答辩 五、指导教师评语 成绩: 指导教师 日期

设计题目 CA6140车床拨叉零件的机械加工工艺规程及工艺装备设计(年产量8000件)

摘要 机械制造基础课程设计是我们学完了大学的机械制造基础课程、技术基础课以及大部分专业课之后进行的。这是我们大学中进行的第二次的课程设计,每次课程设计对毕业设计有着很大的帮助。 这次设计的是拨叉,有零件图、毛坯图、装配图各一,机械加工工艺过程卡片和与所设计夹具对应那道工序卡片各一。首先我们要熟悉零件,题目所给零件是拨叉。了解了拨叉的作用,根据零件的性质和零件图上各端面的粗糙度确定毛坯的尺寸和机械加工余量。然后我们再根据定位基准先确定精基准,后确定粗基准,最后拟定端盖的工艺路线图,制定该工件的夹紧方案,画出夹具装配图。 对于这次机械制造的拨叉课程设计,是自己对机械加工方面的技术有了更加深刻地认识,不但提高了自己的专业技能,并且更好的理论结合实际,受益颇深。

Abstract Machinery manufacturing foundation course design is we learned university machinery manufacturing base course, course and the most specialized technical after. This is our university in the second course design, each course design of graduation design has a lot of help This design is fork, have part drawing, casting chart, each one, mechanical drawings machining process card and with the design fixtures corresponding that procedure process card every one. First we must be familiar with the parts, the title of the parts are fork. Understand the role of the fork, next according to the properties and parts drawing parts on each end of the roughness of blank size and determined mechanical machining allowance. Then we can decide according to the locating datum, pure benchmark crude benchmark, and finally determined after worked out the process, formulate the roadmap cover the workpiece clamping fixture, draw assembly drawings. For the machinery production fork course design of mechanical processing, is the technology had a deeper understanding, not only increased their professional skills, and better combining theory with practice, benefited.

机器人课程设计说明书

机器人课程设计说明书 指导教师: 院系: 班级:

: 学号:

一、课程设计的容 1、目的和意义 机器人涉及机械、电子、传感、控制等多个领域和学科。本课程设计是在《机器人学》课程的基础上,利用多传感技术、控制技术实现机器人控制系统的综合与应用,达到锻炼学生综合设计能力的目的。让我们把理论与实践结合起来,掌握更多技能。 2、设计容 (一)、机器人硬件 本课程设计使用实验室已有的移动机器人。机器人有两个驱动轮、一个从动轮,驱动轮由舵机直接驱动。机器人控制器为89S52单片机。机器人结构图如图1所示。 图1 机器人结构简图

(二)、设计任务 利用多传感器技术,实现对机器人的轨迹规划及控制。具体为:控制机器人在规定的场地避开障碍物走遍整个场地。 二C51单片机编程环境与机器人智能 1、单片机与C51系列单片机 (一)、单片机 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。 (二)、C51系列单片机 MCS51是指由美国INTEL公司生产的一系列单片机的总称。这一系列单片机包括了好些品种,如8031,8051,8751等,其中8051是最典型的产品,该系列单片机都是在8051的基础上进行功能的增、减、改变而来的。 本课程设计所用的AT89S52单片机是在此基础上改进而来的。AT89S52是一种高性能、低功耗的8位单片机,含8k字节ISP可反复擦写1000次的FLASH只读程序存储器,兼容标准MCS51指令系统及其引脚结

课程设计说明书

课程设计说明书

《综合性实验》任务书 一、设计题目:_______________________________零件的综合性实验 二、设计目的 综合性实验是开设《三维CAD造型》、《机械CAD/CAM》、《机械制造学》、《数控机床》课程之后进行的一个综合性、设计性教学环节.在系统学习CAD/CAM技术的基本原理、基本方法以及机床数控技术的基础上,着重培养学生借助计算机进行机械产品的设计、制造和系统集成的综合应用能力.其目的是: 1.掌握产品的计算机辅助设计过程和方法,培养利用计算机进行 结构设计的能力; 2.掌握零件的计算机辅助制造过程和方法,培养数控编程及加工 仿真的能力; 3.经过应用PRO/ENGINEER(Wildfire3.0),训练和提高CAD/CAM 的综合运用能力. 三、设计任务 本设计的零件是拖脚盖,主要设计任务是: 1. 三维CAD造型:熟悉和掌握机械CAD/CAM软件和PRO/ENGINEER(Wildfire3.0)的草绘模块、零件模块进行三维CAD 造型;

2.拟定工艺路线:根据三维几何模型,拟定该零件的数控加工工艺路线(需要选择毛坯、机床、刀具、切削用量、夹具辅助量具等); 3.数控加工程序设计:在PRO/ENGINEER(Wildfire3.0)软件的平台下,设计数控加工程序,包括描述选择确定数控加工的部位、加工方法、刀具、切削用量等,根据数控机床的具体情况选定数控系统的种类和型号,生成数控加工程序; 4.数控加工仿真:在PRO/ENGINEER(Wildfire3.0)软件平台下,根据前面得到的数控加工程序进行数控加工仿真,考虑工件有毛坯成为零件过程中形状、尺寸的变化,检查刀具与被切工件轮廓的干涉情况和检查刀具、夹具、机床、工件之间的运动碰撞等,完成几何模型的计算机仿真加工; 5.数控程序与程序传输:根据数控机床的具体情况选定数控系统的种类与型号,生成经过了计算机仿真的合格零件的数控加工程序,并将数控加工程序传输给加工中心机床; 6.编写设计说明书。 四、设计要求 1.要求设计过程在计算机上完成; 2.设计说明书用计算机打印(A4纸,1万字左右). 正文:宋体五号,单倍行距; 页眉:宋体小五号,内容包含班级,姓名, “综合性实验”字样; 页脚:右下脚页码.

课程设计说明书

《管套注塑成型与模具设计》 课程设计说明书 机械1304 1040513435 谢荣连 周建华 时间: 12 18-12 26 目录 1、 零件成型工艺分析 ................................................ .1 1.1 产品结构 分析及材料选择 2、 设计计算 .............................................. .1 2.1 、计算制品的体积和重量 JIANGNAN UNIVERSITY 班级: 学号: 姓名: 指导老师:

2.2、确定型腔数目 2.3、选择注射机型号与校核 2.4、选择分型面 2.5、确定型腔的布置方案 3、模具结构设计...................................................... .4 3.1、模架的设计与选择 3.2浇注系统的设计 3.3顶出机构设计 3.4冷却系统设计 4、模具3D结构设计.................................................... .7 5、结束语8 6、参考文献.8

1零件成型工艺分析 产品结构分析及材料选择 1.1.1产品结构分析 产品形状如图,产品为管套,根据PPF水管的常用规格确定壁厚为2.5mm图中 A B C、D 尺寸分别为25、38、2、18mm 材料分析与选择 该产品为管套,材料采用PPR PPF是由(PP和PE)气相法合成的无规共聚聚丙烯,其结构 特点是PE分子无规则的链接在PP分子当中。利用PPF原料生产的管材又称无规共聚聚丙烯管材 我们使用UG软件能自动计算出所画图形的体积,选择PVC材料,也可根据形状进行手动几何计算得到图形的体积和质量。 通过计算塑件的体积V塑=8.2(cm3) 塑件的重量M塑件=p V塑=11.5g 式中:p——塑料密度。 浇注系统体积V浇=3.7 (cm3 浇注系统重量M浇p V浇=5.1g 故V 总=2V塑+ V浇=20.1 (cm3 故M总=2X 11.5+5.07=28.1 (g) 2.设计计算

课程设计说明书参考(一般在20页左右)

课程设计(论文)说明书 题目:********** 院(系): 专业: 学生姓名: 学号: 指导教师: 职称: 2011 年12 月6 日 摘要

桂林电子科技大学课程设计报告用纸第1页共4页 在我们的日常生活中,门锁扮演着一个重要的角色。无论是在住宅还是办公室中,门锁保卫着我们的人身和相关隐私的安全。随着社会的发展,人们对锁的要求也越来越高,除了安全性之外,更要求钥匙的便携性和使用方便。传统的机械锁却有着明显的缺点,门锁易遭专业工具破坏,钥匙易丢失和被复制等等。在这样的背景下,电子密码锁应运而生,弥补了机械锁的缺陷,也满足了人们的高要求。 对于电子密码锁,其具有安全性高、成本低、功耗低、易操作等优点,带防盗报警的电子密码锁更是有逐渐取代机械防盗锁的趋势。基于以上思路,并从经济实用的角度出发,本设计使用AT89C51实现一基于单片机的电子密码锁的设计,结合外围的键盘输入、LCD显示、报警、开锁、GSM模块等。其具有以下功能特点:具有友好的显示界面,可以提供丰富的提示信息;具有时间显示功能,掉电后密码不丢失的特性;在输错3次密码的情况下,会锁定键盘和发出声音报警,还可以扩展GSM短信报警功能,通知远程用户;具备密码找回功能,当用户忘记自己所设定的密码时,可以根据密码锁所发过来的短信信息,将其输入进密码锁中,若经过确认是正确答案,便可设定新密码和问题的答案。 关键词:单片机;液晶显示;键盘;电子密码锁;GSM Abstract

桂林电子科技大学课程设计报告用纸第2页共4页 In our daily life,the door lock playing an important role to protect us.Whaterever in residential or office,the door lock defends our security and related personal privacy.With the development of the society, people has higher requirement for the lock.In addition to the security, people require the keys have portability and the convenience of use.The traditional mechanical lock has obvious disadvantages, door lock is easy damaged by professional tools, and the key is easily lose and copied, and so on.In this background, electronic lock came into being,It makes up the defects of the mechanical lock, also meet the high demands of the people. For electronic coded lock, it has the advantages of high safety, low cost, low power consumption, easy operation, etc.The electronic lock with anti-theft alarm but also has a tendency to gradually replace the mechanical anti-theft lock.Based on the above ideas, and from the perspective of economic and practical,This design uses AT89C51 implement a microcontroller-based design of electronic locks.It combined with the external keyboard, LCD display, alarm, unlock and GSM circuit modules.Its function has the following characteristics:It has friendly display interface and can provide rich prompt message.It has the function of display the current time,and wouldn’t lost the stored information when power is off.In case of inputting the wrong password 3 times, it would lock the keyboard and sound the alarm.It also can extend the GSM SMS alarm function, and inform the remote user.On the other hand,the design has password recover function.When the user forgot the password,he can according the SMS which send by the electronic lock,and input the information into the electronic lock.If the information is correct after the confirmation,you can set a new password or the new answer to the question. Key words:Single Chip Microcomputer;LCD Display;Keyboard;Elcetronic Coded Lock;GSM 目录

课程设计说明书(苯甲苯)

《化工原理课程设计》设计说明书苯—甲苯筛板塔的设计 设计者:谭书煜 班级:生物工程01 学号:1306240115 指导老师:方继德 设计日期:2016年1月5日 武汉工程大学化工与制药学院

目录 第1章序言 (4) 第2章摘要 (5) 第3章设计计算 (7) 3.1 设计方案的选定及基础数据的搜集 (7) 3.2精馏塔的物料衡算 (10) 3.2.1原料液及塔顶、塔底产品的摩尔分率 (10) 3.2.2原料液及塔顶、塔底产品的平均摩尔质量 (10) 3.2.3物料衡算 (10) 3.3 塔板数的确定 (11) N的求取 (11) 3.3.1理论板数T 3.3.2塔效率的计算 (13) 3.3.3求实际板数 (14) 3.4 精馏塔的工艺条件及有关物性数据的计算 (14) 3.4.1操作压力的计算 (14) 3.4.2操作温度的计算 (14) 3.4.3平均摩尔质量的计算 (15) 3.4.4平均密度的计算 (16) 3.4.5液体平均表面张力的计算 (18) 3.4.6液体平均黏度的计算 (20) 3.4.7气液负荷计算 (21) 3.5 精馏塔的塔体工艺尺寸计算 (22) 3.5.1塔径的计算 (22) 3.5.2有效塔高的计算 (24) 3.6 塔板主要工艺尺寸的计算 (24) 3.6.1溢流装置计算 (24) 3.6.2塔板布置 (28) 3.7 筛板的流体力学验算 (29) h (29) 3.7.1塔板阻力 p 3.7.2漏液点 (31) 3.7.3雾沫夹带 (32) 3.7.4液面落差 (32) 3.7.5液泛的校核 (32) 3.8 塔板负荷性能图 (33) 第4章精馏塔的附属设备及选型 (41) 4.1 辅助设备的选型 (41) 4.1.1 原料预热器 (41) 4.1.2冷凝器 (42) 4.1.3 再沸器 (43) 4.1.4馏出液冷却器 (44) 4.1.5釜液冷却器 (45)

淘宝网店二维码使用教程全攻略

一、什么是二维码——还记得超市的条形码吗? 谈起“二维码”,可能很多人会犯糊涂。但是与它类似的“一维条形码”广泛地运用于超市商品识别,却是我们每个人都十分熟悉的。二维码正是“一维条形码”发展的“高级阶段”,在一个小小的方块里面包含一条链接地址,引导使用者通过扫描设备(如手机)快速进入相应 的网址。 图1:一维条形码图2:淘宝二维码 现在,淘宝为卖家们提供二维码在线生成的工具,您可以将您的店铺和宝贝的“手机浏览链接”转化成二维码印制出来,夹在包裹中、印在优惠券上甚至是你的商品上。举例来说,接收包裹时,买家拿到印有二位码的优惠券,此时,他们只需用手机的摄像头“照”一下这个黑白相间的小方块,就可以快速地通过手机进入您的店铺中。二维码还有更多的妙用和更多的好处。 图3:生活中使用淘宝二维码的场景

二、淘宝二维码妙在何处——轻轻一扫客源不断! 1. 好处在哪里? 淘宝买家通过手机上的二维码识别软件,扫描卖家发布的淘宝二维码,可以直接找到卖家的促销活动,店铺首页,宝贝单品。免去输入网址、关键词搜索的麻烦。 淘宝卖家可以将二维码印刷到包裹中的宣传物上(如优惠券、宣传册),随包裹发给买家,吸引买家通过二维码进入店铺进行二次购买,为您带来源源不断的客流。 您可以在PC店铺和商品详情页中贴出二维码,使顾客可以在手机中快速收藏,随时随地光顾您的店铺! 卖家还可以考虑在平面媒体(如《淘宝天下》)上发布带有二维码的促销活动。对于有能力大卖家,还可以在自己的商品上贴上相应的二维码。 图4:二维码的引流作用 2. 买家的操作方法 有软件和摄像头的买家:淘宝合作的免费二维码软件有淘宝Android版、快拍、QuickMark、码上淘、魔印等,手机访问https://www.doczj.com/doc/be7674148.html,可快速下载。这些手机软件提供二维码扫描功能,只要买家打开这些软件,将摄像头对准二维码1秒中左右,识别成功后手机将自动进入对应的网页。 没有软件或者摄像头的买家可以在手机上进入https://www.doczj.com/doc/be7674148.html,页面,输入活动码,同样能够进入到您所设置的链接中。 图5:买家的使用方法

长春供热课程设计说明书

室内采暖课程设计 设计题目:长春市时尚新苑小区采暖系统设计 专业年级:建环2008级 学生姓名: 学号: 指导教师:

课程设计任务书 一、设计题目 长春市时尚新苑小区采暖系统设计 二、原始资料 1、建筑物修建地点:长春市。 2、土建资料:建筑物的平、立面图。 3、其他资料: 热源:独立锅炉房; 设计供回水温度:95/70C ; 建筑物周围环境:室内、无遮挡。 三、设计内容和要求 1、设计应包括以下主要内容: (1)计算供暖设计热负荷 (2)布置管道和散热设备、选择计算散热设备 (3)管道的水力计算及附属设备的选择 2、说明书要阐述设计方案主要依据和基本计算公式。说明书的文字要简练,字迹要工整。说明书中要有以下几张表格和附图: (1)房间围护结构耗热量计算表 (2)散热器计算表 (3)管路水力计算表、局部阻力系数统计表 (4)管路水力计算简图 3、绘制的图纸图面要全面,图中各项内容符合制图要求,要有文字说明。要有以下图纸: (1)采暖系统平面图 (2)采暖系统图

目录略。。。

长春市时尚新苑小区采暖系统设计 1 采暖设计热负荷的计算 1.1 气象资料 供暖室外计算温度t w=-23℃,冬季室外平均风速v w=4.2m/s,冬季主导风向及频率:SW,20%,冬季日照率:66%,冬季大气压力:99.40kpa,最大冻土层深度1.69m。 1.2 土建资料 1)建筑平面图(已知) 2)屋顶构造图: 它的构造是: 1、预制细石混凝土板25mm,表面喷白色水泥浆; 2、通风层≧200mm; 3、卷材防水层; 4、水泥砂浆找平层20mm; 5、保温层,沥青膨胀珍珠岩125mm; 6、隔气层; 7、现浇钢筋混凝土板70mm;

dw网页淘宝设计模板

竭诚为您提供优质文档/双击可除dw网页淘宝设计模板 篇一:dreamweaver在淘宝美工课中的应用 泉州新东方叶生方老师整理 dreamweaver在淘宝美工课中的应用 一、店铺装修(网页技术) 专业型课程分两个阶段:1、店铺装修基础阶段,2、html+css行内样式部分。 (一)实用型阶段——店铺装修基础 1、认识旺铺及类型、模板、模块、布局;旺铺20xx标准版拓展版20xx新版 2、ps切片导出web代码 3、dw表格排版 4、分类导航设计——ps切片、dw表格、热区三种技术综合运用 5、旺铺宽屏效果制作(页面背景、店头自定义、自定义大图三部分组成) 6、图片背景、旺旺代码、收藏代码、滚动代码 7、识别哪些效果属于模块功能,那些效果可以自定义

实现,常用的促销工具(限时打折、满就送、团购宝、搭配减价、会员管理等) 8、淘宝首页整体风格设计、“宝贝描详情页”风格设计 9、html常用标注介绍table、tR、td、img、a等用功能 (二)专业提升阶段——html+css行内样式 10、dw使用的注意要点以及认识tabletRtdFontdiVspanh1imgapliulmarquee等常用标注。 11、表格结构分析,学会手写简单的网页代码 12、认识css盒子模型 13、了解css排版基本方法——实际表格相似导航效果 14、运用css设计宝贝详情页版式、利用p、img标注的css属性设置版式 15、css美化表格 16、了解淘宝widget库的作用与意义——悬浮旺旺、宝贝放大镜等等特效 篇二:用dw做出漂亮的模板 如何用dw做出漂亮的促销表格模板 很多的卖家在逛淘宝店时会发现很多的店铺装修很美观,如打折模块和团购模块,自己想去问店主怎么制作,但是有几个淘宝卖家会告诉你呢,不过不要着急,下面让开淘网为你详解一番吧。今天我们讲的是如何用dReamweaVeR做

课程设计说明书

邮电与信息工程学院 课程设计说明书 课题名称:软件项目实训 学生学号:24 专业班级:11测控01班 学生姓名:徐晗 学生成绩: 指导教师:陈希 课题工作时间:2014-6-9 至2014-6-22

一、课程设计任务的基本要求: (1)课程设计目的: 1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶 向下,逐步细化,模块化的设计原则。 2.掌握C语言基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设 计。 3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的 能力。 (2)课程设计总体要求: 1. 采用模块化程序设计方法。 2. 主菜单设计界面如下: 3. 子菜单界面如下: 选择结构子菜单:

循环结构子菜单: 4.在对应模块下完成如下功能:(1)单选择if语句: (2)双选择if语句: (3)多选择if语句: (4)switch语句 (5)while循环语句 (6)do-while循环语句 (7)for循环语句 (8)循环嵌套 例如:switch语句案例界面:

(3)论文部分 1、学生应提交的资料:纸质《课程设计说明书》1份;课程设计报告1份。 2、课程设计报告的内容附在《课程设计说明书》后,内容包括: 一、设计目的 1. 全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而 下,逐步细化,模块化的原则。 2. 掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设 计。 3. 掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能 力。 二、系统功能模块图 (略) 三、设计函数列表 在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少不必要的麻烦,从而提高编写程序的效率。 表一自定义函数表 模块名函数名说明

水控课程设计说明书剖析

课程设计说明书 所属课程水污染控制工程(上) 设计题目某城镇排水管网初步设计 专业班级 学生姓名 设计组别 指导教师

目录 1.课程设计任务书概述--------------------------------------------------2 2.工程概况-----------------------------------------------------------------3 3.污水管渠系统设计-----------------------------------------------------6 4.雨水管渠系统设计-----------------------------------------------------14 5.参考资料-----------------------------------------------------------------17 6.总结-----------------------------------------------------------------------17

课程设计任务书概述 1.设计题目: 某城镇排水管网初步设计 2.设计目的 其目的是加深理解所学知识,培养综合分析和解决实际管网工程设计问题的初步能力,使学生在设计、运算、绘图、查阅资料和使用设计手册、设计规范等基本技能上得到初步训练和提高。 3.设计要求 (1)设计前进行区域情况调查,熟悉原始资料及总体设计原则; (2)设计过程中,要求学生认真复习相关的基本概念和原理知识; (3)课程设计说明书要求内容完整、计算准确、论述简洁、文理通顺、装订整齐; (4)课程设计图纸应能较好地表达设计意图,图面布局合理、正确清晰,设计图纸所采用的比例、标高、管径、编号和图例等应符合《给水排水制图标准》的有关规定。 (5)在设计过程中应独立思考,在指导教师帮助下完成工作,严禁抄袭。 4.设计内容 (1)规划区域内污水管网初步设计 A 污水管道的布置与定线 B 街区编号,计算街区面积 C划分设计管段,计算本段流量、转输流量和各管段设计流量 D进行污水管道水力计算(确定各管段的管径、坡度、流速、充满度、水面标高、管内底标高和管道埋深等) E绘制污水管道平面图(A2图幅,1:5000)和总干管的纵剖面图(A3图幅) (2)规划区域内雨水管网初步设计 A划分排水流域,进行管道定线

四工位专用机床课程设计说明书超详细

设计任务: 按工艺动作过程拟定机构运动循环图 进行回转台间歇机构,主轴箱道具移动机构的选型,并进行机械运动方案评价和 选择 按选定的电动机和执行机构的运动参数进行机械传动方案的拟定 对传动机构和执行机构进行运动尺寸设计 在 2 号图纸上画出最终方案的机构运动简图 6 编写设计计算说明书 设计要求: 1 从刀具顶端离开工件表面 65mm 位置,快速移动送进了 60mm 后,在匀速送进 工件孔深, 10mm 刀具切出量),然后快速返回。回 程和工作行程的速比系数 K=2 。 生产率约每小时 60 件。 执行机构能装入机体内。 机械运动方案设计 根据专用机床的工作过程和规律可得其运动循环图如下: 60mm ( 5mm 刀具切入量, 45mm 刀具匀速进给速度 2mm/s , 工件装、卸时间不超过 10s 。

机构运动循环图 该专用机床要求三个动作的协调运行, 即刀架进给、卡盘旋转和卡盘的定位。其工作 过程如下: 机床工作运动模型 要确保在刀具与工件接触时卡盘固定不动,刀具退出工件到下次接触工件前完成卡盘 旋转动作。几个动作必须协调一致,并按照一定规律运动。 机械总体结构设计 、原动机构: 原动机选择 丫132S-4 异步电动机,电动机额定功率 P=5.5KW,满载转速 n=1440r/min 。 、传动机构: 传动系统的总传动比为 i=n/n 6,其中 n 6 为圆柱凸轮所在轴的转速,即总传动比 为 1440/1 。 采用涡轮蜗杆减速机构(或 外啮合行星减速轮系)减速 。 虞转卡盘 卡奏B 龙 灵切削 --------- 刀架快遐 o 240 60 ° 轮 凸 止 钻 € 工 潺位 ' 头 07.4 ° 销 头静 ?定Z 夬 位 进 销 拔 转 出 动 O 钻、397.4 头

相关主题
文本预览
相关文档 最新文档