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