从zbar中提取的bresenham算法
来源:互联网 发布:深圳知豆电动汽车租赁 编辑:程序博客网 时间:2024/05/22 05:10
bresenham算法原理:
直接截pdf图了:
C代码如下:
int bresenham(int _x00, int _y00, int _x01, int _y01){int x0[2];int x1[2];int dx[2];int step[2];int steep;int err;int derr;x0[0] = _x00;x0[1] = _y00;x1[0] = _x01;x1[1] = _y01;dx[0] = abs(_x01 - _x00);dx[1] = abs(_y01 - _y00);steep = dx[1] > dx[0];err = 0;derr = dx[1 - steep];step[0] = ((_x00 < _x01) << 1) - 1;step[1] = ((_y00 < _y01) << 1) - 1;for(;x0[steep] != x1[steep];){if (x0[steep] == x1[steep])return -1;x0[steep] += step[steep];err += derr;if (err << 1 > dx[steep]) {x0[1 - steep] += step[1 - steep];err -= dx[steep];}//to do:处理(x0[0],x0[1])}}
总共需要考虑4种情况,但是上面的代码了了不到30行,搞定,真佩服代码编写者的数学能力。
0 0
- 从zbar中提取的bresenham算法
- 直线的Bresenham算法
- 改进的Bresenham算法
- 游戏中DDA算法和Bresenham算法的应用
- 从线程的队列中提取消息的算法
- 从大样本中均匀提取子集的算法
- Bresenham直线算法的实现
- 生成直线的Bresenham算法
- 生成直线的Bresenham算法
- 生成直线的Bresenham算法
- Bresenham算法
- Bresenham算法
- Bresenham算法
- bresenham算法
- Bresenham算法
- Bresenham算法
- Bresenham算法
- Bresenham算法
- Opencv3内部文件解析(不断更新)
- nginx-反向代理原理
- # C++网络请求(get,post,上传图片)与QML混合编程
- 记录1
- 代码中快捷安装、删除apk的两种方式
- 从zbar中提取的bresenham算法
- h5实现输入框fixed定位在屏幕最底部兼容性
- ajax session失效后,跳转到登录页面的全局处理
- iOS小问题(三)
- BootStrap table分页
- Android中attrs.xml文件的使用详解
- DVWA-1.9系列操作之FileInclusion
- R
- jquery事件与绑定事件