2015年燕山大学里仁学院计算机图形实验报告.docx

上传人:doc321 文档编号:13030576 上传时间:2021-12-11 格式:DOCX 页数:10 大小:92.41KB
返回 下载 相关 举报
2015年燕山大学里仁学院计算机图形实验报告.docx_第1页
第1页 / 共10页
2015年燕山大学里仁学院计算机图形实验报告.docx_第2页
第2页 / 共10页
2015年燕山大学里仁学院计算机图形实验报告.docx_第3页
第3页 / 共10页
2015年燕山大学里仁学院计算机图形实验报告.docx_第4页
第4页 / 共10页
2015年燕山大学里仁学院计算机图形实验报告.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《2015年燕山大学里仁学院计算机图形实验报告.docx》由会员分享,可在线阅读,更多相关《2015年燕山大学里仁学院计算机图形实验报告.docx(10页珍藏版)》请在三一文库上搜索。

1、 :实验题二2.1实验目的和意义1. 了解如何利用C+语言和图形函数进行绘图,同时熟练掌握C+图形绘制环境;2. 掌握C+语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数;3. 通过对C+进行图形程序设计的基本方法的学习,能绘制出简单的图形;4. 通过绘制园、圆弧、线段变换的图形等,了解图形系统初始化、图形系统关闭和图形模式的控制,并熟练运用图形坐标的设置以及图形颜色的设置。2.2主程序1、 利用各种画弧、直线园等函数绘出人物头像程序代码:#include <graphics.h>#include <conio.h>#include <math.h>

2、;#define PI 3.1415926main() int x,y; int stangle,endangle,r1,r2,r3; int xasp,yasp; initgraph(640, 480); x =300; y = 250; stangle = 30; endangle = 150; r1 = 200; r2 = 8; r3 = 45; ellipse(x, y, 0, 360, 150, 200); /*画脸的轮廓 */ ellipse(x-65,y-80,0,360,30,20); /*左眼睛 */ circle(x-65,y-80,r2); /*眼珠 */ arc(x-6

3、5,y-80,stangle,endangle,r3); /*眉毛 */ ellipse(x+65,y-80,0,360,30,20); /*右眼睛*/ circle(x+65,y-80,r2); arc(x+65,y-80,stangle,endangle,r3); pieslice(x,y+30,50,130,40); /*鼻子 */ pieslice(x-150,y,85,270,40); /*左耳朵*/ pieslice(x+150,y,270,95,40); /*右耳朵*/ fillellipse(x,y+90,r3,0.5*r3*(long)xasp/(long)yasp);/*嘴

4、 */ getch(); closegraph();2、利用挂起控制圆的大小动态变化程序代码:#include <graphics.h>#include <conio.h>main() int i=0; int j=0;initgraph(640, 480); for(i=3;i<10;i+) setcolor(YELLOW); circle(300+i*10,240,10+i*10);Sleep(500); for(j=0;j<7;j+)setcolor(YELLOW);circle(400+j*10,240,100-j*10);Sleep(500);ge

5、tch(); closegraph(); :实验题三3.1实验目的和意义1. 了解如何利用C+语言和图形函数进行绘图,同时熟练掌握C+图形绘制环境;2. 掌握C+语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数;3. 通过对C+进行图形程序设计的基本方法的学习,能绘制出动态的图形;4. 通过绘制动态变换的园、线段和走动的轮,了解图形系统初始化、图形系统关闭和图形模式的控制,并熟练运用图形坐标的设置以及图形颜色的设置。3.2主程序1. 绘制一个四瓣花图案程序代码:#include <graphics.h>#include <conio.h>#include &l

6、t;math.h>#define PI 3.1415926main()int x1, x2, y1, y2, d=80;float r, a, c=0.6;initgraph(640, 480); setcolor(RED);for(a=0;a<2*PI;a+=PI/360) r = d * (c + sin(4 * a);x1=300+(int)(r*cos(a);y1 = 200 + (int)(r * sin( a);x2 = 300 + (int)(r * cos(a + PI/5);y2 = 200 + (int)(r * sin(a + PI/5);line(x1,y1

7、,x2,y2); /*绘制四瓣花形图案 */Sleep(10); getch();closegraph();2. 绘制一个能够地面走动轮程序代码:#include <graphics.h>#include <conio.h>main()int i,x,y;int stangle=0,endangle=50,radius=80; initgraph(640, 480); x = 180;y = 320;for(i=0;i<=80;i+)x=x+5;stangle=(stangle-10)%360; /*圆弧的起始角 */endangle=(endangle-10)%

8、360; /*圆弧的终止角*/ line(100,y+80,580,y+80); /*道路 */circle(x,y,radius); /*车轮外圆 */circle(x,y,radius-50); /*车轮内圆*/circle(x,y,radius-70);arc(x,y,stangle,endangle,radius-35); arc(x,y,stangle+90,endangle+90,radius-35);arc(x,y,stangle+180,endangle+180,radius-35); arc(x,y,stangle+270,endangle+270,radius-35); S

9、leep(200);if(i!=80) setcolor(BLACK); /*重绘车轮 */circle(x,y,radius);circle(x,y,radius-50);circle(x,y,radius-70);arc(x,y,stangle,endangle,radius-35);arc(x,y,stangle+90,endangle+90,radius-35);arc(x,y,stangle+180,endangle+180,radius-35);arc(x,y,stangle+270,endangle+270,radius-35);setcolor(WHITE);getch();c

10、losegraph();:实验题四4.1实验目的和意义1. 了解如何利用C+语言和图形函数进行绘图,同时熟练掌握C+图形绘制环境;2. 掌握C+语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数;3. 通过对C+进行图形程序设计的基本方法的学习,能绘制出简单的图形;4. 通过绘制N+1个正n边形,了解图形系统初始化、图形系统关闭和图形模式的控制,并熟练运用图形坐标的设置以及图形颜色的设置。4.2实验题目用如下图1所示,图中最大正n边形的外接圆半径为R,旋转该正n边形,每次旋转角度,旋转后的的n边形顶点落在前一个正六边形的边上,共旋转N次,请上机编程绘制N+1个外接圆半径逐渐缩小且旋转的

11、正n边形。要求:(1) n、R、N、要求可以人为自由控制输入;(2)N+1个正六边形的中心(即外接圆的圆心)在显示屏幕中心。如左图(一)所示:n=6=100、N =1、R=R1、旋转一次。依次类推,共旋转N次。CBAR1R2图14.3主程序程序代码:#include "stdio.h"#include "conio.h"#include "math.h"#include "graphics.h"#include "stdlib.h"#include "time.h"void

12、main() int graphdriver=DETECT,graphmode; /*自动搜索显示器类型和显示模式*/ int r; int i,j,n,k,d; float x,y,q; int a100,b100; char str180,str280; printf("请输入正接圆的半径r:n"); scanf("%d",&r); printf("请输入多边形的边数n:n"); scanf("%d",&n); printf("请输入多边形的个数k:n"); scanf(&q

13、uot;%d",&k); printf("请输入每次的旋转角度d:n"); scanf("%d",&d); initgraph(&graphdriver,&graphmode,"E:WSM"); /*初始化图形系统*/ printf("ntr=%d, n=%d, k=%d, d=%d",r,n,k,d); x=320; y=240; q=360/n; /*角增量*/ q=q*3.1415926/180; /*将角增量化为弧度*/ for(i=1;i<=n;i+) /*

14、计算初始正n角形顶点坐标*/ ai=(int)(int)x+r*cos(i-1)*q); bi=(int)(int)y-r*sin(i-1)*q); an+1=a1; bn+1=b1; /*闭合正n角形,以便连续画线*/ /*-画k个正多角形-*/ for(i=1;i<=k;i+) for(j=1;j<=n;j+) /*画一个正多角形*/ line(aj,bj,aj+1,bj+1); Sleep(100); for(j=1;j<=n;j+) /*计算下一个正多边形顶点坐标*/ aj=(int)(aj+(aj+1-aj)/d); bj=(int)(bj+(bj+1-bj)/d); an+1=a1; bn+1=b1; getch(); closegraph();10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1