moead算法流程步骤_计算机图形学—直线扫描转换算法实现

e2a4d87f72787dc3b61c3606d4e98d47.png

此文仅为记录自己计图实践课作业。

实验目的:

熟悉实验实现软件与要求;

掌握直线扫描转换算法:DDA算法、中点Bresenham算法、Bresenham算法;

实验内容:

使用Matlab实现程序界面化输入和输出;仿照提供的模板,自行增强和扩展界面操作功能;制作三种直线扫描转换算法的流程图,并用程序实现;按照实验报告书撰写实验报告;

fabfccd8440c51d45e71efd4a009145c.png
DDA算法流程图

3bffee5656e30255064b49969c8519f5.png
DDA算法流程图

8caa6ebd3a7563ecf905eebf745333ca.png

c0d95b592ad8eaaed45dc4d47f0d4242.png
中点Bresenham算法流程图

c7585c39cf8ae439ae66741e6163f32d.png

475e41b5cb0659075fac98502ff55671.png
Bresenham算法流程图

matlab代码随附件保存。

几个效果示意图:

ad1cf644ca0bfd3113c32731afe0bcb8.png
DDAGUI

8ab8d51fc3ae9f601f3fa06d38412bf2.png
中点BresenhamGUI

14c17cf54fcf67f98100c0387d109aa9.png
BresenhamGUI

总结:

利用matlab进行实验操作,编写好m文件后,通过设计简单的GUI界面进行画线操作。直线扫描转换算法中DDA比较简单,中点Bresenham算法、Bresenham算法稍微复杂一些,需要自己推导在k的任意值的情形下的各种步骤。在Bresenham算法-1>=k时对e的推导时出错了很多次,最后不断检查修改才解决。通过对程序运行计时,我发现这三个算法消耗时间差别并不大,可能是因为数据量小,算法简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值