My Youtube Channel

Please Subscribe

Flag of Nepal

Built in OpenGL

Word Cloud in Python

With masked image

Showing posts with label Computer Graphics. Show all posts
Showing posts with label Computer Graphics. Show all posts

Tuesday, December 26, 2017

Program for 2D reflection along Y-axis (using graphics.h)















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

int main()
{
            int gm;
            int gd=DETECT;
            int x1,x2,x3,y1,y2,y3;

  //initgraph(&gd,&gm,"c:\tc\bg:");
            initwindow(1200,600);
             printf("\n\t Enter the three points of a triangle: ");
            setcolor(6);
            setlinestyle(0,0,3);
            scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
            line(x1,y1,x2,y2);
            line(x2,y2,x3,y3);
            line(x3,y3,x1,y1);
            setcolor(4);

                                   line(x1,y1+240,x2,y2+240);
                                    line(x2,y2+240,x3,y3+240);
                                    line(x3,y3+240,x1,y1+240);
                                    getch();

                         closegraph();
                  }

Program for 2D reflection in C along X-axis (using graphics.h)




















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

int main()
{
            int gm;
            int gd=DETECT;
            int x1,x2,x3,y1,y2,y3;

  //initgraph(&gd,&gm,"c:\tc\bg:");
            initwindow(1200,600);
             printf("\n\t Enter the three points of a triangle: ");
            setcolor(6);
            setlinestyle(0,0,3);
            scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
            line(x1,y1,x2,y2);
            line(x2,y2,x3,y3);
            line(x3,y3,x1,y1);
            setcolor(4);

                                   line(x1,y1+240,x2,y2+240);
                                    line(x2,y2+240,x3,y3+240);
                                    line(x3,y3+240,x1,y1+240);
                                    getch();

                         closegraph();
                  }

Program for 2D schearing in C (using graphics.h)

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

int main()
{
            int gm;
            int gd=DETECT;
            int x1,x2,x3,y1,y2,y3,nx1,nx2,nx3,ny1,ny2,ny3;
            int shx,shy;


             initwindow(1200,600);
             printf("\n\t Enter the three points of a triangle: ");
            setcolor(6);
            setlinestyle(0,0,3);
            scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
            line(x1,y1,x2,y2);
            line(x2,y2,x3,y3);
            line(x3,y3,x1,y1);
            setcolor(4);
     
                                 printf("\n Enter the shearing factor");
                                    scanf("%d%d",&shx,&shy);
                                    nx1=x1+y1*shx;
                                    ny1=y1+x1*shy;
                                    nx2=x2+y2*shx;
                                    ny2=y2+x2*shy;
                                    nx3=x3+y3*shx;
                                    ny3=y3+x3*shy;
                                    line(nx1,ny1,nx2,ny2);
                                    line(nx2,ny2,nx3,ny3);
                                    line(nx3,ny3,nx1,ny1);
                                    getch();

                         closegraph();
                  }

Program for 2D scaling in c (using graphics.h)

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

int main()
{
            int gm;
            int gd=DETECT;
            int x1,x2,x3,y1,y2,y3;
            int sx,sy;


             initwindow(1200,600);
             printf("\n\t Enter the three points of a triangle: ");
            setcolor(6);
            setlinestyle(0,0,3);
            scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
            line(x1,y1,x2,y2);
            line(x2,y2,x3,y3);
            line(x3,y3,x1,y1);
            setcolor(4);
            printf("\n Enter the scalling factor");
            scanf("%d%d",&sx,&sy);
       
                                   line(x1*sx,y1*sy,x2*sx,y2*sy);
                                    line(x2*sx,y2*sy,x3*sx,y3*sy);
                                    line(x3*sx,y3*sy,x1*sx,y1*sy);
                                    getch();

                         closegraph();
                  }

Program for 2D translation in C (using graphics.h)

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

int main()
{
            int gm;
            int gd=DETECT;
            int x1,x2,x3,y1,y2,y3,nx1,nx2,nx3,ny1,ny2,ny3;
            int xt,yt;


             initwindow(1200,600);
             printf("\n\t Enter the three points of a triangle: ");
            setcolor(6);
            setlinestyle(0,0,3);
            scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
            line(x1,y1,x2,y2);
            line(x2,y2,x3,y3);
            line(x3,y3,x1,y1);
            setcolor(4);
       
                                    printf("\n Enter the translation factor");
                                    scanf("%d%d",&xt,&yt);
                                    nx1=x1+xt;
                                    ny1=y1+yt;
                                    nx2=x2+xt;
                                    ny2=y2+yt;
                                    nx3=x3+xt;
                                    ny3=y3+yt;
                                    line(nx1,ny1,nx2,ny2);
                                    line(nx2,ny2,nx3,ny3);
                                    line(nx3,ny3,nx1,ny1);
                                    getch();

                         closegraph();
                  }

Tuesday, December 19, 2017

C++ program to draw a circle and ellipse in a single window (using graphics.h)

















#include <graphics.h>
#include <iostream>
#include <conio.h>
using namespace std;
void circle();
void ellipse();
void plotpoints(int,int,int,int);
int main(){

int gdriver = DETECT, gmode;
initgraph(&gdriver,&gmode,"c:\\turboc3\\bgi");

circle();

ellipse();
getch();
closegraph();
return 0;
}

void circle()
{
    int x,y,p,xc,yc,r;
    cout<<"Enter co-ordinate for centre of circle:";
cin>>xc>>yc;
cout<<"Enter radius of circle: ";
cin>>r;

x = 0;
y = r;
p = 1-r;
while(x<=y){
if(p<0){
x=x+1;
y=y+0;
p=p+2*x +1;
}
else{
x=x+1;
y=y-1;
p=p+2*x-2*y+1;
}
putpixel(xc+x,yc+y,WHITE);
putpixel(xc+y,yc+x,WHITE);
putpixel(xc+x,yc-y,WHITE);
putpixel(xc+y,yc-x,WHITE);
putpixel(xc-x,yc-y,WHITE);
putpixel(xc-y,yc-x,WHITE);
putpixel(xc-x,yc+y,WHITE);
putpixel(xc-y,yc+x,WHITE);
delay(50);
}
}

void ellipse()
{
    int x,y,p,xc,yc,rx,ry;
    cout<<"Enter co-ordinate for centre of ellipse:";
cin>>xc>>yc;
cout<<"Enter the value of rx and ry of ellipse: ";
cin>>rx>>ry;
x=0;
y=ry;
p=ry*ry-ry*rx*rx+(1/4)*rx*rx;
while((2*ry*ry*x)<(2*rx*rx*y))
{
    if(p<0)
    {
        p=p+2*x*ry*ry+ry*ry;
        x=x+1;
        y=y+0;

    }
    else
    {
        p=p-2*y*rx*rx+2*x*ry*ry+ry*ry;
        x=x+1;
        y=y-1;
    }

    plotpoints(x,y,xc,yc);

}
p=(x+0.5)*(x+0.5)*ry*ry+rx*rx*(y-1)*(y-1)-rx*rx*ry*ry;
while(y>0)
{
    if(p<0)
    {
        x=x+1;
        y=y-1;
        p=p+2*x*ry*ry+rx*rx-2*y*rx*rx;
    }
    else
    {
        x=x+0;
        y=y-1;
        p=p+rx*rx-2*y*rx*rx;
    }
plotpoints(x,y,xc,yc);


}

}
void plotpoints(int x,int y,int xc,int yc)
{
    putpixel(x+xc,y+yc,WHITE);
    putpixel(-x+xc,y+yc,WHITE);
    putpixel(x+xc,-y+yc,WHITE);
    putpixel(-x+xc,-y+yc,WHITE);
    delay(50);
}
                                                                                                                                                                                                                       

Monday, December 18, 2017

C++ program to draw an ellipse using Mid-point algorithm (using graphics.h)

#include<math.h>
#include <graphics.h>
#include <iostream>
#include <conio.h>
using namespace std;
void plotpoints(int,int,int,int);
int main(){
int xc,yc,x,y,p,rx,ry;
int gdriver = DETECT, gmode;
initgraph(&gdriver,&gmode,"c:\\turboc3\\bgi");
cout<<"Enter co-ordinate for centre of ellipse:";
cin>>xc>>yc;
cout<<"Enter the value of rx and ry of ellipse: ";
cin>>rx>>ry;
x=0;
y=ry;
p=ry*ry-ry*rx*rx+(1/4)*rx*rx;
while((2*ry*ry*x)<(2*rx*rx*y))
{
    if(p<0)
    {
        p=p+2*x*ry*ry+ry*ry;
        x=x+1;
        y=y+0;

    }
    else
    {
        p=p-2*y*rx*rx+2*x*ry*ry+ry*ry;
        x=x+1;
        y=y-1;
    }

    plotpoints(x,y,xc,yc);

}
p=(x+0.5)*(x+0.5)*ry*ry+rx*rx*(y-1)*(y-1)-rx*rx*ry*ry;
while(y>0)
{
    if(p<0)
    {
        x=x+1;
        y=y-1;
        p=p+2*x*ry*ry+rx*rx-2*y*rx*rx;
    }
    else
    {
        x=x+0;
        y=y-1;
        p=p+rx*rx-2*y*rx*rx;
    }
plotpoints(x,y,xc,yc);


}

getch();
closegraph();
return 0;
}
void plotpoints(int x,int y,int xc,int yc)
{
    putpixel(x+xc,y+yc,WHITE);
    putpixel(-x+xc,y+yc,WHITE);
    putpixel(x+xc,-y+yc,WHITE);
    putpixel(-x+xc,-y+yc,WHITE);
    delay(50);
}

C++ program to draw a circle using Mid-point algorithm (using graphics.h)

#include <graphics.h>
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int xc,yc,x,y,p,r;
int gdriver = DETECT, gmode;
initgraph(&gdriver,&gmode,"c:\\turboc3\\bgi");
cout<<"Enter co-ordinate for centre of circle:";
cin>>xc>>yc;
cout<<"Enter radius of circle: ";
cin>>r;
x = 0;
y = r;
p = 1-r;
while(x<=y){
if(p<0){
x=x+1;
y=y+0;
p=p+2*x +1;
}
else{
x=x+1;
y=y-1;
p=p+2*x-2*y+1;
}
putpixel(xc+x,yc+y,WHITE);
putpixel(xc+y,yc+x,WHITE);
putpixel(xc+x,yc-y,WHITE);
putpixel(xc+y,yc-x,WHITE);
putpixel(xc-x,yc-y,WHITE);
putpixel(xc-y,yc-x,WHITE);
putpixel(xc-x,yc+y,WHITE);
putpixel(xc-y,yc+x,WHITE);
delay(100);
}

getch();
closegraph();
return 0;
}

C++ program to draw a line using Bresenham's algorithm (using graphics.h)

#include<iostream>
#include<graphics.h>
using namespace std;
void drawline(int,int,int,int);
int main(){
    int gdriver=DETECT, gmode, x1, y1, x2, y2;
    initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi");
    cout<<"Enter co-ordinates of start point: ";
    cin>>x1>>y1;
    cout<<"Enter co-ordinates of end point: ";
    cin>>x2>>y2;
    drawline(x1, y1, x2, y2);
    getch();
    closegraph();
    return 0;

}
void drawline(int x1,int y1,int x2,int y2 )
{
    int dx,dy,xinc,yinc,x,y,k,pk;
    dx=x2-x1;
    dy=y2-y1;
    if(x2>x1)
        xinc=1;
    else
        xinc=-1;
    if(y2>y1)
        yinc=1;
    else
        yinc=-1;
    if(abs(dx)>abs(dy)){
        x=x1;
        y=y1;
        pk=2*dy-dx;
        for(k=0;k<=dx;k++)
        {
            if(pk<0)
            {
                putpixel(x,y,RED);
                x=x+xinc;
                y=y+0;
                pk=pk+2*dy;
            }
            else{
                putpixel(x,y,RED),
                x=x+xinc;
                y=y+yinc;
                pk=pk+2*(dy-dx);
            }
            delay(100);
        }
    }
    else {
        x=x1;
        y=y1;
        pk=2*dx-dy;
        for(k=0;k<=dy;k++)
        {
            if(pk<0)
            {
                putpixel(x,y,RED),
                x=x+0;
                y=y+yinc;
                pk=pk+2*dx;
            }
            else{
                putpixel(x,y,RED),
                x=x+xinc;
                y=y+yinc;
                pk=pk+2*(dx-dy);
            }
                delay(100);
        }
    }

}

C++ Program for drawing line using DAA algorithm (using graphics.h)

#include <graphics.h>
#include <iostream>
#include <math.h>
using namespace std;
int main( )
{
    float x,y,x1,y1,x2,y2,dx,dy,step;
    int i,gd=DETECT,gm;

    initgraph(&gd,&gm,"c:\\turboc3\\bgi");

    cout<<"Enter the value of x1 and y1 : ";
    cin>>x1>>y1;
    cout<<"Enter the value of x2 and y2: ";
    cin>>x2>>y2;

    dx=abs(x2-x1);
    dy=abs(y2-y1);

    if(dx>=dy)
        step=dx;
    else
        step=dy;

    dx=dx/step;
    dy=dy/step;

    x=x1;
    y=y1;

    i=1;
    while(i<=step)
    {
        putpixel(x,y,GREEN);
        x=x+dx;
        y=y+dy;
        i=i+1;
        delay(100);
    }
    getch();
    closegraph();
}

Wednesday, December 13, 2017

FLAG OF NEPAL MADE IN OPENGL



















Click here to download the source code.