/* compiler- Turbo c++ author- Mangilal Sharma =================================*/
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void swap(int &x, int &y)
{
int k = x;
x = y;
y = k;
}
void main()
{
int gd = DETECT, gm = DETECT, x1, x2, y1, y2, dx, dy, p, k;
float m = 0;
clrscr();
printf("Enter the sarting point x1 & y1\n");
scanf("%d%d", &x1, &y1);
printf("Enter the end point x2 & y2\n");
scanf("%d%d", &x2, &y2);
dx = abs(x2 - x1);
dy = abs(y2 - y1);
m = (float) (y2 - y1) / (x2 - x1);
initgraph(&gd, &gm, "");
cleardevice();
if (fabs(m) > 1) {
swap(x1, y1);
swap(x2, y2);
swap(dx, dy);
}
if ((x1 > x2)) {
x1 = x2;
y1 = y2;
}
p = 2 * dy - dx;
for (k = 0; k < abs(dx); k++) {
if (p < 0) {
p = p + 2 * dy;
} else {
if (m < 0)
y1--;
else
y1++;
p = p + (2 * dy) - (2 * dx);
}
if (fabs(m) <= 1)
putpixel(x1++, y1, 15);
else
putpixel(y1, x1++, 15);
}
getch();
}
#include<conio.h>
#include<graphics.h>
#include<math.h>
void swap(int &x, int &y)
{
int k = x;
x = y;
y = k;
}
void main()
{
int gd = DETECT, gm = DETECT, x1, x2, y1, y2, dx, dy, p, k;
float m = 0;
clrscr();
printf("Enter the sarting point x1 & y1\n");
scanf("%d%d", &x1, &y1);
printf("Enter the end point x2 & y2\n");
scanf("%d%d", &x2, &y2);
dx = abs(x2 - x1);
dy = abs(y2 - y1);
m = (float) (y2 - y1) / (x2 - x1);
initgraph(&gd, &gm, "");
cleardevice();
if (fabs(m) > 1) {
swap(x1, y1);
swap(x2, y2);
swap(dx, dy);
}
if ((x1 > x2)) {
x1 = x2;
y1 = y2;
}
p = 2 * dy - dx;
for (k = 0; k < abs(dx); k++) {
if (p < 0) {
p = p + 2 * dy;
} else {
if (m < 0)
y1--;
else
y1++;
p = p + (2 * dy) - (2 * dx);
}
if (fabs(m) <= 1)
putpixel(x1++, y1, 15);
else
putpixel(y1, x1++, 15);
}
getch();
}
/*=============================19Nov.,2010=============================*/
No comments:
Post a Comment
You are welcome, your comment helps me to make this blog more better.