《计算机图形学》课程设计

一、 设计要求

1. 根据设计任务,编制程序,在机器上调试运行,并通过上机考核。

2. 按照下面的“三、课程设计报告格式”的要求,写出课程设计报告。

3. 课程设计报告在第19周之前交来。

二、 设计任务

1.

1)给定直线的起点坐标为P0(x0,y0)、终点坐标为P1(x1,y1),容易计算出直线斜率k。假设0≤k≤1,则x方向为主位移方向,绘制直线的递推公式为:

,这称为数值微分法(Digital Differential Analyzer,DDA),请编程实现之。提示:DDA算法实质上是对直线斜率进行了四舍五入计算。

2)椭圆的扫描转换。

2.

用鼠标在屏幕上绘制任意顶点数的封闭多边形并填充,填充效果如下图所示。编程要求:⑴多边形的顶点数不受限制;

⑵按下鼠标左键,拖动鼠标绘制多边形,同时按下Shift键可以绘制水平边或垂直边;

⑶单击鼠标右键闭合多边形;

⑷使用边缘填充算法填充多边形。

3

请按照图所示,使用对话框输入直线的起点和终点坐标。在窗口左侧区域绘制输入直线和“窗口”,在窗口右边右侧区域绘制“视区”并输出裁剪结果。这里需要用到窗视变换的公式。请分别用Cohen-Sutherland算法、中点分割裁剪算法和梁友栋-Barsky算法实现。

4

在屏幕上使用鼠标绘制控制多边形,根据控制多边形的阶次绘制Bezier曲线和B样条曲线。

5.

1) 使用VC编程实现,以直角三角形为基础绘制下图所示Sierpinski三角形。

2)以屏幕范围为基础绘制下图所示Sierpinski地毯。

6.

1)给定直线的起点颜色(如红色)和终点颜色(如黑色)不同,请使用中点Bresenham算法绘制任意斜率的颜色渐变直线,效果如图所示。

2)用梁友栋-Barsky算法裁剪线段P1(3,3),P2(-2,-1),裁剪窗口为wxl=0,wxr=2,wyb=0,wyt=2。

7.

边缘填充算法的重要缺点是每一个像素可能被多次访问。为此,在多边形外接矩形的中心设置栅栏,把多边形分成两部分,如图所示。在处理每条扫描线时,只将交点与栅栏间的像素取补。填充效果如图所示。

带栅栏的的多边形图

带栅栏的多边形填充效果图

8.

扫描线种子填充算法是通过扫描线来填充水平像素段,仅将每条扫描线的最右端像素点入栈,可以有效提高算法效率,请编程实现。

9.

1)给定下图所示的四个控制点:P0=(228,456),P1=(294,247),P2=(452,123),P3=(705,197)。分别绘制三次Bezier曲线和三次B样条曲线。

2)使用VC编程,在窗口中一次绘制n=0~5的所有Cantor图

10. 请使用GetCurrentTime()函数读取系统时间,对时钟指针进行反走样,下图的左侧为走样时钟,右侧为反走样时钟。

三、 设计报告格式

1. 封面格式 (题目、姓名、学号、专业、完成日期等)

封面范例:

《计算机图形学》课程设计

题目:

指导老师:

姓 名:

学 号:

院 (系):

专 业:

完成日期: 年 月 日

2. 正文格式

1课题题目介绍

2 整体功能及设计

3 编程实现

4 使用说明

5 结果分析

6 课程设计总结

四、 课程设计考核标准:

通过答辩方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,总结报告和答辩水平以及学习态度综合考评。

学生的动手能力,创新精神,程序设计的可用性,实用性,通用性,可扩充性(40%)

答辩水平(20%)

总结报告(40%)

8

展开阅读全文

计算机图形学的功能需求,图形学课程设计要求 《计算机图形学》.doc相关推荐

  1. 计算机辅助设计与制造专业课程,《计算机辅助设计与制造》课程实验指导书

    <<计算机辅助设计与制造>课程实验指导书>由会员分享,可在线阅读,更多相关<<计算机辅助设计与制造>课程实验指导书(11页珍藏版)>请在人人文库网上搜索 ...

  2. 湖南师范大学计算机基础课网络教学,湖南师范大学《计算机基础及应用》课程考核若干规定.doc...

    湖南师范大学<计算机基础及应用>课程考核若干规定 窗体顶端 湖南师范大学教师课程教学考核实施办法 (试行) 为进一步规范和改进我校对教师课程教学的考核,加强对教师教学过程的全面监控,确保课 ...

  3. 江苏大学c语言程序设计,江苏大学201级C语言课程设计要求及题目.doc

    江苏大学201级C语言课程设计要求及题目 C语言程序课程设计 C programming curriculum design 课程设计大纲 一.学时与学分 总学时:1.5周 总学分:2 二.课程设计的 ...

  4. 课程设计用计算机演奏音乐,微机原理课程设计--音乐演奏.doc

    微机原理课程设计--音乐演奏 学 院: 计算机科学技术 专 业: 计算机科学与技术(工) 班 级: 计10-1班 姓 名: 学 号: 指导教师: 2013年3月10日 微机原理与汇编语言课程设计任务书 ...

  5. 计算机绘图千斤顶,AUTO CAD课程设计实验报告.doc

    文档介绍: AUTO CAD课程设计实****报告 全套CAD图纸,联系695132052 一.课程设计的目的 综合运用<工程图学>.<计算机绘图>等课程和其他先修课程的知识和 ...

  6. java-php-python-ssm计算机网络精品课程网站计算机毕业设计

    java-php-python-ssm计算机网络精品课程网站计算机毕业设计 java-php-python-ssm计算机网络精品课程网站计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  7. java-php-python-ssm早教课程管理系统计算机毕业设计

    java-php-python-ssm早教课程管理系统计算机毕业设计 java-php-python-ssm早教课程管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  8. 制作计算机课程的ppt,计算机音乐制作课件复习课程.ppt

    计算机音乐制作课件复习课程.ppt 计算机音乐制作;在这里,借用欧美音乐教育体系中的模块化教学思维来进行讲解,即将节奏声部划分为各种样式模块,每个模块都有其一系列的构成规则.在这些规则中,包含了和声学 ...

  9. 课程设计 计算机公共基础,基于混合教学模式计算机公共基础课的SPOC设计与开发...

    1. 引言 随着现代信息技术和教育技术的不断进步,高等教育教学模式不断推陈出新.MOOC (Massive Open Online Course),指大型开放式网络课程,近年来作为在线教育学习的初始形 ...

  10. 计算机实用知识技能,《计算机实用知识技能》课程论文.docx

    . <计算机实用知识技能>课程论文 计算机的发展史与未来计算机 院系名称机械与电信工程学院 姓名赵亚文 学号141608060214 专业电子信息工程 . . 2017 年 5 月 20 ...

最新文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
  2. 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★
  3. Linux命令【一】基本命令
  4. abaqus推荐用哪一版本的_ABAQUS推荐资料合集(一)
  5. 什么图用什么工具画?
  6. R语言之探索性数据分析篇
  7. Output Arcade for Mac:集合大量 Loop 素材的素材库插件
  8. 为Macbook添加自己喜欢的英汉辞典
  9. 详解蓝牙空中升级(BLE OTA)原理与步骤
  10. 全球及中国毛巾产品市场盈利前景与供需调查分析报告2022版
  11. Java_多线程_模拟电影院售票
  12. 转帖自勉:一个猎头的自述
  13. 用matlab四边形中心,matlab4
  14. 如何评价范冰新书《增长黑客》?
  15. 【解决方案】windows系统部分软件变日文
  16. 五一假期维修手机感想
  17. Qualcomm 音频学习一
  18. 求n以内的最大素数 ← C++
  19. Jmeter分布式压测介绍、原理及实操(一台master-windows控制机,三台slaves-linux负载机)
  20. mysql 提升tps_MYSQL的TPS优化

热门文章

  1. openSUSE 13.1 Nvidia驱动安装
  2. 详解Android电量优化
  3. 虚拟跑步刷步软件下载_dvdfab virtual drive win10版|dvdfab virtual drive(虚拟光驱) V1.5.1.1 官方版 下载_当下软件园...
  4. Wulihub设计文档类在线托管分享平台
  5. 【PHP版】顺丰下单API 、查询订单API、取消订单API
  6. 滴滴出行app——网约车出行的背后(上)
  7. 这份 Alibaba 内部疯传《Java 权威面试指南(阿里版)》堪称精品,面试助你一臂之力,事半功倍
  8. oracle日文全角变化,日文windows系统 oracle数据库乱码的处理
  9. Java中List集合的addAll方法的小坑
  10. 读书:SQL必知必会