# www.vustudents.ning.com

CS602 Computer Graphics Assignment No 02 Fall 2019 Solution & Discussion

Views: 2060

### Replies to This Discussion

yar superwebtech ki videos dekho part 1 and 2 or abhi abhi us ne error  remove wali video bnai hai mainly parameters me linkers lekhne hain or sab se pehle 32-bit release version dev ka select karna hai

# CS602 ASSIGNMENT 2 SOLUTION FALL 2019 due date: 27 Nov

try karo ho jaye ga aur agar sare steps follow ke baad akhir par phir error aye ga tab ek dafa close kar ke devc++ duabar open karna ho jaye ga

thnks bro jazakallah

\$(CPP) \$(LINKOBJ) -o \$(BIN) \$(LIBS) still this error occur. graphic library i have alrdy added . Id return error exist still

CS602 Computer Graphics Assignment 2 Solution & Discussion Fall 2019

`#include <stdio.h>    #include <graphics.h>    #include <stdlib.h>    #include <math.h>    #include <conio.h>    void reset (int h[])    {    int val = {    { 50, 50 },{ 75, 50 },{ 75, 75 },{ 100, 75 },    { 100, 50 },{ 125, 50 },{ 125, 100 },{ 87, 125 },{ 50, 100 }    };    int i;    for (i=0; i<9; i++)    {    h[i] = val[i]-50;    h[i] = val[i]-50;    }    }    void draw (int h[])    {    int i;    setlinestyle (DOTTED_LINE, 0, 1);    line (320, 0, 320, 480);    line (0, 240, 640, 240);    setlinestyle (SOLID_LINE, 0, 1);    for (i=0; i<8; i++)    line (320+h[i], 240-h[i], 320+h[i+1], 240-h[i+1]);    line (320+h, 240-h, 320+h, 240-h);    }    void rotate (int h[], float angle)    {    int i;    for (i=0; i<9; i++)    {    int xnew, ynew;    xnew = h[i] * cos (angle) - h[i] * sin (angle);    ynew = h[i] * sin (angle) + h[i] * cos (angle);    h[i] = xnew; h[i] = ynew;    }    }    void scale (int h[], int sx, int sy)    {    int i;    for (i=0; i<9; i++)    {    h[i] *= sx;    h[i] *= sy;    }    }    void translate (int h[], int dx, int dy)    {    int i;    for (i=0; i<9; i++)    {    h[i] += dx;    h[i] += dy;    }    }    void reflect (int h[], int m, int c)    {    int i;    float angle;for (i=0; i<9; i++)    h[i] -= c;    angle = M_PI/2 - atan (m);    rotate (h, angle);    for (i=0; i<9; i++)    h[i] = -h[i];    angle = -angle;    rotate (h, angle);    for (i=0; i<9; i++)    h[i] += c;    }    void ini()    {    int gd=DETECT,gm;    void initgraph ( int *gd, int *gm, char *bgi);    }    void dini()    {    getch();    closegraph();    }    void main();    {    int h,sx,sy,x,y,m,c,choice;    do    {    clrscr();    printf("1. Scaling about the origin.\n");    printf("2. Scaling about an arbitrary point.\n");    printf("3. Reflection about the line y = mx + c.\n");    printf("4. Exit\n");    printf("Enter the choice: ");    scanf("%d",&choice);    switch(choice)    {    case 1: printf ("Enter the x- and y-scaling factors: ");    scanf ("%d%d", &sx, &sy);    ini();    reset (h);    draw (h);getch();    scale (h, sx, sy);    cleardevice();    draw (h);    dini();    break;    case 2: printf ("Enter the x- and y-scaling factors: ");    scanf ("%d%d", &sx, &sy);    printf ("Enter the x- and y-coordinates of the point: ");    scanf ("%d%d", &x, &y);    ini();    reset (h);    translate (h, x, y);// Go to arbitrary point    draw(h); getch();//Show its arbitrary position    cleardevice();    translate(h,-x,-y);//Take it back to origin    draw(h);    getch();    cleardevice();    scale (h, sx, sy);//Now Scale it    draw(h);    getch();    translate (h, x, y);//Back to Arbitrary point    cleardevice();    draw (h);    putpixel (320+x, 240-y, WHITE);    dini();    break;    case 3: printf ("Enter the values of m and c: ");    scanf ("%d%d", &m, &c);    ini();    reset (h);    draw (h); getch();    reflect (h, m, c);    cleardevice();    draw (h);    dini();    break;    case 4: exit(0);    }    }while(choice!=4);    }`

yarr kisi ka solution hua k ni?