Write C++/Java program to draw the following pattern using any Line drawing algorithms.

Second Year Computer Engineering Computer Graphics Programs:

Computer Graphics Lab:

Practical 8:
Write C++/Java program to draw the following pattern using any Line drawing algorithms.






----------------------------------------------------------------------------------------------------------------------------------
#include <stdlib.h>
#include<iostream>
#include<math.h>
#include<graphics.h>
using namespace std;


int xmax,ymax,xmid,ymid;
class DDA
{
public:
int x1,x2,y1,y2;
void line1(int x1,int y1,int x2,int y2)
{
float x,y,dx,dy,length;
int i;
dx = abs(x2-x1);
dy = abs(y2-y1);
if(dx>dy)
{length = dx;}
else
{length = dy;}
dx = (x2-x1)/length;
dy = (y2-y1)/length;
x = x1 + 0.5;
y = y1 + 0.5;
i=1;
while(i<=length)
{
putpixel(x,y,12);
x = x + dx;
y = y + dy;
i++;
}
putpixel(x,y,12);
}
};
void ddaline(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4)
{
DDA obj;
obj.line1(x1+xmid,ymid-y1,x2+xmid,ymid-y2);
delay(300);
obj.line1(x2+xmid,ymid-y2,x3+xmid,ymid-y3);
delay(300);
obj.line1(x3+xmid,ymid-y3,x4+xmid,ymid-y4);
delay(300);
obj.line1(x4+xmid,ymid-y4,x1+xmid,ymid-y1);
delay(300);
}

int main()
{
int gd=DETECT,gm;
int x1=100,y1=50,x2=100,y2=150,x3=300,y3=150,x4=300,y4=50;
initgraph(&gd,&gm,NULL);
xmax=getmaxx();
ymax=getmaxy();
xmid=xmax/2;
ymid=ymax/2;
ddaline(x1,y1,x2,y2,x3,y3,x4,y4);
int xmid1,ymid1,xmid2,ymid2,xmid3,ymid3,xmid4,ymid4;

xmid1=(x1+x2)/2;
ymid1=(y1+y2)/2;
xmid2=(x2+x3)/2;
ymid2=(y2+y3)/2;
xmid3=(x3+x4)/2;
ymid3=(y3+y4)/2;
xmid4=(x4+x1)/2;
ymid4=(y4+y1)/2;

ddaline(xmid1,ymid1,xmid2,ymid2,xmid3,ymid3,xmid4,ymid4);

int xm1,ym1,xm2,ym2,xm3,ym3,xm4,ym4;

xm1=(xmid1+xmid2)/2;
ym1=(ymid1+ymid2)/2;
xm2=(xmid2+xmid3)/2;
ym2=(ymid2+ymid3)/2;
xm3=(xmid3+xmid4)/2;
ym3=(ymid3+ymid4)/2;
xm4=(xmid4+xmid1)/2;
ym4=(ymid4+ymid1)/2;

ddaline(xm1,ym1,xm2,ym2,xm3,ym3,xm4,ym4);


return 0;
}
----------------------------------------------------------------------------------------------------------------------------------

Comments

Popular posts from this blog

Implement C++ program for expression conversion as infix to postfix and its evaluation using stack.

Write C++ program to maintain club member‘s information using singly linked list. Store student PRN and Name.

Write C++/Java program for line drawing using DDA or Bresenhams algorithm with patterns such as solid, dotted, dashed, dash dot and thick.