El archivo de encabezado graphics.h contiene la función drawpoly() que se usa para dibujar polígonos, es decir, triángulo, rectángulo, pentágono, hexágono, etc.
Sintaxis:
void drawpoly( int number, int *polypoints ); where, number indicates (n + 1) number of points where n is the number of vertices in a polygon. polypoints points to a sequence of (n*2) integers.
Ejemplos:
Input : arr[] = {320, 150, 400, 250, 250, 350, 320, 150}; Output : Input : arr[] = {120, 250, 400, 250, 400, 350, 450, 200, 120, 250}; Output :
Explicación: la declaración de drawpoly() contiene dos argumentos. número indica (n + 1) número de puntos donde n es el número de vértices en un polígono. El segundo argumento, es decir, polipuntos apunta a una secuencia de (n * 2) enteros. Cada par de números enteros da las coordenadas x e y de un punto en el polígono. Especificamos (n + 1) puntos porque las coordenadas del primer punto deben ser iguales a (n + 1) para dibujar una figura completa.
Ejemplo 1: Dibujar un triángulo usando drawpoly.
int arr[] = {320, 150, 400, 250, 250, 350, 320, 150};
Array arr contiene coordenadas de triángulo que son (320, 150), (400, 250) y (250, 350). Tenga en cuenta que el último punto (320, 150) en la array es el mismo que el primero.
A continuación se muestra la implementación de la función drawpoly().
// C Implementation for drawpoly() #include <graphics.h> // driver code int main() { // gm is Graphics mode which is // a computer display mode that // generates image using pixels. // DETECT is a macro defined in // "graphics.h" header file int gd = DETECT, gm; // coordinates of polygon int arr[] = {320, 150, 400, 250, 250, 350, 320, 150}; // initgraph initializes the // graphics system by loading a // graphics driver from disk initgraph(&gd, &gm, ""); // drawpoly function drawpoly(4, arr); getch(); // closegraph function closes the // graphics mode and deallocates // all memory allocated by // graphics system . closegraph(); return 0; }
Producción :
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA