【计算机图形学】Bresenham算法改进 |
您所在的位置:网站首页 › dda算法和bresham算法特点 › 【计算机图形学】Bresenham算法改进 |
这是我参与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 |