资源描述
第二章图形程序CG新第二章第二章 C C语言图形程序设计语言图形程序设计puter Graphics 计算机图形得生成一般包括两种方法:交互绘图和程序绘图。所谓交互绘图则就是应用交互式软件,通过交互命令(键盘命令、菜单命令等)由计算机生成图形。程序绘图就是交互绘图得基础。本章将结合典型得例子,介绍图形程序得设计方法。而程序绘图,就就是先用计算机语言(如C语言)编写好绘图程序,然后运行该程序并绘出图形。第二章第二章 C语言图形程序设计语言图形程序设计 在编制图案程序时,首先要分析图案得变化规律,找出基本图形(子图形);图形变化得轨迹;图案所需参数(定形参数、定位参数)并建立参数方程;编制绘图程序并上机运行。2-1 2-1 图案程序图案程序Ro(x0,y0)R R 1R=R 1R R 1R1(xi,yi)t=2/nxi=R cos(ti)+x0yi=R sin(ti)+y0circle(xi,yi ,R1)t第二章第二章 C语言图形程序设计语言图形程序设计 将矩形等分成n份,然后将A、B两点与各等分点用直线两两连接。例例2-22-2:AB第二章第二章 C语言图形程序设计语言图形程序设计 将半径为R得圆周等分成n份,然后将各等分点用直线两两连接。例例2-32-3:01234567金刚石图案第二章第二章 C语言图形程序设计语言图形程序设计当n为质数时,可以一笔画出金刚石图形。第二章第二章 C语言图形程序设计语言图形程序设计心形图案心形图案例例2-42-4:A第二章第二章 C语言图形程序设计语言图形程序设计例例2-52-5:肾形图案肾形图案第二章第二章 C语言图形程序设计语言图形程序设计星形图案星形图案例例2-62-6:第二章第二章 C语言图形程序设计语言图形程序设计大家学习辛苦了,还是要坚持继续保持安静继续保持安静2-2 2-2 通用图形程序通用图形程序 在设计和绘图工作中,各个专门领域都有自己常用得图形符号和一些通用图形。为了减少重复工作以减轻绘图工作量和方便绘图,一般把这些图形绘制设计成独立得功能模块,也就就是图形子程序或图形函数,供用户在绘图时选择调用。第二章第二章 C语言图形程序设计语言图形程序设计例例2-7:以外接圆圆心定位得正多边形。以外接圆圆心定位得正多边形。P1P2P3P4O(x0,y0)R定形参数为:边数为n(n不能小于3)。外接圆半径为R。定位参数为:外接圆圆心坐标(x0,y0)起始点半径得倾角。第二章第二章 C语言图形程序设计语言图形程序设计计算多边形得顶点坐标。PsP1P2P3O(x0,y0)R、其中:=2/n,i=n 1。用直线命令画多边形:line(xi,yi,xi+1,yi+1 )第二章第二章 C语言图形程序设计语言图形程序设计LMNa1R1a2R2反反正正反反正正正正反反正正反反反反正正反反正正正正反反正正反反两相邻正方形之间得几何关系:正方形缩小得比例系数:第二章第二章 C语言图形程序设计语言图形程序设计2-3 2-3 设计中典型得绘图方法设计中典型得绘图方法 在设计和绘图工作中,为了提高设计绘图得效率,常采用参数绘图法和子图形绘图法。1 1、参数绘图法参数绘图法第二章第二章 C语言图形程序设计语言图形程序设计2 2、子图形绘图法子图形绘图法第二章第二章 C语言图形程序设计语言图形程序设计2-4 2-4 图形函数及其用法图形函数及其用法 一、文件包含命令一、文件包含命令:graphics、H 关于图形函数得所有定义及函数原型都包含在中,所以在程序文件得开头必须写上文件包含命令。二、图形系统管理函数二、图形系统管理函数 1、初始化函数初始化函数:initgraph 该函数得功能就是将相应得图形驱动程序装入内存,并将屏幕设置为指定得图形模式。第二章第二章 C语言图形程序设计语言图形程序设计函数原型函数原型:initgraph(&gdriver,&gmode,“path”)指明图形驱动程序所在路径指明图形驱动程序所在路径(字符串字符串)设置图形显示模式设置图形显示模式(整型指针参数整型指针参数)指定要装入得图形驱动程序指定要装入得图形驱动程序(整型指针参数整型指针参数)2、关闭图形函数关闭图形函数:closgraph 该函数得功能就是“释放所有图形系统分配得内存区,恢复到调用之前得状态。”函数原型函数原型:closgraph()无参数函数。无参数函数。第二章第二章 C语言图形程序设计语言图形程序设计 二、屏幕管理函数二、屏幕管理函数 1、设置视图区函数设置视图区函数:setviewport 该函数得功能就是“在屏幕上定义一个视图区。”函数原型函数原型:setviewport(x1,y1,x2,y2,c)x1,y1为矩形视图区得左上角顶点得坐标;x2,y2为矩形视图区得右下角顶点得坐标;c 为裁剪状态参数,c=1,超出视图区得图形自动被裁剪;c=0,对超出视图区得图形不裁剪。在默认得情况下,整个屏幕即为一个视图区。第二章第二章 C语言图形程序设计语言图形程序设计 2、清除视图区函数清除视图区函数:clearviewport 该函数得功能就是“清除掉当前得视图区,即回到默认状态。”函数原型函数原型:clearviewport()无参数函数。无参数函数。3、清屏函数清屏函数:cleardevice 该函数得功能就是“立即清除全屏幕,但所有设置不变。函数原型函数原型:cleardevice()无参数函数。无参数函数。第二章第二章 C语言图形程序设计语言图形程序设计 三、图形属性控制函数三、图形属性控制函数 1、设置背景颜色函数设置背景颜色函数:setbkcolor(color)该函数得功能就是“设置绘图时得背景颜色。”函数原型函数原型:setbkcolor(color)color为整形数据,代表所取得颜色,可以就是整形数值,也可以用符号常数。2、设置前景颜色函数设置前景颜色函数:setcolor(color)该函数得功能就是“设置绘图时得前景颜色。”函数原型函数原型:setcolor(color)color为整形数据,代表所取得颜色,可以就是整形数值,也可以用符号常数。第二章第二章 C语言图形程序设计语言图形程序设计 四、绘图函数四、绘图函数 1、直线类绘图函数直线类绘图函数:line(x1,y1,x2,y2)lineto(x,y)linerel(dx,dy)moveto(x,y)moverel(dx,dy)2、圆弧类绘图函数圆弧类绘图函数 circle(x,y,r)arc(x,y,angs,angs,r)3、多边形绘图函数多边形绘图函数 rectangle(x1,y1,x2,y2 )drawpoly(nps,&pxy)第二章第二章 C语言图形程序设计语言图形程序设计#include#include#define PI 3、1415926main()int x,y,rl,rs;double a;int gdriver=DETECT,gmode;initgraph(&gdriver,&gmode,“c:tc”);printf(“input Rl(100)&Rs n”);scanf(“%d,%d,&rl,&rs);cleardevice();setbkcolor(9);setcolor(4);Four(a=0;a2*PI;a+=PI/18)x=rl*cos(a)+320;y=rl*sin(a)+240;circle(x,y ,rs);getch();closegraph();Rlo(x0,y0)Rs(x,y)例例2-8:第二章第二章 C语言图形程序设计语言图形程序设计反反正正反反正正正正反反正正反反反反正正反反正正正正反反正正反反a1a211作业:1、正方形形成得螺旋图案,编程并运行。第二章第二章 C语言图形程序设计语言图形程序设计
展开阅读全文