文档库 最新最全的文档下载
当前位置:文档库 › 二维图形绘制

二维图形绘制

二维图形绘制
二维图形绘制

实验2 二维图形绘制

【实验目的】

通过本实验,将学会使用OpenGL绘制二维图形,并设置其绘制属性:颜色、线型、填充模式等。并对OpenGL的图形元素及其属性进行简单介绍。本章中所用演示程序的绘制结果如图2.1所示。

(a)OpenGL图元 (b)不同属性的OpenGL幽元

图2.1 OpenGL二维图形绘制

【实验内容】

2.1 OpenGL图元

还是从一个简单的演示程序人手,它的绘制结果如图2.1(a)所示,由线条、四边形、三角形、任意多边形等组成。我们将对它进行逐段讲解,确保读者能掌握所有的细节,并最终绘制出图形。

在OpenGL中,所有显示的结果都是由一个或多个图形元素(以下简称图元)组成。图元包括了点、线段、多边形等。

首先看一下源文件中的内容。函数init()用来进行初始化。其中的函数glColor3f()将在后续介绍的图元属性部分进行详细的讲解,这里简单地说.就是设置使用黑色

(O.0,0.0,0.0)在灰色(O.93,0.93,0.93)的背景上绘制图形。

Bool init()

{

glClearColor(0 .93f,0. 93f,0. 93f,0. 0f)

glColor3f(0. 0f,0 .0f,0. 0f);

return true;

}

一个创建图元的方法是调用函数gLBegin()。这个函数的唯一参数用于指定将要创建图元的类型。

所有的图元都由顶点组成,这些顶点由函数glVertex()指定。在OpenGL中有好几个函数和函数glVertex()格式相同,格式统一表示为glVertexNX(),这里N为函数的参数个数,x为参数的类型。例如,函数glVertex2i()有2个整型参数,而函数glVertex4s()有4个short类型的参数。一个附加的v可以放置在最后表明参数为指定类型的数组。如,函数glVertex2fv()接受包含2个浮点数的数组作为参数。本章的演示程序将使用函数grVertex3f(),它有3个浮点型参数,用于分别指定x,y,z坐标值。由于本章使用的坐标z值都为O,这里也可以使用函数g1Vertex2f()。

当所有的顶点都被指定后,绘制指定图元时,需要调用一次函数glEnd()。这个函数没有任何参数。

表2.1是OpenGL中每种图元的描述。

表2.1 OpenGL图元描述

个顶点指定起点,后续的每个

顶点和前面的顶点组合创建多条

相邻两个顶点之间用一条线段相

个顶点也用

,

个顶点

个顶点指定一个主顶点,后续

的每对顶点都和该主顶点形成一

随后的每对顶点都和前面的一

数display()的第一步是清空颜色缓存。

void display()

{

glClear(GL_COLOR_BUFFER_BIT);

·点图元的绘制。OpenGL窗口缺省为从一1到l对应于从左到右、从底到顶。因此下面的点将绘制于窗口的右下角:

glBegin(GL_POINTS);

glVertex3f(0.7f,-0.5f,0.0f);

glVertex3f(0.6f,-0.7f,0.0f);

glVertex3f(0.6f,-0.8f,0.0f);

qlEnd();

·线段图元的绘制。下面的代码将绘制2条线段,它们在右上角点相连。

glBegin(GL_LINE_STRIP);

glVertex3f(一l.Of,1.Of,0 Of);

glVertex3f(一0.5f,0.5f,0.Of);

glVertex3f(一0.7f,0.5f,0.Of);

glEnd();

.三角形图元的绘制。在窗口的中心位置绘制一个大的三角形。注意:可以在函数glBegin()和函数glEnd()间放置另外3个顶点来创建另一个不相连的三角形。

glBegin(GL_TRIANGLES);

glVertex3f(一0 5f,一0 5f,0 Of);

glVertex3f(0.5f,一0.5f,0.Of);

glVertex3f(0.Of,0.5f,0.Of);

glEnd();

.四边形图元的绘制。图2.1(a)中另一个较大的图元为坐落在左下角的方块。使用四边形图元进行绘制。

glBegin(GL_QUADS);

glVertex3f(一1 Of,一1 Of,0 Of);

glVertex3f(一0.5f,一1 Of,0 Of);

glVertex3f(一0 5f,一0 5f,0 Of);

glVertex3f(一1 Of.一0 5f,0 Of);

glEnd();

·多边形图元的绘制。图2.1(a)中最后一个图元为一个多边形。下面的代码将在屏幕右上角绘制一个4边的多边形。

glBegin(GL—POLYGON);

glVertex3f(0.8f,0.6f,0.Of);

glVertex3f(0.9f,0.8f,0.Of);

glVertex3f(0.5f,0.9f,0.Of);

glVertex3f(0.6f,0.5f,0.0f);

glEnd();

glFlush();

}

到此为止,读者应该可以在窗口上绘制简单的图元了。请尝试在屏幕上绘制不同的图元,并试试其他没有在上面代码中使用的图元类型。

注意:OpenGL绘制多边形(包含三角形)时需要满足以下3个条件。

①简单性:边不能自交。

②凸性:多边形内部任意两点的连线都要落在多边形内部。

③平整性:所有顶点都在一个平面上。

OpenGL并不负责检查输入的顶点,这必须由调用方来负责检查,如果不能满足以上条件,则OpenGL不能保证绘制结果正确。图2.2给出了两种不满足上述条件的情况。

图2.2不满足OpenGL图元要求的多边形

而三角形始终满足以上条件.因此三角形被各种图形应用大量使用。

图2.1(a)中示例的完整源代码见本书光盘中的Graphics2D工程。

2.2 图元属性

2.2.1点划线定义

这里介绍的第一种图元属性为点划线。点划线可以在线段上创建空白段,读者可以用它创建划线、点线或其他变形。

一个点划线的模式可以用一个十六进制数表示。如:0x????,这里“?”可以为数字0~9或字母A(10)~F(15)。如果将一个十六进制数转化为等价的二进制数,就可以得到点划的模式。

以0x1234为例:

1=0001

2=0010

3=0011

4=0100

因此0x1234=0001 0010 0011 0100。

从右往左读上面的二进制数,就可以得到点划模式。上面的模式为线段上的前2个像素为空,接着为填充,接着为空.下面的2个为填充.……

为了测试上面的分析,下面创建5个不同的点划模式:

IntlineStipples[]=

{

//1010 1010 1010 1010 = 10 10 10 10

0Xaaaa ,

//0000 1111 0000 1111=0 15 0 15

0x0F0F ,

//1111 1111 1111 0000=15 15 15 0

0xFFF0 ,

//0000 0000 0000 1111=0 0 0 15

0x000F ,

//0001 0001 0001 0001=1 1 1 1

0x1111

};

2.2.2点的尺寸

首先需要修改的图元属性为点图元的尺寸。点图元的当前尺寸值可以使用GL_POINT_SIZE作为参数调用函数glGetFloatv()得到。本章将在后续出现的情况中继续介绍函数glGet()的其他用途。

//点的大小

float pointSize=0;

glGetFloatv(GL_POINT_SIZE.&pointSize);

为了真正修改OpenGL点图元的尺寸,读者可以使用一个浮点数参数调用函数glPointSize()。该参数指定点的直径值,其缺省值为1.0。

下面的代码将以递增的尺寸绘制5个点:

for(inti=0;i<5;i++)

{

glPointSize((float)(i+1));

glBegin(GL_POINTS);

glVertex3f(一0.4f+i/5.Of,0.8f,0.Of);

glEnd();

}

然后将点图元尺寸恢复为前面的值:

glPointSize(pointSize);

2.2.3线宽

本节将修改线段图元的线宽属性。当前的线宽值可以类似于点图元尺寸获得,即通过以GL_LINE_WIDTH为参数调用函数glGetFloatv():

//线宽

float lineWidth=0;

glGetFloatv(GL_LINE_WIDTH,&lineWidth):

类似于上面绘制的5个点,这里将以递增的线宽绘制5条线段。线宽以浮点数形式传递给函数glLineWidth()。线宽的缺省值为1.0。

for(inti=0;i<5;i++)

{

glLineWidth((float)(i+1));

glBegin(GL_LINES);

glVertex3f(一0.6f,0 7f—i*0.1f,0.Of)

glVertex3f(0.6f,0.7f—i*0.1f,0.Of):

glEnd();

)

然后将线宽恢复为前面获取的值:

glLineWidth(1ineWidth);

2.3 多边形绘制模式

OpenGL中另一个有用的特性为可以修改多边形绘制的模式。多边形可以以点(顶点)、线段(线框)或填充(多边形)的模式进行绘制。

为了判断当前的多边形绘制模式,可以调用函数glGetIntegerv()获取。第一个参数为浮点数参数调用函数 GL_POLYGON_MODE,而第二个参数为一个尺寸为2的整型数组:

//多边形模式

intpolygonMode[2];

glGetIntegerv(GL_POLYGON_MODE,polygonMode);

数组中的第一个整数为前向多边形的多边形绘制模式,而第二个整数为后向多边形的多边形绘制模式。

函数glPolygonMode()用于改变当前的多边形绘制模式,它有两个参数。第1个参数指定哪些面将被这个调用影响,可能的值为GL_FRONT、GL_BACK或GL_FRONT_AND _BACK,分别对应于前向多边形、后向多边形或两者。第2个参数指定将要使用的模式,可以为GL_POINT、GL_LINE或GL_FILL。

下面的代码将绘制3个三角形,每个三角形使用不同的多边形绘制模式。从左往右,三角形分别使用多边形、线段、点模式进行绘制。

glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);

glBegin(GL_TRIANGLES);

glVertex3f(一0.8f,0.Of,0.Of);

glVertex3f(一0.6f,0.Of.0.Of);

giVertex3f(一0.7f.0.2f,0.Of);

glEnd();

glPolygonMode(GL_FRONT_AND_BACK,GL_LINE};

glBegin(GL_TRIANGLES);

glVertex3f(0.1f,0.Of,0.Of);

glVertex3f(一0.1f,0.Of,0.Of);

glVertex3f(0.Of,0.2f,0.Of);

glEnd();

glPolygonM_TRIANGLES);

glVertex3f(0.6f,0.Of,0.0f);

glVertex3f(0.8f,0.Of,0.Of);

glVertex3f(0.7f,0.2f,0.Of);

qlEnd();

然后将多边形绘制模式恢复为前面获取的初始值。

glPolygonMode(GL_FRONT,polygonMode[0]);

glPolyqonMode(GL_BACK.polygonMode[1]);

2.3.1使用点划线

下面的代码将演示如何使用前面声明的点划模式。

首先,以GL_LINE_STIPPLE为参数调用函数glEnable(),这将打开线段的点划模式。//线段的点划模式

glEnable(GL_LINE_STIPPLE);

为了指定一个点划模式,需要使用函数glLineStipple()。它的参数如下:

void glLineStipple(GLint factor,GLushort pattern)

//参数:

//factor——作为点划模式的倍数,如果该值为5,则模式中的每位将重复多次,然后移动到下一位,取值范围为[1,256],缺省值为1

//pattern——点划模式,本章将使用前面声明的值

下面的代码将绘制10条线段,每个点划模式将使用两次,一个乘以1,另一个乘以3。 for(inti=0;i<5;i++)

glLineStipple(1,lineStipples[i]);

glBegin(GL_LINES);

glVertex3f(一0.6f,一0.1f—i*0.1f,0.0f);

glVertex3f(一0.1f,一0.1f—i*0 1f,0.0f);

glEnd();

glLineStipple(3,lineStipples[i]);

glBegin(GL_LINES);

glVertex3f(0.6f,一0.1f—i*0.1f,0.Of);

glVertex3f(0.1f.一0.1f—i*0.1f·0.0f);

glEnd();

}

使用参数GL_LINE_STIPPLE调用函数glDisable()进行关闭。

glDisable(GL_LINE_STIPPLE);

2.3.2边标记

当以线段模式绘制多边形时,可能不希望内部的线段被显示。这些线段可以使用边标记来删除。

//边标记

glPolygonMode(GL_FRONT_AND_BACK,GL_LINE)

glBegin(GL_TRIANGLES);

可以向函数glEdgeFlag()传递参数GL—TRUE来指定一个边标记,则任意一对顶点将绘制一条线段。如果将GL_FALSE传递给该函数,则不会有线段被绘制。

下面的代码创建了一个对象,并屏蔽了所有的内部线段。

glEdgeFlag(GL_TRUE);

glVertex3f(一0.2f,一0.6f,0.Of);

glEdgeFlag(GL_FALSE);

glVertex3f(一0.4f,0.8f,0.Of);

glEdgeFlag(GL_TRUE);

glVertex3f(0.Of,一0.7f,0.Of);

glEdgeFlag(GL_FALSE);

glVertex3f(一0.4f,一0.8f,0.Of);

glVertex3f(0.Of,一0.7f,0.0f);

glEdgeFlag(GL_TRUE);

glVertex3f(0。4f,一0.8f,0.Of);

glEdgeFlag(GL_FALSE);

glVertex3f(0.Of,一0.7f,0.0f);

glEdgeFlag(GL_TRUE);

glVertex3f(0.4f,一0.8f,0.0f);

glVertex3f(0.2f,0.6f,0.Of);

glEnd();

glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);

不使用和使用边标记的绘制结果如图2.3所示。

2.4多边形着色模式

在OpenGL中,多边形的着色模式可以通过函数glShadeModel()指定。

void glShadeModel(GLenum mode);

//参数:

//mode——指定着色模式,可以为GL_FLAT或GLSMOOTH.缺省值GL_SMOOTH 在缺省模式GL—SMOOTH下,多边形内部的颜色值由多边形顶点颜色值插值计算,而在GL_FLAT模式下,使用多边形第一个顶点的颜色填充多边形内部。图2.4中的示例使用了GL_SMOOTH模式,其中多边形的6个顶点分别指定了不同的颜色,而多边形内部区域则出现了色彩的光滑过渡。

2.5小结

本章对于OpenGL中的各种图形元素进行了简单介绍。尽管OpenGL图元看上去非常简单,但如果能灵活地运用它们,开发者就可以绘制出非常复杂的图形。事实上,读者所看到的3D视频游戏中的大部分高精度模型都可以最终归结为本章介绍的各种图元。

对于图元,除了几何形状外,OpenGL还提供了多项属性供开发者自定义,这样就更增强了图元的表现力。例如,读者可以通过定义线宽绘制粗细不一的线条,这在工程绘图类应用中就十分实用。

习题2

实验一:白色六角星

如何使用0penGL图元绘制图a?有哪几种方案,哪种方案0penGL指令数最短?

实验二:彩色六角星

如何扩展上面的实验,得到图b的绘制效果?共有几种实现方案?

评价标准

第一阶段:能正确使用OpenGL图元产生图a中的绘制效果,并能提供多种方案,分析对比,总结出绘制指令最少的方案;

第二阶段:能正确设置图元属性,得到图b中的绘制效果,并与第一阶段的代码进行分析对比,讨论两种方案的优缺点。

第二章AutoCAD二维图形的绘制(可编辑修改word版)

第 2 章 A u t o C A D 二维图形的绘制 绘制二维图形是AutoCAD 的主要功能,也是最基本的功能。二维平面图形的创建比较简单,是整个AutoCAD 的绘图基础。因此,只有熟练掌握二维平面图形的基本绘制方法, 才能够更好地绘制出复杂的图纸。 2.1 图形界限和单位 2.1.1 设置图形界限 1. 功能:设置图形绘制完成后输出的图纸大小。主要目的是为了避免在打印时出错, 绘图界限需要确定两个二维点的坐标,这两个二维点分别是图纸的左下角和右上角。 2. 执行方式: 菜单栏:【格式】→【图形界限】 3. 操作步骤: 将绘图界限范围设定为A4 图纸大小(210mm×297mm ) 4. 选项含义和功能说明如下: 关闭(OFF):关闭绘图界限检查功能,绘制图形不受绘图范围的限制。 打开(ON) :打开绘图界限检查功能,如果输入或拾取的超出绘图界限,则操作将 无法进行。 5. 注意: (1) 在 CAD 的命令中“< >”代表默认值或上一次使用过的数值,如果尖括号中设定的值 与所输入值恰巧一致,可以通过空格键确认来省略操作步骤。 (2) 标准图纸规格, 如图 2-1 所示(单位:mm ) 2.1.2 设置图形单位 图 2-1 A0-A4 图纸规格 1. 功能:用于设置绘图单位,可以根据具体情况设置绘图的单位类型和数据精度。 2. 执行方式: 菜单栏:【格式】→【单位】 操作方法: 命令:limits 限界关闭:打开(ON)/<左下点> <0,0>:0,0 右上点<420,297>:297,210 重复执行limits 命令 限界关闭:打开(ON)/<左下点> <0,0>:ON 命令含义: 执行命令 设置绘图区域左下角坐标设置绘图区域右上角坐标 快捷键【空格】重复执行命令 打开绘图界限检查功能

绘制基本二维图形(第二篇)

点的绘制 1、点的绘制在绘制下选择点或者是在工具条上面找点的图标 2、点的类型:单点快捷键po 多点(只能按Esc键结束)工具条上的点 定数等分(将一条线段分为几等分,画直线的方法是按键盘上的F8) 操作方法:A、在视图中创建一根线段,选择 线段 B、选择绘制下的定数等分 C、在命令行中输入要分的段数, 按回车 D、在格式下选择点样式,方便观 察点 定距等分(将一条线段按设置的距离进行测量) A、在视图中创建一条线段 B、选择绘制下的定距等分 C、在命令行中输入每两点之间要 设置的距离,按回车 D、在格式下选择样式点 3、工具行中的点和点类型中的多点一样 坐标系(精确的绘制图纸利用坐标系) 世界坐标系:打开CAD时,左下角没有经过任何改动的坐标成为世

界坐标系 用户坐标系:根据绘图的需要可以放置到任何的位置上,位置发生了变化,目的是方便我们绘制图纸 直线的绘制 一、位置:1、绘图——直线 2、快捷工具栏中的直线图标 二、创建方法:单机鼠标左键创建第一个点,连续单击可以创建其它 的点 三、 闭合:按键盘上的C键,然后回车键,创建一条闭合的曲线 放弃:按键盘上的U键,然后回车键,创建一条开厂的曲线 四、删除所有的曲线,按ctrl+A全选,然后按删除键删除 五、结束点的方法:1、点击鼠标右键,单击确认 2、直接按回车键,结束操作 3、按Esc键结束操作 六、精确定位 在命令行输入精确的数值,按键盘上的回车键就能精确定位CAD中的正负号,并不代表正反,表示向相反方向移动的多少距离 七、输入数值,在输入半角号,在输入数值,创建第一个点 如60<30,意思是距离坐标原点距离为60,与X周方向的夹角为

(完整版)第二章AutoCAD二维图形的绘制

第2章 AutoCAD二维图形的绘制 绘制二维图形是AutoCAD的主要功能,也是最基本的功能。二维平面图形的创建比较简单,是整个AutoCAD的绘图基础。因此,只有熟练掌握二维平面图形的基本绘制方法,才能够更好地绘制出复杂的图纸。 2.1 图形界限和单位 2.1.1 设置图形界限 1.功能:设置图形绘制完成后输出的图纸大小。主要目的是为了避免在打印时出错,绘图界限需要确定两个二维点的坐标,这两个二维点分别是图纸的左下角和右上角。 2.执行方式: 菜单栏:【格式】→【图形界限】 3.操作步骤: 将绘图界限范围设定为A4图纸大小(210mm×297mm) 操作方法: 命令含义: 命令:limits 执行命令 限界关闭:打开(ON)/<左下点> <0,0>:0,0设置绘图区域左下角坐标 右上点<420,297>:297,210 设置绘图区域右上角坐标 重复执行limits命令快捷键【空格】重复执行命令限界关闭:打开(ON)/<左下点> <0,0>:ON 打开绘图界限检查功能 4.选项含义和功能说明如下: 关闭(OFF):关闭绘图界限检查功能,绘制图形不受绘图范围的限制。 打开(ON) :打开绘图界限检查功能,如果输入或拾取的超出绘图界限,则操作将无法进行。 5.注意: (1)在CAD的命令中“< >”代表默认值或上一次使用过的数值,如果尖括号中设定的值与所输入值恰巧一致,可以通过空格键确认来省略操作步骤。 (2)标准图纸规格,如图2-1所示(单位:mm)

2 AutoCAD 2010实用教程 宽×高1189×841 841×594 594×420 420×297 297×210 图2-1 A0-A4图纸规格 2.1.2 设置图形单位 1.功能:用于设置绘图单位,可以根据具体情况设置绘图的单位类型和数据精度。 2.执行方式: 菜单栏:【格式】→【单位】 命令行:Units(UN) 3.操作步骤: 执行【单位】命令,系统将弹出如图2-2所示的图形单位设置对话框。 图2-2 绘图单位对话框 2.2 辅助功能 在绘制图形时,通过移动光标来指定绘图位置往往很难精确定位。因此,要精确定位必须使用坐标或捕捉工具。灵活运用捕捉工具,可以提高绘图的准确性和工作效率。AutoCAD提供了对象捕捉、对象追踪等绘图辅助功能,通过设置来快速、精确地绘制图形。 2.2.1捕捉与栅格 在绘图的过程中,经常要指定一些特征点,例如端点、中点、圆心和两个对象的交点等。如果只凭手动来拾取,不可能准确地找到这些点。AutoCAD提供了对象捕捉功能,可

【精品】CAD绘制基本二维图形

一、绘制基本二维图形 1.1 绘制床头柜图形 【练习知识要点】利用“矩形”按钮、“直线”按钮和“圆”按钮绘制床头柜,图形效果如图1.1-1所示。 图1.1-1 (1)创建图形文件。选择【文件】→【新建】菜单命令,弹出【选择样板】对话框,单 击按钮,创建新的图形文件。 (2)选择【矩形】命令,绘制床头柜轮廓和矩形纹理,效果如图 1.1-2所示。 命令: _rectang //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 0,0 //输入起点A的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: 520,450 //输入对角点B的绝对坐标 命令: rectang //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 35,35 //输入起点C的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: @450,380 //输入对角点D的相对坐标命令: RECTANG //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 70,70 //输入起点C的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: @380,310 //输入对角点D的相对坐标 图1.1 -2 (3)绘制直线。选择【直线】命令,分别对应连接最外面的矩形和最内侧矩形的顶

点,如图 1.1-3所示。 (4)绘制垂直直线。选择【直线】命令,绘制相互垂直的直线,如图 1.1-4所示。 图1.1-3 图1.1-4 命令: _line 指定第一点: //选择直线命令,捕捉并单击最内侧矩形上边中点 A 指定下一点或[放弃(U)]: //捕捉并单击最内侧矩形下边中点 B 指定下一点或[放弃(U)]: //按Enter键 命令: _line 指定第一点: //选择直线命令,捕捉并单击最内侧矩形左边中点 C 指定下一点或[放弃(U)]: //捕捉并单击最内侧矩形右边中点 D 指定下一点或[放弃(U)]: //按Enter键 (5)绘制中心圆。选择【圆】命令,选择图3-4中直线AB和直线CD的交点作为圆心,依次绘制直径为100和200的圆,完成后效果如图 1.1-5所示。 图1.1-5

第2章Mastercam二维图形绘制

第2章Mastercam二维图形绘制 第2章绘制2D图形 |绘制1992.1点 |绘制1992.1.1一般点 |绘制和抓取199点是绘制其他2D图形甚至3D图形的基础选择 命令。在 → → 工具栏上,可以找到11种定义点的方法,如图2-1 所示(如表2-1所示)。输入时,系统默认使用任何方式创建点,您可以选择其中的任何一种。然后,可以根据定义方法在绘图区域中创建点像素。点在二维视图的图形屏幕上用“+”表示,在三维视图的图形屏幕上用“*”表示。 图2-1创建下拉列表框 表2-1点输入子菜单选项描述 点类型描述操作在自动绘制工具条中输入点的坐标图例坐标输入,直接输入坐标原点,创建坐标原点,通过捕捉已知弧选择中心点(弧中心),选择用于生成圆心点以生成已知对象(根据端点鼠标在端点一端选择的位置),通过分别选择两个中间对象,生成它们的实际交

点或假想交点,选择和选择中点,生成已知对象的中间点,捕获已经创建的点选择相对值以选择和选择现有点,选择P1点,输入以相对坐标形式创建的点选择P1点,输入象限创建一个最接近圆弧和工作坐标轴x的实际交点的点,在选定的对象像素上创建一个最接近光标的点,使用鼠标创建任意草图点选择,在图形中选择一条直线选择线,可以在绘图区域的任意位置直接单击圆弧或样条线来生成相切捕捉,并选择圆或圆弧的相切点来选择对象。选择相切圆弧是在绘制切线或圆弧并垂直绘制的状态下选择垂直像素的唯一方法。选择垂直像素捕捉点 1.1.2特殊点和绘制 特殊点的绘制方法见表2-2 表2-2特殊点绘图说明操作图例类型选择构图(C)→点(P)→分段绘图点(S)命令,选择一个点图像,沿直线、圆弧或样条曲线构造一系列等距点,在功能区的(距离)文本框中输入指定的距离,将距离等分。或者在功能区的(段)文本框中输入段数,并将其分成固定数量的相等部分\ \相等数量的点(段)样条曲线节点(节点生成样条曲线的点样条)选择合成(C)→点(P)→绘制节点(N)命令。选择一条样条曲线,选择合成(C)→点(P)→动态绘图点(D)命令。选择对象后,屏幕上会显示一个标有点的箭头,并将其移动到适当的位置。沿已知对象单击,使用动态绘图点选择方法生成一系列点,用于构建网格状阵列点。您可以定义水平和垂直方向上由网格点绘制的网格点的数量,以及每个方向上网格点的距离。您还可以指定图形区域中点的位置和角度,并选择构

根据二维图画三维图的方法及思路

根据二维图画三维图的方法及思路 本问旨在介绍由三视图绘制三维实体图时,整个建模过程的步骤和方法。 一、分析三视图,确定主体建模的坐标平面 在拿到一个三视图后,首先要作的是分析零件的主体部分,或大多数形体的形状特征图是在哪个视图中。从而确定画三维图的第一步――选择画三维图的第一个坐标面。这一点很重要,学生往往不作任何分析,一律用默认的俯视图平面作为建模的第一个绘图平面,结果将在后续建模中造成混乱。 看下面二例:图1 图1 此零件主要部分为几个轴线平行的通孔圆柱,其形状特征为圆,特征视图明显都在主视图中,因此,画三维图的第一步,必须在视图管理器中选择主视图,即在主视图下画出三视图中所画主视图的全部图线。

图2是用三维图模画三维图,很明显,其主要结构的形状特征――圆是在俯视方向,故应首先在俯视图下作图。 图2 二、构型处理,尽量在一个方向完成基本建模操作 确定了绘图的坐标平面后,接下来就是在此平面上绘制建模的基础图形了。必须指出,建模的基础图形并不是完全照抄三视图的图形,必须作构型处理。 所谓构型,就是画出各形体在该坐标平面上能反映其实际形状,可供拉伸或放样、扫掠的实形图。 如图1所示零件,三个圆柱筒,按尺寸要求画出图4中所示6个绿色圆。与三个圆筒相切支撑的肋板,则用多段线画出图4中的红色图形。其它两块肋板,用多段线画出图中的两个黄色矩形。图4:

图3 这样处理后,该零件的建模操作可在一个方向上完成。 不要担心红色肋板穿过了两圆筒的孔,这可以在对圆筒差集后得到圆满处理。要注意的是必须先并后差。这是后话。 再如图2所示零件,左侧半圆筒,用多段线画出图4中所示绿色图形;右侧的内孔及键槽也须用多段线画出;中间的水平肋板,则用多段线画出如图中的红色图形。 该零件中垂直方向的梯形肋板,由于在俯视图中不反映实形,故不能在此构型,需另行处理。 图4

02 绘制基本二维图形(新)

第二讲绘制基本二维图形 教学任务: 1、基本图像的创建、参素修改,要求熟练参数选择 (1)直线:Line(L) 操作方法示例 ●下拉菜单:【绘图】/【圆】 ●工具栏按钮: ●命令行:circle ●快捷命令:c 【练习】:设置图形界限,建立图层,利用直线命令绘制图形,数据如下。 注意:沿某一方向绘制一定距离线段的方法。 (2)构造线:Xline 构造线是指在两个方向上可以无限延伸的直线,通常用作绘图的辅助线。 ●快捷命令:xl (3)圆:Circle (4)圆弧:Arc 【练习】:利用直线和圆弧命令绘制平面门图形,数据如下,须建立图层。 【练习】:绘制梅花,数据如下,须建立图层 命令: a (绘制圆弧1) ARC 指定圆弧的起点或 [圆心(C)]: 140,110 指定圆弧的第二个点或 [圆心(C)/端点(E)]: e 指定圆弧的端点: @40<180 指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r 指定圆弧的半径: <正交关> 20 命令: a (绘制圆弧2) ARC 指定圆弧的起点或 [圆心(C)]:(直接点击P2)

指定圆弧的第二个点或 [圆心(C)/端点(E)]: e 指定圆弧的端点: @40<252 指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: a 指定包含角: 180 命令: a (绘制圆弧3) ARC 指定圆弧的起点或 [圆心(C)]:(直接点击P3) 指定圆弧的第二个点或 [圆心(C)/端点(E)]: c 指定圆弧的圆心: @20<324 指定圆弧的端点或 [角度(A)/弦长(L)]: a 指定包含角: 180 命令: a (绘制圆弧4) ARC 指定圆弧的起点或 [圆心(C)]: (直接点击P4) 指定圆弧的第二个点或 [圆心(C)/端点(E)]: c 指定圆弧的圆心: @20<36 指定圆弧的端点或 [角度(A)/弦长(L)]: L 指定弦长: 40 命令: a (绘制圆弧5) ARC 指定圆弧的起点或 [圆心(C)]: (直接点击P5) 指定圆弧的第二个点或 [圆心(C)/端点(E)]: e 指定圆弧的端点: (直接点击P1) 指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: a 指定包含角: 180 (5)圆环:Donut (6)椭圆和椭圆环:Ellipse (7)矩形:Rectang(rec) (10土木1班第3讲) (8)正多边形:polygon (9)点:Point:注意点样式的设置——格式/点样式(10)定数等分:divide;绘图/点/定数等分 (11)定距等分:Measure;绘图/点/定距等分 【练习】:绘制简易楼梯平面图,数据假定,须建立图层

matlab二维图形的绘制

matlab二维图形的绘制(2006-11-20 20:38:35) 转载 ▼ 分类:matlab基础(电子方向) 常用的二维图形命令:

plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅 绘制单根二维曲线 plot函数,基本调用格式为:

plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。 例如:在区间内,绘制曲线 y=2e-0.5xcos(4πx)程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)

plot函数最简单的调用格式是只包含一个输入参数: plot(x) 在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。 p=[22,60,88,95,56,23,9,10,14,81,56,23]; plot(p) 绘制多根二维曲线 1.plot函数的输入参数是矩阵形式

(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。 (2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。 当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

cad二维基础练习图(大全)

一、基本二维绘图练习 1、辅助绘图工具练习 图1-01输入点的相对直角坐标、相对极坐标绘制图形 图1-02打开正交模式绘制图形 【习题1-3】利用各种目标捕捉方式将图1-3a修改为图1-3b。

【习题1-04】打开极轴追踪模式(FIO),通过输入直线的长度绘制图1-4所示的图形。 【习题1-05】利用极轴追踪、自动捕捉及目标捕捉追踪功能将图1-5a修改为图1-5b。 【习题1-06】利用极轴追踪、自动捕捉及目标捕捉追踪功能绘制图1-6所示的图形。

图1-6综合练习2 2、实体绘图命令练习 【习题1-07】利用Circle(圆)和Ellipse(椭圆)等命令绘制图1-7所示的图形。 【习题1-08】利用Polygon(正多边形)和Circle(圆)等命令绘制图1-8所示的图形。 图1-8绘制圆和正多边形 【习题1-09】用Polygon(正多边形)和Circle(圆)等命令绘制图1-9所示的图形。 【习题1-10】用Pline(组合线)和Line(线)命令绘制图1-10所示的图形。

图1-9绘制圆和正多边形图1-10绘制组合线3、编辑命令练习 【习题1-11】用Offset(等距线)、Trim(修剪)和Line命令绘制图1-11所示的图形。 【习题1-13】用Offset(等距线)和Extend(延伸)命令将图1-13a修改为图1-13b。 【习题1-14】用Array(阵列)等命令绘制图1-14所示的图形。

图1-14用Array命令创建环形阵列 【习题1-15】用Array(阵列)和Rotate(旋转)等命令绘制图1-15所示的图形。 图1-15用Array和Rotate命令绘制图形 【习题1-16】用Fillet(倒圆角)和Chamfer(倒角)命令将图1-16a修改为图1-16b。

CAD绘制基本二维图形

一、绘制基本二维图形 绘制床头柜图形 【练习知识要点】利用“矩形”按钮、“直线”按钮和“圆”按钮绘制床头柜,图形效果如图1.1-1所示。 图1.1-1 (1)创建图形文件。选择【文件】→【新建】菜单命令,弹出【选择样板】对话框,单击按钮,创建新的图形文件。 (2)选择【矩形】命令,绘制床头柜轮廓和矩形纹理,效果如图1.1-2所示。 命令: _rectang //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 0,0 //输入起点A的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: 520,450 //输入对角点B的绝对坐标 命令: rectang //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 35,35 //输入起点C的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: @450,380 //输入对角点D的相对坐标命令: RECTANG //选择矩形命令 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 70,70 //输入起点C的绝对坐标 指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]: @380,310 //输入对角点D的相对坐标 图1.1 -2 (3)绘制直线。选择【直线】命令,分别对应连接最外面的矩形和最内侧矩形的顶

点,如图1.1-3所示。 (4)绘制垂直直线。选择【直线】命令,绘制相互垂直的直线,如图1.1-4所示。 图1.1-3 图1.1-4 命令: _line 指定第一点: //选择直线命令,捕捉并单击最内侧矩形上边中点A 指定下一点或[放弃(U)]: //捕捉并单击最内侧矩形下边中点B 指定下一点或[放弃(U)]: //按Enter键 命令: _line 指定第一点: //选择直线命令,捕捉并单击最内侧矩形左边中点C 指定下一点或[放弃(U)]: //捕捉并单击最内侧矩形右边中点D 指定下一点或[放弃(U)]: //按Enter键 (5)绘制中心圆。选择【圆】命令,选择图3-4中直线AB和直线CD的交点作为圆心,依次绘制直径为100和200的圆,完成后效果如图1.1-5所示。 图1.1-5

二维图形绘制

实验2 二维图形绘制 【实验目的】 通过本实验,将学会使用OpenGL绘制二维图形,并设置其绘制属性:颜色、线型、填充模式等。并对OpenGL的图形元素及其属性进行简单介绍。本章中所用演示程序的绘制结果如图2.1所示。 (a)OpenGL图元 (b)不同属性的OpenGL幽元 图2.1 OpenGL二维图形绘制 【实验内容】 2.1 OpenGL图元 还是从一个简单的演示程序人手,它的绘制结果如图2.1(a)所示,由线条、四边形、三角形、任意多边形等组成。我们将对它进行逐段讲解,确保读者能掌握所有的细节,并最终绘制出图形。 在OpenGL中,所有显示的结果都是由一个或多个图形元素(以下简称图元)组成。图元包括了点、线段、多边形等。 首先看一下源文件中的内容。函数init()用来进行初始化。其中的函数glColor3f()将在后续介绍的图元属性部分进行详细的讲解,这里简单地说.就是设置使用黑色

(O.0,0.0,0.0)在灰色(O.93,0.93,0.93)的背景上绘制图形。 Bool init() { glClearColor(0 .93f,0. 93f,0. 93f,0. 0f) glColor3f(0. 0f,0 .0f,0. 0f); return true; } 一个创建图元的方法是调用函数gLBegin()。这个函数的唯一参数用于指定将要创建图元的类型。 所有的图元都由顶点组成,这些顶点由函数glVertex()指定。在OpenGL中有好几个函数和函数glVertex()格式相同,格式统一表示为glVertexNX(),这里N为函数的参数个数,x为参数的类型。例如,函数glVertex2i()有2个整型参数,而函数glVertex4s()有4个short类型的参数。一个附加的v可以放置在最后表明参数为指定类型的数组。如,函数glVertex2fv()接受包含2个浮点数的数组作为参数。本章的演示程序将使用函数grVertex3f(),它有3个浮点型参数,用于分别指定x,y,z坐标值。由于本章使用的坐标z值都为O,这里也可以使用函数g1Vertex2f()。 当所有的顶点都被指定后,绘制指定图元时,需要调用一次函数glEnd()。这个函数没有任何参数。 表2.1是OpenGL中每种图元的描述。 表2.1 OpenGL图元描述

最新AutoCAD二维图形绘制

A u t o C A D二维图形绘 制

AutoCAD上机实验的操作 上机实验时,要养成良好的上机操作习惯, ①身体正对计算机屏幕; ②右手通常操作鼠标,左手轻放在键盘上,大拇指主要 用来操作空格键(空格键相对于回车、重复、结束等 命令操作),大部分绘制命令可以用简称完成,用左 手其余手指操作完成; ③常用命令简称:直线L,多线段PL,圆弧A,圆C,椭圆EL,多 边形POL,写字MT,图案填充H,擦除E,拷贝CO,镜像 MI,偏移O,阵列AR,移动M,旋转RO,缩放SC,拉伸S,修剪TR,延伸EX,打断BR,斜角CHA,圆角F,爆炸X 等。如果没有快捷键,再采用工具条命令图标; ④快捷操作方法:命令简称+空格是最快捷的操作方法。 常用快捷键命令:

AutoCAD快捷命令大全

常用的AutoCAD功能键: 功能键功能功能键功能 Esc 取消命令执行 F7 栅格显示开关 F1 帮助键 F8 正交模式开关 F2 图形/文件切换 F9 捕捉模式开关 F3 对象捕捉开关 F10 极轴追踪开关 F4 三维对象捕捉开关 F11 对象捕捉追踪开关 F5 正等轴测图切换 F12 动态输入开关 F6 坐标显示开关 Enter 结束或重复前一个命令 AutoCAD数据的输入方法 调用或输入命令后,系统立即执行该命令,在执行命令的过程 中,系统会要求或提示用户输入相关数据: 输入数据的常用方法: ⑴直角坐标输入法: 坐标轴之间是两两相互垂直 的, 1)绝对直角坐标系: 在绝对直角坐标系中, 任何一点的绝对坐标增量都 是相对于原点(0,0)的增量 值。 AutoCAD将绝对直角坐标 系的原点放在绘图窗口左下角, 并且有坐标系图标表示。当输入绝对坐标时,可直接输入点的两个

相关文档