Navigation

    Cyberian
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Pro Blog
    • Users
    • Groups
    • Unsolved
    • Solved

    SOLVED CS602 Assignment 2 Solution and Discussion

    CS602 - Computer Graphics
    cs602 assignment 2 solution discussion fall 2019
    1
    3
    35
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • zareen
      zareen Cyberian's Gold last edited by

      Assignment No. 02
      Semester: Fall 2019
      CS602: Computer Graphics
      Total Marks: 20

      Due Date: 27th November 2019

      Objective
      The objective of this assignment is to;
       Learn and practice basic concepts of computer graphics like pixels, lines, text etc using Dev-C++. (You can download Dev-C++ setup from LMS)
       Learn to draw lines and rigid bodies by using graphics library functions.
       Learn the concepts of filled area primitives.
       Learn the basic transformations with fundamental matrix operations.
      Instructions:
      You have to do the following steps first in order to perform the task.

      1. Install Dev-C++ from your LMS.
      2. Read out the file “Add graphics in Dev cpp” thoroughly and follow the instructions in the file properly provided to you on your LMS.
        Please read the following instructions carefully before submitting assignment:
      3. You should consult the recommended books, PowerPoint slides , Handouts and video lectures to clarify your concepts.
      4. You can take any help from your provided labs.
      5. It should be clear that your assignment will not get any credit if:
        • The assignment is submitted after due date.
        • The assignment is copied from Internet or from any other student.
        • The submitted assignment does not open or file is corrupt.
        Submission
        You are required to submit your solution through LMS in zip format containing following files.
         Your Project in zipped form containing both .cpp and .exe file.

      The word document (.doc/docx) or any other file format containing code will not be considered.
      If the code files are missing in zip folder, your assignment will be awarded as zero.

      Note: No assignment will be accepted after the due date through email in any case (load shedding, server down, internet malfunctioning etc.).
      It is recommended to upload solution file at least two days before its closing date.
      For any query about the assignment, contact at [email protected]

      TASK Marks=20
      This task is based on the concepts of basic transformations like translation, scaling and reflection (along axis) of a rigid body. For this purpose you have to implement the following:

      1. You have to make the house with basic shapes as shown in figure. At the top right corner, your VU-ID must be displayed. Mark this picture as ‘Original’.
        109685f2-892c-4b64-bde0-934172d11396-image.png

      2. Now apply translation to the original house and move it to new location on the screen. Mark the translated picture as ‘Translated’.
        a7bd2850-75e2-4080-bf14-860a395c7cac-image.png

      3. Now scale the original house by sx=2 and sy=2 and display it somewhere on the screen.
        e723754f-a3ef-4b7f-85ba-8f744b6f8a8b-image.png

      4. Take reflection along x axis of the original house and display it somewhere on the screen. Mark it as ‘Reflection along x axis’.
        984f8434-11d7-47c8-b58a-4ac09b375760-image.png

      Write a code in c++ to implement above functions. It will be a good programming practice that you implement it by creating house class.

      Discussion is right way to get Solution of the every assignment, Quiz and GDB.
      We are always here to discuss and Guideline, Please Don't visit Cyberian only for Solution.
      Cyberian Team always happy to facilitate to provide the idea solution. Please don't hesitate to contact us!
      NOTE: Don't copy or replicating idea solutions.
      Quiz Copy Solution
      Mid and Final Past Papers
      Live Chat

      1 Reply Last reply Reply Quote 0
      • zareen
        zareen Cyberian's Gold last edited by

        //<!--CS602 ASSIGNMENT 2 SOLUTION-->
        //<!--FALL 2019-->
        //<!--DUE DATE: 27 NOVEMBER, 2019-->
        //PRE-PARED BY: SUPERSTARWEBTECH.COM
        //CONNECT WITH US:FACEBOOK.COM/SUPERSTARWEBTECH
        //E-MAIL: [email protected]
        
        #include <stdio.h>
        #include <stdlib.h>
        #include <conio.h>
        #include <graphics.h>
        #include <math.h>
        
        class House
        {
        	private:
        		int x1,x2,x3,x4,x5;
        		int y1,y2,y3;
        		int dx1, dx2;
        		int dy1, dy2;
        		
        		int xc,yc;
        		
        	public:
        		House()
        		{
        		xc=45;
        		yc=65; //center of figure
        		
        		x1=30;
        		x2=x1+50;
        		x3=20;
        		x4=x3+20;
        		x5=x4+50;
        
        		y1=30;
        		y2=y1+20;
        		y3=y2+50;
        
        		dx1=x3+5;
        		dx2=dx1+10;
        		dy1=y2+30;
        		dy2=dy1+20;
        		}
        		
        		void translate(int tx, int ty) //draw translate house
        		{
        			x1+=tx;
        			x2+=tx;
        			x3+=tx;
        			x4+=tx;
        			x5+=tx;
        		
        			y1+=ty;
        			y2+=ty;
        			y3+=ty;
        			
        			dx1+=tx;
        			dx2+=tx;
        			
        			dy1+=ty;
        			dy2+=ty;
        		}
        		
        		void scale(int sx, int sy) //draw scaled house
        		{
        			x1=xc+(x1-xc)*sx;
        			x2=xc+(x2-xc)*sx;
        			x3=xc+(x3-xc)*sx;
        			x4=xc+(x4-xc)*sx;
        			x5=xc+(x5-xc)*sx;
        			
        			y1=yc+(y1-yc)*sy;
        			y2=yc+(y2-yc)*sy;
        			y3=yc+(y3-yc)*sy;
        			
        			dx1=xc+(dx1-xc)*sx;
        			dx2=xc+(dx2-xc)*sx;
        			
        			dy1=yc+(dy1-yc)*sy;
        			dy2=yc+(dy2-yc)*sy;
        			
        		}
        
        		void reflectx(int rx)
        		{
        			y1=-y1+rx;
        			y2=-y2+rx;
        			y3=-y3+rx;
        		
        			dy1=-dy1+rx;
        			dy2=-dy2+rx;
        		}
        		
        		void reflecty(int ry)
        		{
        			x1=-x1+ry;
        			x2=-x2+ry;
        			x3=-x3+ry;
        			x4=-x4+ry;
        			x5=-x5+ry;
        			
        			dx1=-dx1+ry;
        			dx2=-dx2+ry;
        		}
        		
        		void drawH() //draw house
        		{
        			int arr[]={x1,y1,x2,y1,x5,y2,x5,y3,x3,y3,x3,y2,x1,y1,x4,y2,x4,y3,x3,y3,x3,y2,x5,y2};
        			drawpoly(12,arr); //draw house
        
        			rectangle(dx1,dy1,dx2,dy2); //draw house door
        
        		}
        		void fillH()
        		{
        			setfillstyle(HATCH_FILL,GREEN);
        			floodfill(x1+1,y1+10,WHITE);
        			floodfill(x1+1,y1+1,WHITE);
        
        			setfillstyle(SOLID_FILL,RED);
        			floodfill(x3+1,y2+1,WHITE);
        
        			setfillstyle(SOLID_FILL,YELLOW);
        			floodfill(x4+1,y2+1,WHITE);
        
        			setfillstyle(SOLID_FILL,GREEN);
        			floodfill(dx1+1,dy1+1,WHITE);
        		}
        		
        		void fillH2(){
        			setfillstyle(HATCH_FILL,GREEN);
        			floodfill(x1+1,y1-10,WHITE);
        			floodfill(x1+1,y1-1,WHITE);
        
        			setfillstyle(SOLID_FILL,RED);
        			floodfill(x3+1,y2-1,WHITE);
        
        			setfillstyle(SOLID_FILL,YELLOW);
        			floodfill(x4+1,y2-1,WHITE);
        
        			setfillstyle(SOLID_FILL,GREEN);
        			floodfill(dx1+1,dy1-1,WHITE);
        		}
        };
        
        int main()
        {
        int gd=DETECT, gm;
        initgraph(&gd,&gm,(char*)" ");
        setcolor(WHITE);
        settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
        outtextxy(2, 2, (char*)"BC123456789");
        
        House house;
        
        //draw main house
        house.drawH();
        house.fillH();
        outtextxy(2, 110, (char*)"1) Original");
        //draw translated house
        house.translate(200,0);
        house.drawH();
        house.fillH();
        outtextxy(200, 110, (char*)"2) Translated");
        
        //draw scaled house
        house.translate(-190,70);
        house.scale(2,2);
        house.drawH();
        house.fillH();
        outtextxy(2, 280, (char*)"3) Scaled");
        
        int x=90;
        int y=350;
        
        House h2;
        // draw reflected house
        h2.translate(200,70);
        h2.reflecty(x);
        h2.reflectx(y);
        h2.reflecty(x);
        h2.drawH();
        h2.fillH2();
        outtextxy(200, 270, (char*)"4) Reflected");
        
        getch();
        closegraph();
        
        }
        //<!--NOTE-->
        //<!--MAKE CHANGES ACCORDING TO YOUR REQUIREMENTS-->
        //<!--DO NOT POST ON OTHER PORTALS THIS WILL LEAD TO COPYING OF CODE AND THEN YOU WILL GET ZERO MARKS FOR IT-->
        //<!--PLUS TYPE YOUR OWN SOLUTION FOR NOT LOSING MARKS-->
        //<!--DO NOT COPY PASTE-->
        //<!--WE ARE NOT RESPONSIBLE FOR GETTING ZERO MARKS IN ASSIGNMENT-->
        //PRE-PARED BY: SUPERSTARWEBTECH.COM
        //CONNECT WITH US:FACEBOOK.COM/SUPERSTARWEBTECH
        //E-MAIL: [email protected]
        
        CS602_2_FALL_2019.txt
        Displaying CS602_2_FALL_2019.txt.
        

        Discussion is right way to get Solution of the every assignment, Quiz and GDB.
        We are always here to discuss and Guideline, Please Don't visit Cyberian only for Solution.
        Cyberian Team always happy to facilitate to provide the idea solution. Please don't hesitate to contact us!
        NOTE: Don't copy or replicating idea solutions.
        Quiz Copy Solution
        Mid and Final Past Papers
        Live Chat

        1 Reply Last reply Reply Quote 0
        • zareen
          zareen Cyberian's Gold last edited by

          Discussion is right way to get Solution of the every assignment, Quiz and GDB.
          We are always here to discuss and Guideline, Please Don't visit Cyberian only for Solution.
          Cyberian Team always happy to facilitate to provide the idea solution. Please don't hesitate to contact us!
          NOTE: Don't copy or replicating idea solutions.
          Quiz Copy Solution
          Mid and Final Past Papers
          Live Chat

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Insaf Sehat Card Live Cricket Streaming

          100% Off on Your FEE Join US! Ask Me How?

          Quiz 100% Result If you want to know how you can join us and get 100% Discount on your FEE ask Cyberian in Chat Room!
          Quiz 100% Result Quiz 100% Result
          solution1255 discussion1206 fall 2019813 assignment 1432 assignment 2297 spring 2020265 gdb 1247 assignment 382 crw10174 spring 201955
          | |
          Copyright © 2021 Cyberian Inc. Pakistan | Contributors
          Live Chat