范文无忧网公文文书入党入团

编程实现中点画线法的直线的绘制和Bresenham算法的直线绘制

02月10日 编辑 fanwen51.com

[“我看两会”大学生手抄报绘制大赛活动策划书]手抄报是模仿报纸的,单面的,用钢笔书写(签字笔等亦可),可传阅、也可张贴的一种小报。在学校,手抄报是第二课堂的一种很好的活动形式,和黑板报一样,手抄报也是一种群众性的宣传工具。...+阅读

中点画线法

void MidPoint_Line(x0, y0, x1, y1, color) i

nt x0, y0, x1, y1, color;

{ int a, b, delta1, delta2, d, x, y;

a=y0-y1; b=x1-x0;

d=2*a+b; delta1=2*a; delta2=2*(a+b);

x=x0; y=y0;putpixel(x, y, color);

while(x

if(d<0) { x++; y++; d+=delta2; }

else { x++; d+=delta1; }

putpixel(x, y, color); }}

Bresenham算法e68a843231313335323631343130323136353331333332643165

int sign( x)

/*==================================*/

int x;

{

if(x>0)return 1;

if(x==0)return 0;

if(x<0)return -1;

}

/*=======================================================*/

void Generialzed_Integer_Bresenham_Line(x1,y1,x2,y2,color)

int x1,y1,x2,y2,color;

{

int x,y,dx,dy,s1,s2,temp,interchange,e,i;

x=x1;y=y1;

dx=abs(x2-x1);

dy=abs(y2-y1);

s1=x2-x1;

s2=y2-y1;

s1=sign(s1);

s2=sign(s2);

if(dy>dx)

{

temp=dx;

dx=dy;

dy=temp;

interchange=1;

}

else interchange=0;

e=2*dy-dx;

for(i=1;i<=dx;i++)

{

putpixel(x,y,color);

if(e>0)

{

if(interchange==1) x=x+s1;

else y=y+s2;

e=e-2*dx;

}

if(interchange) y=y+s2;

else x=x+s1;

e=e+2*dy;

}

}

延伸阅读:

制度直线执行是什么意思薪酬制度三分靠设计,七分靠执行: 薪酬制度设计并不是薪酬管理的全部,绩效更多的来自薪酬体系的执行,发挥基层经理的作用。宽带薪酬的好处就在于能让直线经理发挥更大的作用,巨大...

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

利用C语言编写能够画出任意斜率的直线算法程序利用中点画线法改将DDA算法改成中点划线算法即可// DDA画线View.cpp : implementation of the CDDAView class//#include "stdafx.h"#include "DDA画线.h"#include "DDA画线Doc.h"#include "DDA画线...

推荐阅读
图文推荐
栏目列表