计算机图形学课程设计报告交互式绘图系统
更新时间:2023-07-25 05:06:01 阅读量: 实用文档 文档下载
湖南工程学院交互式绘图系统
程 设 计 报 课程名称 计算机图形学 课题名称 交互式绘图系统 专 业 计算机科学与技术 班 级 学 号 姓 名
指导教师 刘长松 曹 燚
2012年 10 月 9 日
课告
湖南工程学院交互式绘图系统
湖南工程学院 课 程 设 计 任 务 书
课程名称 计算机图形学 课 题 交互式绘图系统
专业班级 学生姓名 学 号
指导老师 刘长松 曹 燚 审 批
任务书下达日期 2012年 9月 15 日 任务完成日期 2012 年 10月 9 日
湖南工程学院交互式绘图系统
一、设计内容与设计要求 1.设计内容:
用橡皮法实现交互式绘图系统。
2.设计要求:
在屏幕上可以选择不同的命令、来实现不同基本图形的绘制。完成橡皮筋直线,橡皮筋圆,橡皮筋矩形框,多边形裁剪和3阶B样条曲线的作图,且要有比较友好的界面。
3.算法提示:
首先在屏幕上画出菜单和绘图窗口,显示鼠标。点击相应菜单,点击鼠标,移动鼠标,获取鼠标移动相对位置,画出相应图形。
相关变量定义:
#define _MOUSE #define CIRCLE 1 圆 #define LINE 2 #define RECTANGLE #include #include
#include"graphics.h" #include"math.h" #include union
struct SREGS sr;
相关函数: void meun(int {
setcolor(8);
outtextxy(x+5,28,str); setcolor(15); line(x,22,x,40); line(x,22,y,22); setcolor(8); line(x,40,y,40); line(y,22,y,40); }
3
矩鼠直
标 线 形 "stdio.h" "string.h"
REGS
<dos.h> inreg,outreg;
x,int y,char *str)
湖南工程学院交互式绘图系统
void
drawwindows() 画窗口
{
setbkcolor(7); /*7*/ setcolor(8);
rectangle(0,20,640,460); rectangle(0,0,640,20); setfillstyle(1,1); floodfill(1,1,8);
rectangle(0,460,640,480); setfillstyle(1,15); floodfill(1,461,8); setcolor(RED);
outtextxy(10,468,"Finished By XuYuanFei."); setcolor(15);
line(0,41,640,41); line(0,459,640,459); setcolor(8);
line(0,42,640,42); setcolor(15);
rectangle(610,3,630,17); setfillstyle(1,7); floodfill(611,4,15); setcolor(8);
line(610,17,630,17); line(630,3,630,17); line(611,4,628,16); line(611,16,628,4);
rectangle(2,44,635,459); setcolor(15);
rectangle(3,45,634,458); line(611,3,628,15); line(611,15,628,3); meun(5,55,"line");
meun(65,165,"rectangle"); meun(175,250,"circle"); meun(260,330,"Bezer"); meun(340,400,"Cut"); }
int _cut() 裁剪 void mycircle(double x,double y,double r) 画圆 {
double i; for(i=0.0;i<360.0;i=i+4)
line(x+r*cos((i+1)/360*3.1415*2),y+r*sin((i+1)/360*3.1415*2),x+r*cos((i+4.0)/360*3.1415*2),y+r*sin((i+4.0)/360*3.1415*2));
湖南工程学院交互式绘图系统
}
void _Bezer(int a[3],int b[3],int m) Beizier曲线
void DisplayMouse() 显示鼠标
{
inreg.x.ax=1;
int86(0x33,&inreg,&outreg); }
void CloseMouse() 关闭鼠标 {
inreg.x.ax=2;
int86(0x33,&inreg,&outreg); }
union REGS DisplayMouseStatus() 显示鼠标状态 {
inreg.x.ax=3;
int86(0x33,&inreg,&outreg); return }
void GetMouseXY(int *x,int *y) 得到鼠标位置 {
DisplayMouse();
outreg=DisplayMouseStatus(); *x=outreg.x.cx; *y=outreg.x.dx; }
响应相应函数 void _mytreat(int oldx,int oldy,int {
if(num==1) {
if(flag==LINE) {
line(px,py,oldx,oldy); line(px,py,x,y); }
if(flag==CIRCLE) {
mycircle(px,py,sqrt((double)((px-oldx)*(px-oldx)+(py-oldy)*(py-oldy)))); mycircle(px,py,sqrt((double)((px-x)*(px-x)+(py-y)*(py-y)))); }
if(flag==RECTANGLE) {
rectangle(px,py,oldx,oldy); rectangle(px,py,x,y); } }
outreg;
x,int y)
湖南工程学院交互式绘图系统
}
二、进度安排
星期二 8:00——12:00 星期三 8:00——12:00
第 3 周 星期一 8:00——12:00
星期四 8:00——12:00 星期五 8:00——12:00 第 4 周 星期一 8:00——12:00
附:
课程设计报告装订顺序:封面、任务书、目录、正文、附件(A4大小的图纸及程序清单)、评分。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码)。
目录
湖南工程学院交互式绘图系统
一、 概述……………………………………………………………1 二、 功能模块的划分………………………………………………2 三、 主要功能的实现………………………………………………3 四、 程序调试………………………………………………………4 五、 总结……………………………………………………………5 六、 附录……………………………………………………………6
一、 概述
1、 交互式系统:
湖南工程学院交互式绘图系统
随着计算机绘图技术的广泛应用,交互处理已是必不可少的容。一个交互图形系统使用户能动态的输入坐标位置,指定选择功能,设置交换参数,以及在图形显示期间能够对花面上的某些部分进行修改、删除、增添、存储和在显示操作,且能全部徒手绘图。
交互式绘图软件系统都为用户提供了一个交互工作环境,称交互界面。通常在图形显示方式,把屏幕划分为图形区,菜单区和提示区。交互式绘图系统的基本功能一般可归纳为绘图功能、图形编辑、尺寸标准、作图工具、显示功能、询问功能、信息转换、和二次开发工具。
2、 橡皮筋技术:
橡皮筋技术是在平面上确定一条直线一般是先定下起点再定下终点,最后把起点和终点连成直线。如果要求这条直线能通过平面上某一点或和一已知圆相切,上述方法便不易做得很准确。所谓橡皮筋技术就是在起点确定后,光标移出去定终点时,在屏幕上始终显示一条连接起点和光标中心的直线,这条直线随着光标中心位置的变动而变动,它就像在起点和光标中心之间紧紧地拉着一根橡皮筋,有了这根橡皮筋便比较容易地找到通过一个点或和一个圆相切的直线的位置。
正在阅读:
计算机图形学课程设计报告交互式绘图系统07-25
高中体育与健康_跨栏跑教学设计学情分析教材分析课后反思05-25
上海市货运港口分析报告2018版05-27
2014年中国地方(各省市)财政收入构成_税收收入构成08-13
六年级数学试卷03-07
历届矛盾文学奖目录11-12
我的暑假英语作文现在时07-25
2023年领导在党支部书记抓基层党建工作总结会上的讲话范文03-22
2016年电网调度运行工作计划06-10
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 交互式
- 绘图
- 图形
- 课程
- 计算机
- 报告
- 设计
- 系统
- 宏程序编程实例与技巧方法
- 初三数学二次函数单元测试题及答案 - 副本
- 理想的风筝导学案
- 巧用WORD邮件合并批量导入图片制作各种证卡
- 致富指南之种植相关抓住“野生菌王国”机遇 做大食用菌产业
- 如何计算UPS所配电池的数量
- 加工一般零件和超硬度金属零件所用刀具材料的分析与研究
- 美国仿制药用户付费制度8月18日会议纪要
- DELPHI1006组织人事管理信息系统2
- 2015年临床执业医师考试考点整理-泌尿系统
- 欧姆定律测试题附答案
- 2013年韩文豹执业医师考试精编妇科试题
- 第一集我的数码宝贝伙伴,星狮兽的出现
- 真空灌浆工艺在预应力混凝土桥梁中的应用
- 可持续发展 生态文明
- 实验性2型糖尿病大鼠模型的建立
- 我的暑假英语作文现在时
- 城市综合体外部交通组织对公共空间影响调查研霸——以合肥万达广场为例
- 2013中考记叙文阅读答题技巧1
- proe学习笔记教程(附免安装版proe5.0和教程练习文件、资料)