三九宝宝网宝宝百科宝宝知识

图形学中的中点画线法与Bresenham算法画线的区别

02月10日 编辑 39baobao.com

[谁有数学乘法简便算法]抛开乘法简算法则 十几乘十几: 口诀:头乘头,尾加尾,尾乘尾. 例:12*14=? 1*1=1 2+4=6 2*4=8 12*14=168 注:个位相乘,不够两位数要用0占位. 2.头相同,尾互补(尾相加等于10): 口诀:一个头...+阅读

个人认为最关键的区别就是那个决策参数的计算方式!

在Bresenham算法中,假设我们在(x0,y0)处画了一个点,那我们就要决定下一个点是在(x0+1,y0)还是在(x0+1,y0+1)处画,这两个点一般都不在直线上,我们要计算这两个点离直线有多远,分别设两个点离直线的距离为p1、p2,然后决策参数就是p=p2-p1,再根据p的符号来判断选择哪个点

至于中点法,我没有用它来画过直线,只用来画过圆(自我感觉画圆用这个算法比Bresenham算法要好很多),但原理应该差不多!

在中点算法中,决策参数的就是方式就是圆的方程(换成直线就是直线的方程了),比如要画x^2+y^2=r^2的圆,那决策参数p=x^2+y^2-r^2,然后就不是代入上面找到的两个点直接代进去,而是代这两个点的中点进去,求出p的值,根据p的符号来判断那个中点是在圆上、圆内还是圆外,再进一步决定选择绘哪个点!

具体的计算过程没办法在这里完整演示,但个人认为不同之处还是在于决策参数的选择与计算

以下为关联文档:

二十六天制的工资算法如果每月工作26天,那就必定有加班。 根据《劳动法》第41条规定,用人单位延长工作时间(也就是加班),应与劳动者协商。既然是协商,当然就应该就加班时间和加班报酬协商一致,否则就是...

求计算机图形学中的直线绘制函数法 DDA算法中点法和Bresenham算法的特点是: 1,不必计算直线之斜率,因此不做除法; 2,不用浮点数,只用整数; 3,只做整数加减法和乘2运算,而乘2运算可以用硬件移位实现. Bresenham算法速度很快,并适于用硬件...

冒泡算法升序排序数组中随机生成的10个数public class MaoPiao { /** * 冒泡算法,升序排序数组中随机生成的10个数 */ public static void main(String[] args) { Random rd = new Random(); int a[] = new int[10];...

求计算机图形学中的直线绘制函数法 DDA算法中点法和BresBresenham算法的特点是: 1,不必计算直线之斜率,因此不做除法; 2,不用浮点数,只用整数; 3,只做整数加减法和乘2运算,而乘2运算可以用硬件移位实现. Bresenham算法速度很快,并适于用硬件...

谁有用MFC编的科学计算器的详细算法MFC做的话不难. 1,制作基本筐架: 建立工作区并且起名“我们的计算器”;然后建立 MFC AppWizard(exe) 工程起名“作业”,选择“基本对话筐”选项,点击完成; 开始创建按扭,“1 2 3 4...

布料的克重算法是什么面料克重一般指平方米克重,最常用的用克重测试器,一切就是10平方厘米,用天平称完,得到的克数乘以1000,就是克重。针织面料算克重:就是面料长度1米*宽度1米的重量,如果手上没有那么...

幼儿园大班手指速算法开始怎样学一、采用游戏形式,引发幼儿兴趣:数学是一门枯燥的学科,而幼儿普遍心智尚未成熟,他们永远都只喜欢自己感兴趣的东西。因此,教好任何一门课堂的第一步都是先引发幼儿的兴趣,吸引幼儿...

pascal的高精度算法高精度加法 var a,b,c:array[1..201] of 0..9; n:string; lena,lenb,lenc,i,x:integer; begin write('Input augend:'); readln(n);lena:=length(n); for i:=1 to lena do a...

pascal高精度算法加法:program exam1; const max=200; var a,b,c:array[1..max] of 0..9; n:string; lena,lenb,lenc,i,x:integer; begin write('Input augend:'); readln(n); lena:=length(n...

推荐阅读
图文推荐