【计算机图形学】Bresenham算法改进

您所在的位置:网站首页 dda算法和bresham算法特点 【计算机图形学】Bresenham算法改进

【计算机图形学】Bresenham算法改进

#【计算机图形学】Bresenham算法改进| 来源: 网络整理| 查看: 265

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

1 引言

直线的扫描转换算法比较著名的有DDA算法和Bresenham算法,后者相较于前者虽过程稍复杂,但效率较高。本文将在Bresenham算法的基础上加以改进,主要有以下几点:

将所有判别式的浮点型化为整型 将直线上所有点存储后再一次性绘制 输出直线上所有点的坐标 2 思路

算法推到均只考虑直线斜率在0~1之间,其他斜率可通过对称性转化为基本情况。

中点算法的核心在于比较待选点中点与直线的位置关系,如果直线在中点上方,则取偏上方的点;反之取偏下方的点

改进算法的大致步骤如下:

首先绘制起点

将直线表示为隐式方程,d0=F(x0+1,y0+0.5)=0.5−kd_{0}=F\left(x_{0}+1, y_{0}+0.5\right)=0.5-kd0​=F(x0​+1,y0​+0.5)=0.5−k

将浮点型化为整型只需乘以2Δx2\Delta x2Δx,即d0=2Δx−Δyd_{0}=2\Delta x-\Delta yd0​=2Δx−Δy(Δx,Δy\Delta x,\Delta yΔx,Δy为直线起终点坐标差)

接下来递归判断ddd的符号:

若d


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3