文档库 最新最全的文档下载
当前位置:文档库 › C# 绘制直线

C# 绘制直线

C#  绘制直线
C#  绘制直线

C# 绘制直线

在绘制直线时,需要先实例化一个Graphics对象,然后再定义画笔,最后使用Graphics类的DrawLine()方法进行绘制。DrawLine()有三种重载方法,详细介绍如下所示:

●void DrawLine(Pen pen,int x1,int y1,int x2,int y2) 其中pen为画笔,(x1,y1)为画线起点

坐标,(x2,y2)为画线终点坐标。

●DrawLine(Pen pen,Point p1,Point p2) 其中pen为画笔,点p1为画线起点坐标,点p2

为画线终点坐标。

●public void DrawLines(Pen pen,Point[] points) 此方法绘制多条线段。从points[0]到

points[1]画第1条线,从points[1]到points[2]画第2条线,依此类推。

例如,绘制一条正弦曲线,操作步骤如下:

下面通过一个实例,来说明怎么绘制曲线。该实例中,首先声明一个Graphics 对象;然后,使用for循环多次绘制直线完成正弦曲线的绘制。操作步骤如下所示:(1)打开Microsoft Visual Studio 2010。在菜单栏中,执行【文件】|【新建项目】命令,打开【新建项目】对话框。

(2)在【新建项目】窗口中,选择“Windows窗体应用程序”并在名称栏中输入项目的名称为“DrawLineTest”。然后,单击【确定】按钮进入可视化编程窗口。

(3)在【属性窗口】中设置各个控件的Name和Text属性并设置Form1的Text 属性值为“绘制正弦曲线”。然后,在From窗体的【事件窗口】中,为窗体添加Paint()事件

(4)双击Windows窗体,打开Form1.cs文件。为Paint()事件添加内容,代码如下所示。

C语言写的各种心形图案

C语言写的各种心形图 案 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

C语言写的各种心形图案 1./* 高手在民间,只能说这个是人才写的 */ #include "stdio.h" void main() { printf(" 我我\n 爱爱爱爱\n 你你你你\n"); printf(" 我我我\n爱 爱\n 你你\n"); printf(" 我我\n 爱 爱\n 你你\n"); printf(" 我我\n 爱爱\n 你你\n"); printf(" 我我\n 爱爱\n 你\n"); } /* 输出结果: ---------------------- 我我

爱爱爱爱 你你你你 我我我爱爱你你我我 爱爱 你你 我我 爱爱 你你 我我 爱爱 你 ---------------------- */ 2./* 结合课本输出几何图形 */ #include int main() {

int i,j; printf(" ****** ******\n" " ********** **********\n" " ************* *************\n"); //前三排的规律性不强所以直接显示就好了 for(i=0;i<3;i++)//显示中间三排{ for(j=0;j<29;j++) printf("*"); printf("\n"); } for(i=0;i<7;i++)//显示呈递减趋势规律的中间7排 { for(j=0;j<2*(i+1)-1;j++) printf(" "); for(j=0;j<27-i*4;j++) printf("*"); printf("\n"); } for(i=0;i<14;i++)//最后一个星号*与上面的规律脱节了所以独立显示 printf(" "); printf("*\n"); return 0; } /*

心形C语言代码

#include #include #define uint unsigned int #define uchar unsigned char uchar code table0[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//P0-P7依次点亮uchar code table1[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//P0-P7依次熄灭uchar code table2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//P7-P0依次点亮uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//P7-P0依次熄灭uchar temp,aa,bb,temp,temp1; void delay(uint z); void h(); void hh(); void hhh(); void hhhh(); void init(); void main()//主函数 { init(); while(520)//大循环 { h(); hh(); hhh(); hhhh(); } } void delay(uint z)//延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void h() { for(aa=0;aa<3;aa++) { for(bb=0;bb<8;bb++) { P0=table0[bb]; delay(50); } for(bb=0;bb<8;bb++) { P1=table0[bb];

第五单元精确绘图

第五单元精确绘图 说明:为了快速地精确地绘制图形,本单元在绘图中均使用“命令化名”来扫行绘图和编辑命令,同时也希望同学们能快速掌握执行命令来画图。 5-1 第1题 【操作要求】 1,建立绘图区域:建立合适的绘图区域,图形必须在设置的绘图区内。 2.绘图:按图5-1规定的尺寸绘图,中心线型为acad iso12W120,调整线型比例。3.保存:将完成的图形以KSCAD5-1.DWG为文件名保存在考生文件夹中。 图5-1 绘制图形 【操作步骤】 第1步:绘图前的设置工作。 1.设置图形界限。选择【格式】/【图形界限】菜单命令,回车(接受默认的起始点);输入:@150,150回车,完成图形界限的设置。 提示:如果单击【视图】工具条上的“俯视图”按钮,可将所设置的图形界限最大化。这样,可确保所绘图形在所设置的图形界限之内。 2.设置图形及线型。选择【格式】/【图层】菜单命令,在打开的【图层特性管理器】对话框中,单击按钮,新建二个图层。第一个图层,图层名为:中心线;颜色设置为“红色”,线宽默认;单击加载acad iso12W120(双点划线)线型,线宽为默认;单击按钮,将”全局比例因子”设置为:0.2。第二个图层,图层名为:尺寸标注,颜色、线型和线宽均默认。将“0层”的线宽设置为:0.2后,单击按钮,完成设置。如图5-1-1所示。 图5-1-1图层特性的设置 第2步:绘制定位线。 画垂直中心线。将“中心线层”置为:“当前层”,绘制二条相互垂直的中心线;2.画定位线。在命令行输入:O(“偏移”命令),输入:56,回车;选择水平中心线向下单击。回车继续执行“O”命令,输入:10,回车,选择垂直中心线,分别向左右单击,绘制的定位线,如图5-1-2所示。 图5-1-2 画定位中心线图5-1-3 画圆

PS精确绘制图形(非常有用)

作者:bones时间:2007-01-30来源:https://www.wendangku.net/doc/af160058.html,| 500) {this.resized=true; this.width=500;}" border=0> 写在前面的话: 对于Photoshop精确画图的能力以前也没有去想过,只是在Blueidea看到有人问如何在Photoshop 中画一个精确的45°角的扇形,所以有感而发,自己试了试,却也发现这还可以做为一个路径的组合使用的教程,所以就记录了下来,希望对在Photoshop中使用路径很茫然的朋友一些帮助。 选择工具箱中的椭圆工具,在工具选项栏中设定如下图所示(注意这里选择的是“路径”按钮选项)

500) {this.resized=true; this.width=500;}" border=0> 在画布上单击,就会得到一个10cm×10cm的正圆形路径 500) {this.resized=true; this.width=500;}" border=0> 在工具箱中选择直接选择工具(白色箭头),将最底端的锚点选中

500) {this.resized=true; this.width=500;}" border=0> 按下“DEL”键,将这个锚点删除 500) {this.resized=true; this.width=500;}" border=0> 在工具箱中选择钢笔工具,将光标移至半圆的一个开口的锚点处,按住Alt键,单击该锚点

500) {this.resized=true; this.width=500;}" border=0> 移动光标至另一开口的,按住Alt键,单击该锚点。 500) {this.resized=true; this.width=500;}" border=0>路径将被闭合

最美C语言情书(输出心形图案)

/***C语言心形图案***/ # include < stdio.h > # include < math.h > int main ( void ) { double y; unsigned m, i, j; for (y = 1; y >=0; y -= 0.1) { m = asin (y) * 10; for (i = 0; i < m; i++) { putchar (' '); } putchar ('*'); for (; i < 31 - m; i++) { if(15 == i || 16 == i) putchar('|'); else if (i > 15 && i < 27 && 0 == m) putchar('|'); else

putchar (' '); } putchar ('*'); for (; i < 62; i++) { if (31 + m == i || 62 - m == i) putchar('*'); else if (46 - sqrt(25-(5-m)*(5-m)) == i || 46 + sqrt(25-(5-m)*(5-m)) == i || 45 - sqrt(25-(5-m)*(5-m)) == i || 45 + sqrt(25-(5-m)*(5-m)) == i) putchar('o'); else putchar(' '); } putchar ('\n'); } for ( y = 0, j = 0; y >= -2; y -= 0.1 ) { int yy = fabs(y) * 10; m = (acos(y*0.5) * 20) - 31; if (!(yy % 6)) j++; for (i = 0; i < 63; i++) { if (m + j == i || 63 - m - j == i) putchar('*'); else if (y >= -0.6 && ( 38 - yy == i || yy + 26 == i)) putchar('v'); else if (y >= -1.6 && y < -0.7 && (31 - sqrt(25-(12-yy)*(12-yy)) == i || 32 + sqrt(25-(12-yy)*(12-yy)) == i)) putchar('e'); else if (-1.2 == y && i > 28 && i < 35) putchar('e'); else if ((yy == 17 && i == 31) || ((i == 26) && yy == 14) || ((i == 28 || i == 34) && yy == 16)) putchar('e'); else putchar(' '); } printf("\n"); } return 0; }

基于51单片机心形流水灯C语言源程序

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 { P0=0x00; delayms(400); P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50);

P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);

机械制图——精确绘图

本次课主要讲两部分内容: 第四章精确绘图 第六章图形显示控制 教学目的: 1、掌握对象捕捉功能和绘图辅助工具,以便按尺寸精确作图。 2、掌握图形显示控制功能。 教学重点: 二维绘图坐标系、对象捕捉、图形显示控制。 教学难点: 对象捕捉;显示缩放命令的参数。 第四章精确绘图 一、二维绘图坐标系 AutoCAD中的二维坐标系有世界坐标系(WCS)和用户坐标系(UCS)两种形式。它们是根据右手笛卡尔坐标系定义的。 1、种类: (1)世界坐标系WCS: WCS是AutoCAD默认的绘图坐标系。 WCS的坐标原点位于图纸左下角,X轴为水平轴,向右为正; Y轴为垂直轴,向上为正;Z轴垂直于XY平面,指向绘图者为正。 WCS不能被改变。

WCS图标在原点WCS图标不在原点(2)用户坐标系UCS: UCS是用户自己相对于WCS建立起来的坐标系。 用户坐标系可用UCS命令来创建。 UCS图标在原点UCS图标不在原点 2、UCS命令 功能:改变坐标系的原点和方向,方便作图。 调用: (1)定义UCS的原点 * 单击“UCS”工具栏中图标; * 下拉菜单:工具→新建UCS→原点; * 在命令行中输入“UCS” 命令,选择M参数。 (2)原点不变,UCS绕Z轴旋转 * 单击“UCS”工具栏中图标; * 下拉菜单:工具→新建UCS→ Z; * 在命令行中输入“UCS” 命令, 选择N参数,再选择Z参数,指 定旋转角度。 (3)选定一个对象来定义新的坐标系 * 单击“UCS”工具栏中图标; * 下拉菜单:工具→新建UCS→对象; * 在命令行中输入“UCS” 命令,选择N参数,指定对象。 新建UCS的原点和X轴方向根据对象和拾取点决定。 (4)恢复世界坐标系 * 单击“UCS”工具栏中图标; * 下拉菜单:工具→新建UCS→世界; * 在命令行中输入“UCS” 命令,直接回车。 二、对象捕捉 1、基本设置 调出SP78图4-20“选项”对话框: * 在状态栏的“Osnap”按钮上单击鼠标右键,弹出快捷菜单,选“Settings…”→单击“选项”(Options…)按钮→Options对话框→Drafting 选项卡进行基本设置。

c语言心形代码及图形

#include #include #include #define r 10 #define R 172 int main(void) { FILE *fp; int n; if((fp=fopen("LOVE.txt","w"))==NULL) { printf("File open error!\n"); exit(0); } int i,j,e; int a; for(i=1,a=r;i0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*sqrt((r*r-(a-i)*(a-i)));e++)

{ printf("\3"); fprintf(fp,"%s"," * "); } for(j=(int) ( 2*( r-sqrt((r*r-(a-i)*(a-i)))) );j>0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*sqrt( (r*r-(a-i)*(a-i)) );e++) { printf("\3"); fprintf(fp,"%s"," * "); } printf("\n"); fprintf(fp,"%s","\n"); } for(i=1;i<40;i++) { if(i==6) { printf("(∩_∩)I LOVE MY MOTHER(∩_∩)"); i+=30; } printf("\3"); fprintf(fp,"%s"," * "); } printf("\n"); for(i=1;i<=R/2;i++) { if(i%2||i%3)continue; for(j=(int) ( R-sqrt( (double) (R*R-i*i) ) );j>0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*r) );e++) { printf("\3"); fprintf(fp,"%s"," * " ); } printf("\n");

小学数学——简单几何图形

简单几何图形 本专题共设计了七个课时(变动范围为两个课时),内容包括:直线、射线、线段和角;长方形、正方形的初步认识和垂线、平行线;长、正方形的周长和面积;平行四边形、三角形和梯形;圆。主要针对三年级级以上学生开设,也可适当选择一二课时的内容向一二年级的学生解说,而对于高年级学生,因对一二课时的内容了解较多,可视情况适当删减其中的内容,而对于简单几何图形,这几个课时重在培养学生的动手能力、自学探索能力及锻炼团队合作精神,希望大家可以在快乐中学到知识。另外,中间贯穿了“转化”的重要数学思想,涉及一些课外的知识,希望可以开拓学生的视野。 第一课时 一、直线、射线和线段和角: 1、直线、射线和线段概念及异同点(直线:过两点有且只有一条直线(两点确定一条直线。射线:直线上的一点,可向一方无限延伸。线段:直线上两点间的一段。) 三线表示: A a B 线段有两种表示方法: 线段:(1)用线段的两个端点的大写字母表示:线段Array AB或线段BA;(2)用一个小写字母表示:线段a; 注:线段AB 和线段BA表示同一条线段。 射线:一条射线可用它的端点和射线上另一点来表示:射线OP 注:(1)表示端点的字母必须写在另一个字母的前面; (2)同一条射线可以有不同的表示方法:射线OP或射线OC 直线:直线有两种表示方法: (1)用直线上的两个大写字母表示:直线MN或直线NM; (2)用一个小写字母表示:直线b; 注:直线MN或直线NM表示同一条直线。 初显身手: 2、找出图中的线段,射线和直线,并用所标的字母表示。 A B C

。。。 解: 线段:线段AB,线段AC,线段BC 射线:射线AB(或射线AC),射线CB(射线CA),射线BA,射线BC 直线:直线AB(或直线AC,或直线BC) 小试牛刀: B 1.如图,从A地到B地有3条路,走哪条路相对近一些? 3 答:走第3条路相对近些。 2、从A地到B地能否修一条最短的路?如果能,你认为 2 应该怎么修,说说你的理由。 A 1 答:连接图中A,B两地的线段为最短的路。 3、由上述两小题的思考,你认为在两点之间的所有连线中,什么样是最短的? 答:两点之间的所有连线2中,线段最短。两点之间线段的长度,叫做这两点之间的距离。 2、认识角 (1)引:游戏:十秒钟内过一点可以画几条射线?试画,讨论 结论:过一点可以画无数条射线,这一点称为公共端点。 观察:找一找生活中的角,比一比 (2)概念:从一点引出两条射线所组成的图形是角 (3)通过操作,引导学生找出角的大小和什么有关。 学生用准备的两个硬纸条做成的活动角,按住一个纸条不动,转动另一个纸条,可以出现各种形状、大小不同的角 问题:角的大小和什么有关?(跟长度无关) (4)比较角的大小(三角板演示):先使两个角的顶点和一边重合,再看另一边,哪个角的边在外面,哪个角就大,如果另一条边也重合,说明这两个角相等。 (5)角的分类及基本含义:直角、钝角、锐角、平角、周角 2、直线、射线和线段的画法

精确绘图方法

编号成果类型所属专业(课程)主题发表刊物刊期教案计算机CAD软件应用 精确绘图方法

理论授课教案(首页) 授课日期 班级 课题:精确绘图方法 教学目的要求: 1、掌握如何通过常用的指定坐标法绘制图形,在不输入坐标的情况下快速、精确地绘制图形。 2、掌握各种精确绘图手段,并能够利用它们进行精确绘图。 教学重点、难点: 1、了解坐标系的创建、表示方法,掌握如何设置和使用极轴追踪和极轴捕捉,从而快速绘制倾斜直线。 2、了解对象捕捉和对象捕捉追踪的使用方法。授课方法:任务驱动法、实例演示法、分组讨论法、练习法 教学参考及教具(含多媒体教学设备): 1、软件教程书籍、软件练习习题图册 2、软件教学课件及示范视频、多媒体电教设备 授课执行情况及分析: 通过讲解和上机操作练习,学生基本能够掌握精确绘图方法。巡回指导过程中,发现同学们的绘图方法和步骤不尽相同, 基本有自己的绘图思路,整体效果良好,课堂气氛活跃,大部分 同学们可以独立完成课堂作业。 板书设计或授课提纲 §4精确绘图方法 AutoCAD的坐标系设置绘图单位与绘图边界 使用栅格、捕捉和正交辅助定位 通过捕捉图形几何点精确定位点 使用追踪精确定位点动态输入与选择预览

教学环节 及时间分配 教学内容教学方法 组织教学 导入新课 5分1.问候,检查学生出勤情况 2.检查学生课前准备情况 与手工画图相比,使用AutoCAD画图的 优势之一在于它为用户提供了众多辅助画 图手段。例如,利用坐标可轻松定位点, 利用捕捉和栅格可控制光标的精确移动, 利用正交和极轴追踪可绘制水平、垂直或 倾斜直线等。这一章我们就来细细讲述各 种精确绘图方法。 §4精确绘图方法 一.AutoCAD 的坐标系 默认情况下,AutoCAD自动将当前坐标 系设置为世界坐标系,即WCS,它包括X轴 和Y轴。如果在三维空间工作,还有一个Z 轴。在用户界面的底部状态栏左侧显示了 当前光标所在位置的三维坐标值,同时在 图形编辑窗口显示了坐标系图标,以指明 当前坐标系的性质。 考勤 登记 提问互 动,引导 学生进入 学习角色

第三课:AI基本图形的绘制与编辑

第三课:基本图形的绘制与编辑 第一节:认识路径 路径是通过绘图工具绘制的任意线条,它可以是一条直线,也可以是一条曲线,还可以是多条直线和曲线所组成的线路。一般情况下,路径是由锚点和锚点之间的线段所组成。锚点标记路径段的端点,在曲线段上,每个选中的锚点显示一条或两条方向钱,方向线以方向点结束。方向线和方向点的位置决定曲线段的大小和形状。移动这些元素将改变路径中的曲线的形状。 注:在Illustrator中路径是可以打印的,因为这是一个矢量绘图软件。 一、路径分为:闭合路径、开放路径 1.闭合路径:闭合路径是指起始点与终止点相连接的曲线。绘制完成的闭合路径是没有终 止点的,如:矩形、椭圆、多边形和任意绘制的闭合曲线等。(看不出起点和终止点的直线或曲线(如圆、矩形)) 2.开放路径:开放路径是由起始点、中间点终止点所构成的曲线,一般不少于两个锚点, 如直线、曲线和螺旋线等。(一条直线或曲线,有起点和终点) 二、锚点: 路径是由一条或多条线段组成的线,锚点就是这些线段从开始至结束之间的结构点,路径可以通过这些结构点来绘制其轮廓形状。 锚点分为:分为平滑点、直角点、曲线角点、对称角点和复合角点。 平滑点:平滑点两侧有两条趋于直线平衡的方向线,修改一端方向点的方向对另一端方向点有影响。修改一端方向线的长度对另一端方向线没有影响。 直角点:直角点两侧没有控制柄和方向点,常被用于线段的直角表现上。 曲线角点:该角点两侧有控制柄和方向点,但俩侧的控制柄与方向点是相互独立的即单独控制其中一侧的控制柄与方向点,不会对另一侧的控制柄与方向点产生影响。 对称角点:该角点两侧有控制柄和方向点,但俩侧的控制柄与方向点是相同的即单独控制其中一侧的控制柄与方向点,会对另一侧的控制柄与方向点产生影响。 复合角点:该角点只有一侧有控制柄和方向点,常用于直线与曲线连接的位置,或直线与直线连接的位置。 第二、三节:路径的绘制(钢笔工具) 钢笔工具(P): 钢笔工具是最基本的路径绘制工具,运用它可以绘制出各种形状的直线和平滑流畅的曲线路径,即可以创建复杂的形状,也可以在绘制路径的过程中对路径进行简单的编辑。 一、绘制直线\曲线路径 按Ctrl键在空白处单击强制结束绘制或者是调整路径. 按Shift键绘制水平或垂直或45度角直线 按Alt键可以删除控制手柄或者将钢笔工具转化成转换节点工具

精确绘制简单二维图形的方法1

《AutoCad实用》教案 2009.1.8

精确绘制简单二维图形 一、绘制简单二维图形常用的绘图命令及编辑命令 1简单绘图命令 2简单编辑命令 直线、射线、构造线删除、修剪、延伸、拉长、打断、打断于点、倒角、圆角 圆、圆弧、椭圆、椭圆弧复制、镜像、偏移、阵列、移动、旋转 矩形、多边形 (射线与构造线是无限长的直线,在画大图时作为铺助对齐线使用,一般不用) 二、精确绘制简单二维图形 1、常用的方法 1)使用坐标 2)使用鼠标+键盘 3)使用对象捕捉 4)使用编辑命令 5)使用栅格+捕捉 2、认识坐标系,学会使用坐标 1)认识坐标系 世界坐标系——系统默认的二维坐标系,打开AutoCAD软件时,屏幕左下角有世界坐标系的标记,X、Y两条线的交点就是世界坐标系的原点,也就是二维坐标的(0,0)点,世界坐标系在画二维图时一般不做任何调整,也就是说二维图都是在世界坐标系下完成的用户坐标系——只要用命令对世界坐标系进行调整(如移动、旋转),则世界坐标系马上变成用户坐标系,用户坐标系在绘制三维图时常用2)学会使用坐标 ①常见的坐标种类及表示方法

绝对坐标(0,0)、相对坐标(@ 0,0)、绝对极坐标(0 < 0)、相对极坐标(@ 0 < 0) ②各种坐标的典型特征 绝对坐标(0,0)与绝对极坐标(0 < 0)所有的坐标点的值都是相对于坐标原点给定的,用键盘输入坐标时需计算出每个点准确的绝对坐标值,使用起来非常麻烦一般不采用,但要学好坐标必须先认识它 绝对坐标(0,0) 例1:画一个平行四边形,尺寸如图所示,起点是(0,0) 注:1.第一点(起点)的绝对坐标必须给定; 2.以后每个点的坐标都要相对于原点(0,0)准确计算出来 3坐标中的豆号必须是英文状态下的豆号 4.输入坐标时不带括号

OSG绘制基本图形实验一

天津理工大学 计算机科学与技术学院 实验报告 2015 至2016 学年第二学期 课程名称计算机图形学 学号学生姓名年级 专业课程号实验地点 实验时间 主讲教师 辅导教师

实验(一)实验名称绘制基本图形 软件环境Visual Studio 2010 OSG-3.1.0 Windows 7 硬件环境 2G内存 显卡GT610 CPU奔腾双核硬盘320G 实验目的 1. 理解图形元素显示的基本原理,掌握扫描转换直线段的常用算法原理,扫描转换圆弧的常用算法原理。 2. 熟悉OpenSceneGraph常用几个类(Group,Geode,Geometry,Node,Viewer,osg::Vec3Array) 3. 熟悉OpenSceneGraph构建场景的基本框架 4. 掌握绘制不同大小和颜色的点的方法 5. 掌握绘制不同线型和颜色的直线的方法(直线,折线,环线) 6. 掌握绘制彩色多边形边框的方法(各种设备) 7. 熟悉OpenSceneGraph的编程环境 实验内容(应包括实验题目、实验要求、实验任务等)

实验题目: 1.绘制基本形状(osg::PrimitiveSet::POINTS,osg::PrimitiveSet::LINES, osg::PrimitiveSet::LINE_STRIP,osg::PrimitiveSet::LINE_LOOP,osg::PrimitiveSet::POLYGON,osg::PrimitiveSet::QUADS,osg::PrimitiveSet::QUAD_STRIP,osg::PrimitiveSet::TRIANGLES,osg::PrimitiveSet::TRIANGLE_STRIP,osg::PrimitiveSet::TRIANGLE_FAN)。 2.实现各自名字的绘制。 3.颜色的设置要合适。 实验要求: 1.设计结构合理、扩展灵活。 2.每个设备类独立封装。 3.提交电子版实验报告及工程代码,试验报告模板可参考计算机学院统一模板 4.提交的工程代码必须删除其中的Debug或Release文件夹 实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)

测绘工程CAD5-精确绘制图形与控制图形显

第五章精确绘制图形与控制图形显示 5.1坐标系统与坐标输入方法 一、坐标系统 在绘图过程中要精确定位某个对象时,必须以某个坐标系作为参照,以便精确拾取点的位置。通过AutoCAD的坐标系可以提供精确绘制图形的方法,可以按照非常高的精度标准,准确地设计并绘制图形。坐标(x,y)是表示点的最基本方法,在AutoCAD中,坐标系分为世界坐标系统(world coordinate system,简称WCS)和用户坐标系统(User coordinate system,简称UCS)。两种坐标系下都可以通过坐标(x,y)来精确定位点。 1、WCS世界坐标系 世界坐标系是AuoCAD的基本坐标系,它由三个相互垂直并相交的坐标抽X、Y、Z组成,其坐标原点和坐标轴方向都不会改变。世界坐标系默认情况下,X轴正方向水平向右。Y轴正方向垂直向上,Z轴正方向垂直屏幕向外指向用户,WCS坐标轴的交汇处显示“口”形标记(如图5.1),但坐标原点并不在坐标系的交汇点,而位于图形窗口的左下角,所有的位移都是相对于原点计算的,并且沿X轴正向及Y轴正向的位移规定为正方向。 图5.1世界坐标系 2、UCS用户坐标系 为了更好地辅助绘图,用户经常需要修改坐标系的原点和方向,AuoCAD提供了可变的用户坐标系以方便用户绘图。UCS的原点以及X轴、Y轴、Z轴方向都可以移动及旋转,甚至可以依赖于图形中某个特定的对象。尽管用户坐标系中3个轴之间仍然互相垂直,但是在方向及位置上却都更灵活。另外,UCS没有“口”形标记。为了帮助用户直观地看到用户坐标系,AuoCAD默认地在图形窗口左下角处显示坐标系图标,此时用户坐标系和世界坐标系重合。坐标原点处有一方格,表示从UCS的XOY平面上方观察。用户可以在绘图过程中根据需要定义UCS。 图5.2用户坐标系 执行方式: 命令行:UCS 菜单:【工具】—【UCS】 工具栏:“标准”工具栏—坐标系

画几何图形教案

第三课画几何图形教学目标 学会几何图形的画法。 教学任务 1、学习椭圆、矩形、圆角矩形工具的使用方法。 2、能运用画图工具作简单的规则图形。 教学方法 展示点评 教学重点、难点 “椭圆”、“矩形”、“圆角矩形”等画图工具的使用方法。 教学过程 教学引入 (讲解上节课学生的作业,点评学生的作品) 一、引入 在上课前老师先请你们看一幅画(演示图画),请你们仔细观察一下,这个房子分别是由哪些图形组成的?(长方形、正方形、圆角长方形、椭圆)那我们应该怎样来画这座房子呢?今天我们就来学习。 出示课题:画方形和圆形(板书) 二、新课 1.矩形工具(画房子的主体) 首先我们应该画出房子的主体,是一个长方形,我们可以用工具箱中的矩形工具来画。(师演示) (1)单击工具箱中的“矩形”工具按钮。 (2)在画图区适当的位置按下左键,以确定房子主体的左上角位置,再向右下角拖动,满意后,松开左键,这样房子的主体就画好了。 请一位同学上来演示用矩形工具画一扇门。(注意门的位置) 问:房子的窗户是什么形状的?正方形我们怎么来画呢? 请同学们自己在书上找到答案(读一读)。 在房子主体内确定好窗户的位置后,按下Shift键,再拖动鼠标,满意后松开鼠标,窗户就画好了。

下面请同学们练习,教师巡视指导。 2.圆角矩形工具(画房子的房顶、烟囱) 房顶是什么形状的? 我们可以用工具箱中的“圆角矩形”工具来画。它的画法与“矩形”工具是一样的,谁来试一下,把房顶和烟囱画出来。 学生演示(确定好房顶的位置后,拖动出一个合适的圆角长方形)。 3.椭圆工具(画烟) 烟囱里冒出的烟是椭圆形的,我们可以用工具箱中的“椭圆”工具来画,先单击“椭圆”工具,然后从烟囱口向右上方,分别拖动画出三个椭圆。(师演示) 学生练习(把剩余部分画好) 练习 用多边形工具画出书上p38的图形,保存在指定的文件夹

C语言闪烁心形编码及解析

【C语言】编程输出“小?”的代码 #include #include #include #define r 10 #define R 172 int main() { int i,j,e; int a; int n; FILE *fp; if((fp=fopen("LOVE.txt","w"))==NULL) { printf("File open error!\n"); exit(0); } for(i=1,a=r;i

for(j=(int) ( r-sqrt((r*r-(a-i)*(a-i))) );j>0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*sqrt((r*r-(a-i)*(a-i)));e++) { printf("\3"); fprintf(fp,"%s"," * "); } for(j=(int) ( 2*( r-sqrt((r*r-(a-i)*(a-i)))) );j>0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*sqrt( (r*r-(a-i)*(a-i)) );e++) { printf("\3"); fprintf(fp,"%s"," * "); } printf("\n"); fprintf(fp,"%s","\n"); } for(i=1;i<40;i++) { if(i==6) { printf("(∩_∩)YOU AND ME(∩_∩)"); i+=24; } printf("\3"); fprintf(fp,"%s"," * "); } printf("\n"); for(i=1;i<=R/2;i++) { if(i%2||i%3)continue; for(j=(int) ( R-sqrt( (double) (R*R-i*i) ) );j>0;j--) { printf(" "); fprintf(fp,"%s"," "); } for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*r) );e++)

3、cad绘制精确图形(完成)

第三CAD绘制精确图形 一、捕捉和栅格 1、栅格(F7)是图框内使用的用于定位参照、对齐、估算长度的工具。用户用通过指定的X、Y方向间距在绘图界限内显示一个栅格点阵(工具→草图设置→捕捉和栅格)。栅格显示模式的设置可让用户在绘图时有一个直观的定位参照。当栅格点阵的间距与光标捕捉点阵的间距相同时,栅格点阵就形象地反映出光标捕捉点阵的形状、栅格点阵同时直观地反映出绘图界限。 2、捕捉(F8)控制捕捉位置处的不可见矩形栅格,以限制光标仅在指定的X 和Y 间隔内移动。 二、正交(F8、命令:ortho) 在打开正交模式后,不管鼠标处于任何位置,绘制直线时始终在水平或垂直方向上移动。 三、极轴(F10) 极轴是可以沿某一角度追踪的功能。默认的极轴追踪是正交方向的,即0°、90°、180°、270°方向。可以在极轴追踪(工具→草图设置→极轴追踪)中设置“增量角”的角度,如设为15°,则在绘制直线时每增加15°的角度的方向追踪。 四、对象捕捉(F3) 1、可以迅速、准确地捕捉到某些特殊点,从而精确地绘制图形 2、对象捕捉模式设置:工具→草图设置→对象捕捉 3、对象捕捉各种点可以对绘制时带来方便,但最好不要全部选择,因为各个捕捉点之间都存在优先选择次序,如全部选择会相互干扰,因此在日常绘制中,只要开启需要的捕捉点便可。 五、对象追踪(F11) 对象追踪可以看作是对象捕捉和极轴追踪的联合应用。根据对象捕捉确定对象的某一特征点(只需将光标在该点上停留片刻,当自动捕捉标记中出黄色的标记即可),然后以该点为基准点进行追踪,以得到准确的目标点。 六、通过捕捉图形几何点精确定位 在绘制图形的过程中,使用对象捕捉工具栏,可以将指定点快速、精确地限制在已有对象的特殊位置上。 临时追踪点端点交点延长线象限点垂足插入点最近点对象捕捉设置 捕捉自中点外观交点圆心切点平行线节点无捕捉 临时追踪点(命令tt):通常与其他对象捕捉功能结合使用,用于创建一个临时追踪参考点,然后绕该点移动光标,即可看到追踪路径,可在某条路径上拾取一点。 捕捉自(命令from):通常与其他对象捕捉功能结合使用,用于拾取一个与捕捉点有一定偏移量的点。例如,在系统提示输入一点时,单击此按钮及“捕捉端点”按钮后,在图形中拾取一个端点作为参考点,然后在命令行“-from基点:-endp于<偏移>:”的提示下,输入以相对极坐标表示的相对于该端点的偏移值(如@8<45),即为获得所需点。 捕捉端点(命令end):可捕捉对象的端点,包括圆弧、椭圆弧、多段线段、直线线段、多段线的线段、射线的端点,以及实体及三维面边线的端点。 捕捉中点(命令mid):可捕捉对象的中点,包括圆弧、椭圆弧、多线、直线、多段线的线段、样条曲线、构造线的中点,以及三维实体和面域兑现任意一条边线的中点。 捕捉交点(命令int):可捕捉两个对象的交点,包括圆弧、圆、椭圆、椭圆弧、多线、直线、多段线、射线、样条曲线、参照线彼此间的交点,还能捕捉面域和曲面边线的交点,但却不能捕捉三维实体的边线的角点。如果时按相同的X、Y 方向的比例缩放图块,则可以捕捉图块中圆弧和圆的交点。另外,还能捕捉两个对象延伸后的交点(我们称之为“延

C语言写的各种心形图案

C语言写的各种心形图案 1./* 高手在民间,只能说这个是人才写的 */ #include "stdio.h" void main() { printf(" 我我\n 爱爱爱爱\n 你你你你\n"); printf(" 我我我\n爱 爱\n 你你\n"); printf(" 我我\n 爱 爱\n 你你\n"); printf(" 我我\n 爱爱\n 你你\n"); printf(" 我我\n 爱爱\n 你\n"); } /*

输出结果: ---------------------- 我我 爱爱爱爱 你你你你 我我我爱爱你你我我 爱爱 你你 我我 爱爱 你你 我我 爱爱 你 ---------------------- */

2./* 结合课本输出几何图形 */ #include int main() { int i,j; printf(" ****** ******\n" " ********** **********\n" " ************* *************\n"); //前三排的规律性不强所以直接显示就好了for(i=0;i<3;i++)//显示中间三排{ for(j=0;j<29;j++) printf("*"); printf("\n"); } for(i=0;i<7;i++)//显示呈递减趋势规律的中间7排 { for(j=0;j<2*(i+1)-1;j++) printf(" "); for(j=0;j<27-i*4;j++) printf("*"); printf("\n"); }

for(i=0;i<14;i++)//最后一个星号*与上面的规律脱节了所以独立显示 printf(" "); printf("*\n"); return 0; } /* ------------------------------ ****** ****** ********** ********** ************* ************* ***************************** *************************** *********************** ******************* *************** *********** ******* *** * ------------------------------ */

绘制基本图形对象

一、绘制基本图形对象 1、几个基本常用的命令 1.1、鼠标操作 通常情况下左键代表选择功能,右键代表确定“回车”功能。如果是3D鼠标,则滚动键起缩放作用。拖拽操作是按住鼠标左键不放拖动鼠标。但是在窗口选择时从左往右拖拽和从右往左拖拽有所不同。 窗选:左图从左往右拖拽选中实线框内的物体,只选中了左边的柱子。框选:右图从右往左拖拽选中虚线框内的物体和交叉的物体,选中了右边的柱子和梁。 1.2、Esc取消操作:当正在执行命令的过程中,敲击Esc键可以中止命令的操作。 1.3、撤销放弃操作:autocad支持无限次撤销操作,单击撤销按钮或输入u,回车。 1.4、AutoCAD中,空格键和鼠标右键等同回车键,都是确认命令,经常用到。 1.5、经常查看命令区域的提示,按提示操作。 2、绘制图形的几个操作 这是cad的绘图工具条,在使用三维算量往往不需要使用,因此已把该工具条隐藏。为了了解cad概念,以下介绍几个基本的命令。 2.1绘制直线:单击工具条直线命令或在命令行中输入L,回车。在绘图区单击一点或直接输入坐标点,回车,接着指定下一点,回车,重复下一点,或回车结束操作。或者输入C闭合。 举例:绘制一个三角形的三个边: 命令行输入:L 回车指定第一个点: 单击一点:回车。重复单击另一点,回车。 输入:C回车。直线闭合,形成一个三角形。 2.2绘制多段线:多段线是由一条或多条直线段和弧线连接而成的一种特殊的线,还可以具备不同宽度的特征。快捷键:PL。在三维算量中定义异形截面、手绘墙、梁等时常用。 举例:绘制一个异形柱截面 命令行输入:PL,回车。指定下一点,输入w(宽度),输入1,回车,修改了多段线线的宽度为1。输入快捷键F8,使用cad的正交功能,,保持直线水平,输入:500。输入:A,开始绘制圆弧,单击另一点绘制一个圆弧。输入:L,切换到绘制直线,单击一点,绘制一段直线。输入:A,绘制一个圆弧与开始点闭合为一个界面形状。 接下来就可以定义一个异形截面的柱,来选择该多段性即可。

简单几何图形练习题

一.选择题(共14小题) B. B.个顶点A沿表面爬行到顶点G处,最短路线为() B. ()

B . B . . 那么正面的数字是( ) B . 二.填空题(共10小题) 15.圆柱、圆锥、正方体、长方体、棱柱、棱锥、球,在这些几何体中,表面是平面的有 ;表面没有平面的有 ;只有两个面的有 . 16.如图,正方形ABCD 的边长为a ,以直线AB 为轴将正方形旋转一周,所得圆柱如图是某个几何体的表面展开图,那么这个几何体是 . 18.已知一个圆柱的侧面积展开图为如图所示的矩形,则其底面圆的半径为 . 19.圆柱的侧面展开图是 ,圆锥的侧面展开图是 ,直棱柱的侧面展开图是 .

20.如图,是正方体的一种平面展开图,各面都标有数字,则数字为﹣4的面与它对面的数字之积是. 21.)一个多面体有12条棱,6个顶点,则这个多面体是面体. 22.观察图中的立体图形,分别写出它们的名称. 23.如图,这个几何体的名称是;它有个面组成;它有个顶点;经过每个顶点有条边. 24.一个n棱柱有18条棱,一条侧棱长10cm,底面每条边长都是5cm,则它是棱柱,侧面积 为,所有棱长的和为. 三.解答题(共6小题) 25.某包装盒的展开图,尺寸如图所示(单位:cm). (1)这个几何体的名称是; (2)求这个包装盒的表面积. 26.用边长为1的小正方块粘合成如图所示的模型,要在模型表面上涂油漆,如果除去粘合部分不涂外,求模型的涂漆面积. 27.(2006秋?邹城市期末)如图所示,在无阴影的方格中选出两个画出阴影,使它们与图中四个有阴影的正方形一起可以构成一正方体的表面展开图.(填出两种答案) 28.下列图形是一些几何体的平面展开图,写出这些几何体的名称.

相关文档