LindDDA算法的代码(TC)

           学习计算机图形学的第一个画线算法就是LineDDA算法,实现起来也非常的简单。

再此,我只是把它写下来作个留恋。

//==============

#include <stdio.h>
#include <math.h>
#include <graphics.h>

int Rand(float a){return (int)(a+0.5);}

void LineDDA(int x1,int y1,int x2, int y2){
 int dx,dy,steps;
 int xIncr,yIncr;
 int i;
 dx = x2 - x1;
 dy = y2 - y1;

 if(fabs(dx) > fabs(dy))
  steps = fabs(dx);
 else
  steps = fabs(dy);

       xIncr = dx/steps;
       yIncr = dy/steps;

       putpixel(Rand(x1),Rand(y1),5);
       for(i = 0;i < steps; i++){
       x1+=xIncr; y1+=yIncr;
       putpixel(Rand(x1),Rand(y1),5);
       }
}

int main(){
 int x1=50,x2 = 200,y1 = 50 ,y2 = 200;
 int gd = DETECT,gm = 0;
 clrscr();
 initgraph(&gd,&gm,"");
 outtextxy(x1+5,y1-5,"50,50");
 outtextxy(x2+5,y2-5,"200,200");
 LineDDA(x1,y1,x2,y2);
/*
 printf("Hello World./n");
*/  getch();
 return 1;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值