西安石油大学计算机图形学_实验报告讲述.doc

西安石油大学计算机图形学_实验报告讲述.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安石油大学计算机图形学_实验报告讲述

实验报告 —计算机图形学实验大作业 课程名称 计算机图形学 实验名称 二维绘图系统与计算机动画 姓 名 学 号 专业班级 成 绩 指导教师 爨莹 实 验 报 告 课程名称 计算机图形学 实验名称 二维绘图系统 姓 名 学 号 专业班级 实验日期 2015 年 12 月 8 日 成绩 指导教师 爨莹 一、实验目的 本实验为设计和开发一个小型的二维绘图系统。通过图形软件的设计开发和上机实验,巩固所学图形学基本知识,掌握交互式图形系统的设计方法,熟悉并掌握有关图形图象编程语言、工具和类库的使用。 二、实验环境 Win 8 操作系统 + VC 6.0 开发平台 (1)DDA算法画直线原理 DDA算法是根据直线的微分方程来计算Δx或Δy生成直线的扫描转换算法。 在一个坐标轴上以单位间隔对线段取样, 以决定另一个坐标轴方向上最靠近理想线段的整数值。 设(x0, y0)为直线段的始点, (x1, y1)为直线段的终点, 且端点坐标均为整数, 则直线的微分方程为 设|k|≤1, 则有 yi+1=kxi+1+b=k(xi+Δx)+b=yi+kΔx 上式表明, 若Δx=1, 则当x每递增1时, y递增k。 扫描转换开始时, 取直线始点(x0, y0)作为初始坐标。 (2)中点 Bresenham画线算法与中点画线法有相似之处, 也是通过在每列像素中确定与理想直线最近的像素来进行直线的扫描转换的。 为了讨论的方便,不妨也假定直线的斜率在0~1之间。 如图所示, 过各行、 各列像素中心构造一组虚拟网格线, 按直线从起点到终点的顺序计算直线与各垂直网格线的交点, 然后确定该列像素中与该交点最近的像素。 Bresenham算法误差项d的几何意义 (3)中点 为了讨论的方便, 我们考虑中心在原点, 半径为R的圆的第二个八分圆弧, 圆的其它部分可通过一系列的简单的反射变换得。也就是讨论如何从(0, R)到 (R / ,R/ )顺时针确定最佳逼近于该圆弧的像素序列。 中心在原点, 半径为R的圆的方程为x2+y2=R2 ? 若令F(x,y)=x2+y2-R2, 则上述方程为 F(x, y)=0 如图所示, 假定x坐标为xP的像素中最佳逼近理想圆弧的为P(xP, yP), 那么, 下一个像素只能是正右方的P1(xP+1, yP)或右下方的P2(xP+1, yP-1)两者之一。 引入P1和P2的中点M(xP+1, yP-0.5), 当M在圆内时, 应取P1(xP+1, yP)为下一个像素, 否则, 应取P2(xP+1, yP-1)为下一个像素。 为此, 构造判别式 ? d=F(M)=F(xP+1, yP-0.5)=(xP+1)2+(yP-0.5)2-R2 中点画圆法 若d0, 则应取P1(xP+1, yP)为下一个像素, 而且再下一个像素的判别式为 ? d′=F(xP+2, yP-0.5)=(xP+2)2+(yP-0.5)2-R2=d+2xP+3 而d≥0, 则应取P2(xP+1, yP-1)为下一个像素, 而且再下一个像素的判别式为 ? d′=F(xP+2, yP-1.5)=(xP+2)2+(yP-1.5)2-R2 =d+2(xP-yP)+5 由于第一个像素是(0,R), 因而d的初始值为 ? d0=F(1, R-0.5)=1.25-R (4)中点 中点画圆法可以推广到一般二次曲线的生成, 下面以中心在原点的标准椭圆的扫描转换为例说明。 设椭 圆的方程为 ?F(x,y)=b2x2+a2y2-a2b2=0 其中, a为沿x轴方向的长半

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档