摘要: 中点画圆算法在一个方向上取单位间隔,在另一个方向的取值由两种可能取值的中点离圆的远近而定。实际处理中,用决策变量的符号来确定象素点的选择,因此算法效率较高。 一、中点画圆算法描述 设要显示圆的圆心在原点(0,0),半径为R,起点在(0,R)处,终点在(,)处,顺时针生成八分之一圆,利用对称性扫描转换全部圆。 为了应用中点画圆法,我们定义一个圆函数F(x,y)=x2+y2-R2(2-19) 任何点(x,y)的相对位置可由圆函数的符号来检测:F(x,y)<0 点(x,y)位于数学圆内=0 点(x,y)位于数学圆上>0 点(x,y)位于数学圆外(2-20) 如下图所示,图中有两条圆弧A和 阅读全文
posted @ 2012-07-09 20:24 sky1991 阅读(5366) 评论(0) 推荐(0) 编辑
摘要: 一、 算法原理简介:转自pheye算法原理的详细描述及部分实现可参考:http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html Fig. 1 假设以(x, y)为绘制起点,一般情况下的直观想法是先求m = dy /dx(即x每增加1, y的增量),然后逐步递增x, 设新的点为x1 = x + j, 则y1 = round(y + j * m)。可以看到,这个过程涉及大量的浮点运算,效率上是比较低的(特别是在嵌入式应用中,DSP可以一周期内完成2次乘法,一次浮点却要上百个周期)。 下面,我们来看一下Bresenham算... 阅读全文
posted @ 2012-07-09 20:18 sky1991 阅读(7708) 评论(0) 推荐(1) 编辑
摘要: 用一段式建模FSM 的寄存器输出的时候,必须要综合考虑现态在何种状态转移条件下会进入哪些次态,然后在每个现态的case 分支下分别描述每个次态的输出,这显然不符合思维习惯;而三段式建模描述FSM 的状态机输出时,只需指定case 敏感表为次态寄存器,然后直接在每个次态的case 分支中描述该状态的输出即可,根本不用考虑状态转移条件。本例的FSM 很简单,如果设计的FSM 相对复杂,三段式的描述优势就会凸显出来。另一方面,三段式描述方法与两段式描述相比,虽然代码结构复杂了一些,但是换来的优势是使FSM 做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说 阅读全文
posted @ 2012-07-09 20:12 sky1991 阅读(17842) 评论(0) 推荐(1) 编辑