MCSL-054 (II) Solved Assignment
MCSL-054 (II) Solved Assignment
Ignougroup.com
MCSL053 – (MCS-53)
(Computer Graphics and Multimedia)
#include <windows.h>
#include <gl/glut.h>
#include <math.h>
void drawCircle(){
glBegin(GL_LINE_LOOP);
glColor3f(1.0,0.0,0.0);
double x = 5*cos(angle);
double y = 5*sin(angle);
glVertex2d(x,y);
glEnd();
void drawRect(){
glColor3f(0.0,0.0,1.0);
[email protected]
Solved Assignment By
Ignougroup.com
glRectf(-5.0,5.0,5.0,-5.0);
void init(void){
glClearColor(0.0,1.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10.0,10.0,-10.0,10.0,-10.0,10.0);
void display(void)
glClear(GL_COLOR_BUFFER_BIT);
drawRect();
drawCircle();
glutSwapBuffers();
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(320,320);
glutInitWindowPosition(50,50);
glutCreateWindow("2D Shapes");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
[email protected]
Solved Assignment By
Ignougroup.com
#include<gl/gl.h>
#include<gl/glu.h>
#include<gl/glut.h>
void myInit(void)
{
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0f,0.0f,0.0f);
glPointSize(4.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,800.0,0.0,600.0);
}
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex2i(100,100);
glVertex2i(200,100);
glVertex2i(200,200);
glVertex2i(100,200);
glEnd();
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex2i(100,200);
glVertex2i(150,300);
glVertex2i(200,200);
glEnd();
glFlush();
}
void main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(800,600);
glutInitWindowPosition(100,100);
glutCreateWindow("OpenGl Window");
myInit();
[email protected]
Solved Assignment By
Ignougroup.com
glutDisplayFunc(myDisplay);
glutMainLoop();
}
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct Node
{
int x;
int y;
struct Node* next;
};
void main()
{
int i, j;
int pt[3][2];
int clr;
[email protected]
Solved Assignment By
Ignougroup.com
setcolor (WHITE);
line (pt[0][0], pt[0][1], pt[1][0], pt[1][1]);
line (pt[1][0], pt[1][1], pt[2][0], pt[2][1]);
line (pt[2][0], pt[2][1], pt[0][0], pt[0][1]);
getch();
closegraph();
return;
}
first->x = x;
first->y = y;
first->next = NULL;
last = first;
[email protected]
Solved Assignment By
Ignougroup.com
tmp = first;
first = first->next;
x = first->x;
y = first->y;
free (tmp);
}
}
p->x = x;
p->y = y;
[email protected]
Solved Assignment By
Ignougroup.com
p->next = NULL;
(*last)->next = p;
*last = (*last)->next;
}
#include<stdlib.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>
void drawwindow();
void drawline(PT p1,PT p2);
PT setcode(PT p);
int visibility(PT p1,PT p2);
PT resetendpt(PT p1,PT p2);
void main()
{
int gd=DETECT,v,gm;
PT p1,p2,p3,p4,ptemp;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
drawwindow();
delay(500);
drawline(p1,p2);
[email protected]
Solved Assignment By
Ignougroup.com
delay(500);
cleardevice();
delay(500);
p1=setcode(p1);
p2=setcode(p2);
v=visibility(p1,p2);
delay(500);
switch(v)
{
case 0: drawwindow();
delay(500);
drawline(p1,p2);
break;
case 1: drawwindow();
delay(500);
break;
case 2: p3=resetendpt(p1,p2);
p4=resetendpt(p2,p1);
drawwindow();
delay(500);
drawline(p3,p4);
break;
}
delay(5000);
closegraph();
}
void drawwindow()
{
line(150,100,450,100);
line(450,100,450,350);
line(450,350,150,350);
line(150,350,150,100);
}
[email protected]
Solved Assignment By
Ignougroup.com
if(p.y<100)
ptemp.code[0]='1'; //Top
else
ptemp.code[0]='0';
if(p.y>350)
ptemp.code[1]='1'; //Bottom
else
ptemp.code[1]='0';
if(p.x>450)
ptemp.code[2]='1'; //Right
else
ptemp.code[2]='0';
if(p.x<150)
ptemp.code[3]='1'; //Left
else
ptemp.code[3]='0';
ptemp.x=p.x;
ptemp.y=p.y;
return(ptemp);
}
for(i=0;i<4;i++)
{
if((p1.code[i]!='0') || (p2.code[i]!='0'))
flag=1;
}
if(flag==0)
return(0);
for(i=0;i<4;i++)
{
if((p1.code[i]==p2.code[i]) && (p1.code[i]=='1'))
flag='0';
}
[email protected]
Solved Assignment By
Ignougroup.com
if(flag==0)
return(1);
return(2);
}
if(p1.code[3]=='1')
x=150;
if(p1.code[2]=='1')
x=450;
if((p1.code[3]=='1') || (p1.code[2]=='1'))
{
m=(float)(p2.y-p1.y)/(p2.x-p1.x);
k=(p1.y+(m*(x-p1.x)));
temp.y=k;
temp.x=x;
for(i=0;i<4;i++)
temp.code[i]=p1.code[i];
if(p1.code[0]=='1')
y=100;
if(p1.code[1]=='1')
y=350;
if((p1.code[0]=='1') || (p1.code[1]=='1'))
{
m=(float)(p2.y-p1.y)/(p2.x-p1.x);
k=(float)p1.x+(float)(y-p1.y)/m;
temp.x=k;
temp.y=y;
for(i=0;i<4;i++)
[email protected]
Solved Assignment By
Ignougroup.com
temp.code[i]=p1.code[i];
return(temp);
}
else
return(p1);
}