C++ Programming Blog

 
 
 
# include <iostream.h>
# include <conio.h>
# include <graphics.h>
# include <math.h>

char IncFlag;
int PolygonPoints[4][2] =
    {{10,100},{110,100},{110,200},{10,200}};

int RefX = 10;
int RefY = 100;

void PolyLine()
{
    int iCnt;
    cleardevice();
    line(0,240,640,240);
    line(320,0,320,480);
    for (iCnt=0; iCnt<4; iCnt++)
    {
        line(PolygonPoints[iCnt][0],PolygonPoints[iCnt][1],
          PolygonPoints[(iCnt+1)%4][0],PolygonPoints[(iCnt+1)%4][1]);
    }
}

void Translate(int Direction)
{
    int iCnt;
    for (iCnt=0; iCnt<4; iCnt++)
    {
        PolygonPoints[iCnt][0] += Direction*RefX;
        PolygonPoints[iCnt][1] -= Direction*RefY;
    }
}

void Rotate()
{
    float Angle;
    int iCnt;
    int Tx,Ty;
    Translate(-1);
    cout<<endl;
    Angle = 30.0*(22.0/7.0)/180.0;
    for (iCnt=0; iCnt<4; iCnt++)
    {
        Tx = PolygonPoints[iCnt][0];
        Ty = PolygonPoints[iCnt][1];
        PolygonPoints[iCnt][0] = (Tx - 320)*cos(Angle) -
                     (Ty - 240)*sin(Angle) + 320;
        PolygonPoints[iCnt][1] = (Tx - 320)*sin(Angle) +
                     (Ty - 240)*cos(Angle) + 240;
    }
    Translate(1);
}

void main()
{
    int gDriver = DETECT, gMode;
    int iCnt;
    initgraph(&gDriver, &gMode, \"C:\\\\TC\\\\BGI\");
    for (iCnt=0; iCnt<4; iCnt++)
    {
        PolygonPoints[iCnt][0] += 320;
        PolygonPoints[iCnt][1] = 240 - PolygonPoints[iCnt][1];
    }
    PolyLine();
    getch();
    Rotate();
    PolyLine();
    getch();
}

    Related Post:
  1. Program of inheritance using shape class and area calculation

  2. Program to convert an Infix Expression into a Postfix Expression

  3. Program to illustrate classes without using inline functions

  4. Program to estimate the value of First Derivative of the function at the given points from the given data using Central Difference Formula

  5. Program of Deapth First Search Traversal ( DFS )

  6. Program to show the projection of 3D objects using Orthographics Projection Parallel onto xy-plane

  7. Program to illustrate the use of call-by-value method in functions

  8. Program that displays the size, address of the variables of type int , float and char.

  9. Program to create a queue using static memory allocation

  10. Program to show the 3D Reflection Transformation along xy-plane

  11. Program of rotate about reference point

  12. Program that reads marks obtained by a student in a test of 100 marks and print pass if marks are greater than or equal to 50

  13. Program to search an element in an array using Linear search

  14. Program to fill a Circle using Scan-Line Circle Fill Algorithm

  15. Program to implement the Kurskals Algorithm to solve Minimum Cost Spanning Tree Problem (MST) using Graphics

  16. Program to illustrate the difference b/w passing the whole array and the single array element as a parameter to a function

  17. Program to read all words from a file and remove all words which are palindromes

  18. Program that provides an example of class

  19. Program to perform quick sort

  20. Program to illusrate data conversion b/w built-in data types and user defined data types (int & float)

 
 
Didn't find what you were looking for? Find more on Program of rotate about reference point