Traducción de objetos en infografía

En gráficos por computadora, hemos visto cómo dibujar algunas figuras básicas como líneas y círculos. En esta publicación, discutiremos los conceptos básicos de una operación importante en gráficos por computadora, así como en geometría 2-D, que es la transformación
En gráficos por computadora, la transformación de las coordenadas consta de tres procesos principales: 
 

  • Traducción
  • Rotación
  • Escalada

En esta publicación discutiremos solo sobre la traducción
 

CPP

// C++ program for translation
// of a single coordinate
#include<bits/stdc++.h>
#include<graphics.h>
  
using namespace std;
  
// function to translate point
void translatePoint ( int P[], int T[])
{
    /* init graph and putpixel are used for 
       representing coordinates through graphical 
       functions 
    */
    int gd = DETECT, gm, errorcode;
    initgraph (&gd, &gm, "c:\\tc\\bgi"); 
      
    cout<<"Original Coordinates :"<<P[0]<<","<<P[1];
  
    putpixel (P[0], P[1], 1);
  
    // calculating translated coordinates
    P[0] = P[0] + T[0];
    P[1] = P[1] + T[1];
  
    cout<<"\nTranslated Coordinates :"<< P[0]<<","<< P[1];
     
    // Draw new coordinates
    putpixel (P[0], P[1], 3);
    closegraph();
}
  
// driver program
int main()
{
    int P[2] = {5, 8}; // coordinates of point
    int T[] = {2, 1}; // translation factor
    translatePoint (P, T);
    return 0;
} 

CPP

// cpp program for translation
// of a single line
#include<bits/stdc++.h>
#include<graphics.h>
  
using namespace std;
  
// function to translate line
void translateLine ( int P[][2], int T[])
{
    /* init graph and line() are used for 
       representing line through graphical
       functions 
    */
    int gd = DETECT, gm, errorcode;
    initgraph (&gd, &gm, "c:\\tc\\bgi"); 
      
    // drawing original line using graphics functions
    setcolor (2);
    line(P[0][0], P[0][1], P[1][0], P[1][1]);
  
    // calculating translated coordinates
    P[0][0] = P[0][0] + T[0];
    P[0][1] = P[0][1] + T[1];
    P[1][0] = P[1][0] + T[0];
    P[1][1] = P[1][1] + T[1];
  
    // drawing translated line using graphics functions
    setcolor(3);
    line(P[0][0], P[0][1], P[1][0], P[1][1]);
    closegraph();
}
  
// driver program
int main()
{
    int P[2][2] = {5, 8, 12, 18}; // coordinates of point
    int T[] = {2, 1}; // translation factor
    translateLine (P, T);
    return 0;
} 

CPP

// C++ program for translation
// of a rectangle
#include<bits/stdc++.h>
#include<graphics.h>
using namespace std;
  
// function to translate rectangle
void translateRectangle ( int P[][2], int T[])
{
    /* init graph and rectangle() are used for 
    representing rectangle through graphical functions */
    int gd = DETECT, gm, errorcode;
    initgraph (&gd, &gm, "c:\\tc\\bgi"); 
    setcolor (2);
    // rectangle (Xmin, Ymin, Xmax, Ymax)
    // original rectangle
    rectangle (P[0][0], P[0][1], P[1][0], P[1][1]);
  
    // calculating translated coordinates
    P[0][0] = P[0][0] + T[0];
    P[0][1] = P[0][1] + T[1];
    P[1][0] = P[1][0] + T[0];
    P[1][1] = P[1][1] + T[1];
  
    // translated rectangle (Xmin, Ymin, Xmax, Ymax)
    // setcolor(3);
    rectangle (P[0][0], P[0][1], P[1][0], P[1][1]);
    // closegraph();
}
  
// driver program
int main()
{
    // Xmin, Ymin, Xmax, Ymax as rectangle
    // coordinates of top left and bottom right points
    int P[2][2] = {5, 8, 12, 18};
    int T[] = {2, 1}; // translation factor
    translateRectangle (P, T);
    return 0;
} 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *