数字积分法DDA(DDA(Digital Differential Analyzer)
数字积分法DDA(DDA(Digital Differential Analyzer)
数字积分法又称数字微分分析法DDA(Digital differential Analyzer),是在数字积分器的基础上建立起来的一种插补算法。数字积分法的优点是,易于实现多坐标联动,较容易地实现二次曲线、高次曲线的插补,并具有运算速度快,应用广泛。
1.直线插补
基本原理(自己去看,不在赘述)
原理图:

实例:设有直线OE,起点在原点,终点E(xe=5,ye=4),寄存器均为三位二进制寄存器,用DDA法实现插补。
初始化 m=2^n=2^3=8,Σy=0,Σx=0
每一行出现溢出则移动一次。
结果:

实例2
设有一直线OE,如图3-20所示起点坐标O(0,0),终点坐标为E(4,3),累加器和寄存器的位数为3位,其最大可寄存数值为7(J≥8时溢出)。若用二进制计算,起点坐标O(000,000),终点坐标E(100,011),J≥1000时溢出。试采用DDA法对其进行插补。

结果

2. 圆弧插补
第一象限顺圆弧插补器

实例:
加工第一象限顺圆AB,如图3-27,起点A(0,5),终点B(5,0)选用寄存器位数n=3,经过 “半加载”处理后,试用DDA法进行插补计算。

JVX和JVY初始值在顺圆弧插补图中有解释(可以根据第一象限顺圆弧运动开始时x变化快y变化慢,结束是x变化慢y变化快来理解)。
结果:

提高插补精度的措施:
对于DDA圆弧插补,径向误差可能大于一个脉冲当量。
减少误差的方法有:
①减小脉冲当量;
②采用累加器预置数法(规格化)
即在DDA插补之前,将JRX,JRY的初值不置零,而是预置2^(n-1),使其二进制数最高有效位置“1”,其它各位置零,若再累加100…000,累加器就可以产生第一个溢出脉冲。这种处理方式称为“半加载”(上图中初始值为4就是使用了半加载。)
3. DDA圆弧插补与直线插补的主要区别
- 圆弧插补中被积函数寄存器寄存的坐标值与对应坐标轴积分器的关系恰好相反。
- 圆弧插补中被积函数是变量,直线插补的被积函数是常数。
- 圆弧插补终点判别需采用两个终点计数器。对于直线插补,如果寄存器位数为n,无论直线长短都需累加2^n次到达终点。
数字积分法DDA(DDA(Digital Differential Analyzer)的更多相关文章
- 菜鸟学四轴控制器之3:数字积分法DDA实现直线插补
上一篇的逐点比较法显然是无法画一条有倾角的直线的.因为X轴和Y轴永远都不同步,也就是像打台球一样,你打一个,我打一个,如果我进了球,我再接着打一个. 也就是说,如果直线为45度,也是没有办法画出来的, ...
- 两种画线算法(DDA&Bersenham)
DDA(digital differential analyzer) 由直线的斜截式方程引入 对于正斜率的线段,如果斜率<=1,则以单位x间隔(δx=1)取样,并逐个计算每一个y值 Yk+1 = ...
- DDA, Bresenham line's algorithm and Voxel Traversal used in the Grid-Accelerator in PBRT
- DDA(Digital Differential Analyzer, 数值微分法) - 计算机图形学中,经常会遇到一些计算机中”经典“的问题.例如,如何利用计算机”离散“的特质,模拟 ...
- DDA算法
[DDA算法] Digital Differential Analyzer,DDA算法是一种线段扫描转换算法.(线段光栅化算法) DDA算法优缺点: 1.消除了直线方程中的乘法计算,而在x.y方向使用 ...
- 计算机图形学之扫描转换直线-DDA,Bresenham,中点画线算法
1.DDA算法 DDA(Digital Differential Analyer):数字微分法 DDA算法思想:增量思想 公式推导: 效率:采用了浮点加法和浮点显示是需要取整 代码: void lin ...
- 直线扫描转换-DDA算法
直线扫描转换-DDA算法 直线段的扫描转换算法 已知两个点,求直线. 为了在光栅显示器上用这些离散的像素点逼近这条直线,需要知道这些像素点的x,y坐标. 求出过P0,P1的直线段方程: y=kx+b ...
- 【十天自制软渲染器】DAY 02:画一条直线(DDA 算法 & Bresenham’s 算法)
推荐关注公众号「卤蛋实验室」或访问博客原文,更新更及时,阅读体验更佳 第一天我们搭建了 C++ 的运行环境并画了一个点,根据 点 → 线 → 面 的顺序,今天我们讲讲如何画一条直线. 本文主要讲解直线 ...
- 计算机图形学(二)输出图元_3_画线算法_2_DDA算法
DDA算法 数字微分分析仪(digital differential analyzer, DDA)方法是一种线段扫描转换算法.基于使用等式(3.4)或等式(3.5)计算的&x或& ...
- 图形学3D渲染管线学习
图形学3D渲染管线 DX和OpenGL左右手坐标系不同,会有一些差距,得出的矩阵会不一样; OpenGL的投影平面不是视景体的近截面: 顶点(vertexs) 顶点坐标,颜色,法线,纹理坐标(UV), ...
随机推荐
- NOI2014 D2T3 购票 简单粗暴解法(凸包维护)
之前说过这题能用点分治(详见 http://www.cnblogs.com/jasonyu/p/noi2014.html),但其实还有更粗暴的解法. 要求出一个点的答案,我们需要知道树上一段路径的点形 ...
- linux0.12 链接过程
终于编译OK了..可链接就是一大堆错误 问题1: boot/head.o: In function `startup_32': (.text+0x10): undefined reference to ...
- 爱斯达M2C服装定制系统介绍—在线播放—优酷网,视频高清在线观看
爱斯达M2C服装定制系统介绍-在线播放-优酷网,视频高清在线观看 视频: 爱斯达M2C服装定制系统介绍
- ajax返回json数组遍历添加到html
大致需求为类型限制根据类型获取不同结果列表,再根据模糊查询搜索出结果,效果如下:
- 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色、光照与材质
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨) ...
- [ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()
We can use the destructing and rest parameters at the same time when dealing with Array opration. Ex ...
- mysql中DES加密解密
DES_DECRYPT(crypt_str[,key_str]) 使用DES_ENCRYPT()加密一个字符串.若出现错误,这个函数会返回 NULL. 注意,这个函数只有当MySQL在SSL 的支 ...
- FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- C# 泛型多种参数类型与多重约束 示例
C# 泛型多种参数类型与多重约束 示例 interface IMyInterface { } class Dictionary<TKey, TVal> where TKey : IComp ...
- HID class request.
1.get report. 2.set report report request. Get report范例: 下面这张图是Host跟Device来要设备描述符. USB主机向设备控制器请求数据时, ...