基本图形元素生成算法 - 范文中心

基本图形元素生成算法

12/13

实验一 基本图形元素生成算法

1.实验目的:

(1)掌握基本图形元素生成算法。

(2)了解高级语言的图形模式的设定和对基本图形类(或函数)的调用方法。

2.实验内容:

选定Bresenham 算法,编写生成该基本图形的源程序,并能在计算机上编译运行,画出正确的图形。

3.实验步骤:

Bresenham 算法是计算机图形学领域使用最广泛的直线扫描转换方法。 原理:过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近 的像素。此算法的优点在于可以采用增量计算,使得对于每一列,只要检查一个误差项的符号,就可以确定该列所求的像素。

程序流程图如下:

程序如下

MidBresenhamline( x0, y0, x1,y1)

if x0>x1

end

while x

'*');

on

on

if d

else

end

end

function x=x1;x1=x0;x0=x; y=y1;y1=y0;y0=y; x=x0;y=y0; dx=x1-x0;dy=y1-y0; d=dx-2*dy; UpIncre=2*dx-2*dy; DownIncre=-2*dy; axis([x0 x1 y0 y1]) plot([x],[y], grid hold x=x+1; y=y+1; d=d+UpIncre; d=d+DownIncre; pause(0.1);

t=x0:1:x1

yy=(y1-y0)./(x1-x0)*t+(y1-((y1-y0)./(x1-x0)*x1)); plot(t,yy)

程序运行如下

>> MidBresenhamline( 0, 0, 8,5)

t =

0 1 2 3 4 5 6 7 8

>> MidBresenhamline( 0, 0, 500,750)

运行过程中的截图效果

4.实验总结:

1. 通过学习使用中点Bresenham 算法画直线,对于斜率大于1的直线段,只需交换x 和y 之间的规则即可。

2. 掌握了用Bresenham 算法来画直线的方法。


相关内容

  • 插值算法与matlab代码
    Matlab 中插值函数汇总和使用说明 MATLAB 中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,'method') 其中x ,y 为插值点,yi 为在被插值点xi 处的插值结果:x,y 为向量, ' ...
  • 高中信息技术必修知识点汇总
    主题1 信息的获取 高中信息技术必修知识点汇总 一.信息及其特征 1.信息的基本概念 "信息"一词通常是指数据.消息所包含的内容和意义.信息的表现形式有多种,如:图片.声音.动作.表情.文字等.当今世界的三大要素:物质. ...
  • 地质信息技术
    第六章 地质信息技术 前 言 当前,在加拿大.澳大利亚等西方主要矿业大国,矿业软件是矿山生产过程中必不可少的重要工具,特别是在地质数据分析.提高矿山生产与管理效率等方面发挥了巨大作用.当前国外比较著名的商业矿业软件有Surpac .Micr ...
  • 盲源分离方法
    第30卷第10期2008年10月 Journalof 电子与信息学报 Electronics&InformationTechnology .,01.30No.10 Oct.2008 基于盲源分离的小波域多重音频水印方法 马晓红 孙长 ...
  • 虚拟现实论文
    2011-2012学年第1学期期末考试 论 文 考试科目: 虚拟现实技术 学 院: 信息与通信工程学院 专 业: 通信工程 班 级: 班内序号: 04 学 号: 10210559 姓 名: 徐瑞强 任课教师: 黄 海 北京邮电大学 时间:2 ...
  • 小学数学校本培训材料
    小学数学中常用的思想方法 数学思想和数学方法的教学要求教师必需较好地重视并掌握有关的数学思想和数学方法.数学思想方法是以数学为工具进行科学研究的方法.纵观数学的发展史我们看到数学总是伴随着数学思想方法的发展而发展的.如坐标法思想的具体应用产 ...
  • 43款可视化工具介绍及软件地址
    点击上"海量大数据实践"可以订阅哦!明天的研习社活动中,永洪科技渠道总监王桐将带来用数据可视化的精彩案例,那么我们先看看当前热用的43款可视化工具,包括Arbor.Chroma.js.D3.js.Google Chart ...
  • 3DMAX修改器类型
    3DMAX修改器类型(对象空间修改器) 对象空间修改器直接影响局部空间中对象的几何体. 应用对象空间修改器时,使用中的其他对象空间修改器,对象空间修改器直接显示在对象的上方.堆栈中显示修改器的顺序可以影响结果几何体. 本节内容  影响区域 ...
  • 数据结构导论试题1
    全国2004年10月高等教育自学考试 1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为( ) A.逻辑结构.存储结构.机外表示 B.存储结构.逻辑结构.机外表示 C.机外表示.逻辑结构.存储结构 D.机外表示.存储结构. ...
  • 现代软件工程作业
    (一)名词解释 1. 软件: 软件是计算机程序.数据以及相关的各种文档的集合. 2. 软件危机 软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工.费用比预算大幅度上升.不能满足用户要求.可靠性低.维护困难等 ...