PDF de programación - Conceptos básicos de Graficación en C++

Imágen de pdf Conceptos básicos de Graficación en C++

Conceptos básicos de Graficación en C++gráfica de visualizaciones

Actualizado el 7 de Enero del 2021 (Publicado el 25 de Enero del 2019)
1.387 visualizaciones desde el 25 de Enero del 2019
214,1 KB
6 paginas
Creado hace 20a (19/04/2004)
CONCEPTOS BÁSICOS DE GRAFICACIÓN EN C++

Bruno López Takeyas

Instituto Tecnológico de Nuevo Laredo

Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México

http://www.itnuevolaredo.edu.mx/takeyas
E-mail: [email protected]



1.2



Resumen: En numerosas ocasiones

los
estudiantes requieren representar gráficamente el
comportamiento
de modelos matemáticos,
estadísticos, de investigación de operaciones, etc.
mediante programas computacionales diseñados
“a la medida” sin necesidad de apoyarse en
paquetes de cómputo comerciales. Por esto, se
presentan las siguientes consideraciones básicas
de graficación en lenguaje C++,

Palabras claves: Graficación,

resolución,

píxel, lenguaje C++, monitor.



INTRODUCCIÓN

1
Tal como un artista selecciona diversos medios
para representar sus pinturas, los programadores,
escogen un modo y formato especial para
habilitar el monitor para graficar. Cada modo
proporciona ciertas características como
la
resolución, número posible de colores, modo
texto o modo gráfico y otros elementos donde
cada modo requiere de cierto equipo (hardware).

1.1 Resolución

Las imágenes gráficas mostradas en un monitor
de computadora se componen de pequeños puntos
llamados píxeles, los cuales están distribuidos en
la pantalla en filas; existe una cantidad específica
de filas y cada fila tiene una cantidad específica
de píxeles. La cantidad de píxeles usada en la
pantalla se conoce como resolución. Cada modo
gráfico tiene una resolución particular.

Inicializar el monitor en modo gráfico

Para habilitar el monitor en modo gráfico y
utilizar sus píxeles y funciones de gráficos, es
incluir el encabezado #include
necesario
<graphics.h> que contiene las declaraciones
y funciones relacionadas con graficación e
inicializar el monitor en modo gráfico y utilizar
sus píxeles con la función initgraph().
Dicha
siguientes
declaraciones:
int monitor=DETECT;
// Variable para detectar el tipo
// de monitor
int modo;
// Modo de operación del monitor

requiere

función

las



también se puede declarar e inicializar con un
tipo de monitor específico como:
int monitor=VGA;
// Variable para usar el monitor
// tipo VGA
int modo=VGAHI;
// Usar el monitor VGA a su
//maxima resolución
Fig. 1. Declaración de variables para habilitar el monitor en



modo gráfico



Para terminar de usar el monitor en modo
gráfico y devolverlo a su modo de texto normal
se usa la función closegraph().


1

1.2.1 La función initgraph()

Una vez declaradas las variables monitor y
modo que controlarán la resolución identificando
el tipo de pantalla o monitor y su modo de
operación respectivamente, se utiliza la función
initgraph()
el monitor
seleccionado en modo gráfico. La función
initgraph() tiene 3 parámetros o argumentos:

habilitar

para

1) La variable que identifica el monitor.
2) El modo de operación gráfico.
3) Subdirectorio

los
controladores de los monitores (archivos
con extensión BGI) y los archivos con los
tipos de letra (extensión CHR) como lo
muestra la Fig.2.

contiene

que



int monitor=DETECT, modo;

initgraph(&monitor,&modo,"\\tc\\bgi");

Fig. 2. La función initgraph().



Si se desea usar el directorio actual por defecto,
se utiliza la función initgraph() como lo indica
la Fig. 3.

int monitor=DETECT, modo;

initgraph(&monitor,&modo,"");
Fig. 3. La función initgraph() usando el subdirectorio actual

por defecto.



1.3 Uso de coordenadas

Una vez que se inicializa el monitor en modo
gráfico, las coordenadas tienen al píxel como
unidad de medida. La función getmaxx()
calcula la cantidad de píxeles por renglón y la
función getmaxy() calcula la cantidad de
renglones de la pantalla.

Las funciones de gráficos tienen como estándar
el orden de manejo de coordenadas como
columna, renglón; es decir, primero se anota la
columna y después el renglón para posicionarse
en dicha coordenada.

Cabe destacar que el conteo de columnas y
renglones inicia partiendo de la esquina superior
izquierda del monitor.

2 LÍNEAS, FIGURAS

GEOMÉTRICAS, COLORES Y
RELLENOS

Sería muy difícil considerar todas las opciones
posibles de todas las funciones de graficación; sin
embargo, en este artículo se tratan los temas
fundamentales para implementarlas. Básicamente
se mostrará que antes de utilizar un color, un tipo
de línea, de relleno, o cualquier función de
definición del tipo de trazo, etc. es necesario
definirlo. A continuación se muestran
las
funciones básicas de graficación.



2.1 La función line()



Esta función se utiliza para dibujar una línea
entre 2 puntos. Para ello, la función requiere 4
parámetros que representan las coordenadas (en
pixeles) de los dos puntos que se desea unir
mediante una línea recta. La Fig. 4 muestra un
ejemplo que une los puntos 50,100 y 300,200
(columna, renglón respectivamente).



line(50,100,300,200);

Fig. 4. La función line().


2.2 La función setlinestyle()

Esta función se utiliza para determinar el tipo
de línea o trazo que se desea. Se pueden utilizar
trazos con línea continua, línea punteada, línea
interrumpida, o un patrón de línea definido por el
usuario. Esta función requiere 3 argumentos:

1) Tipo de línea: Puede ser SOLID_LINE,
CENTER_LINE,

DOTTED_LINE,
DASHED_LINE o USERBIT_LINE.

2) Patrón: Este argumento regularmente es
ignorado (excepto cuando se trata de un tipo
de línea definido por el usuario).

3) Ancho de línea: Define la amplitud del

trazo.

La Fig. 5 muestra un ejemplo que une los puntos
50,100 y 300,200 con una línea punteada.

setlinestyle(DOTTED_LINE,0, NORM_WIDTH);
line(50,100,300,200);


Fig. 5. La función setlinestyle().

2

2.3 La función circle()
Esta función dibuja un círculo y requiere 3
argumentos:

1) Coordenada de la columna del centro (en

2) Coordenada del renglón del centro (en

pixeles).

pixeles).

3) Radio del círculo (en pixeles).

La Fig. 6 dibuja un círculo cuyo centro se
encuentra en el punto 300,150 y su radio es de 27
pixeles.



DARKGRAY
LIGHTBLUE
LIGHTGREEN
LIGHTCYAN
LIGHTRED

LIGHTMAGENTA

YELLOW
WHITE

8
9
10
11
12
13
14
15



circle(300,150,27);



Fig. 6. La función circle().


2.4 La función rectangle()

Esta función dibuja un rectángulo indicando las
coordenadas de las esquinas superior izquierda e
inferior derecha respectivamente. La Fig. 7
muestra un ejemplo de una función que dibuja un
rectángulo desde el punto 50,100 hasta el punto
400,250.


rectangle(50,100,400,250);

Fig. 7. La función rectangle().


2.5 La función setcolor()

Se utiliza esta función para definir el color de
los trazos siguientes; es decir, antes de dibujar un
trazo de un color específico, éste debe definirse.
Esta función sólo
tiene un argumento que
representa el código del color deseado. P. ejem.
BLACK, RED, BLUE, GREEN, YELLOW, etc.
o bien su número entero correspondiente. La Fig.
8 muestra la tabla de colores y sus respectivos
valores.

BLACK
BLUE
GREEN
CYAN
RED

MAGENTA
BROWN

LIGHTGRAY

0
1
2
3
4
5
6
7

Fig. 8. Tabla de colores y sus valores.

La Fig. 9 muestra un ejemplo del uso de la
función setcolor() donde se dibuja un circulo de
color rojo y después un rectangulo de color azul.


setcolor(RED);
circle(300,150,27);

setcolor(BLUE);
rectangle(50,100,400,250);


Fig. 9. Uso de la función setcolor().



2.6 Definiendo el tipo de relleno de una

figura con la función setfillstyle()

Si se desea rellenar una figura, es necesario
definir previamente el patrón y color del relleno.
La Fig. 10 muestra los patrones de relleno
disponibles.
PATRÓN
EMPTY_FILL
SOLID_FILL

DESCRIPCIÓN
0 Color del fondo
1 Relleno sólido con

el color
determinado

2 Relleno con línea (-

--)

3 Relleno con ///
líneas de ancho
normal

4 Relleno con ///

5 Relleno con \\\

líneas

líneas

6 Relleno con \\\
líneas de ancho
normal

7 Relleno de líneas

LINE_FILL

LTSLASH_FILL

SLASH_FILL

BKSLASH_FILL

LTBKSLASH_FILL

HATCH_FILL

3

setcolor(RED);
circle(300,150,27);

setfillstyle(SOLID_FILL,BLUE);
floodfill(300,150,RED);



Fig. 12. Uso de la función floodfill().



3 CÓMO MOSTRAR MENSAJES

EN MODO GRÁFICO

Aunque el monitor se encuentre habilitado en
modo gráfico, se puede combinar la colocación
de texto y gráficas en la pantalla; sin embargo, en
esta sección se hace énfasis en la colocación de
mensajes en formato gráfico, definiendo el tipo
de letra, dirección y tamaño del mensaje deseado.

3.1 La función settextstyle()

Antes

de mostrar

un mensaje,

debe
seleccionarse el tipo de letra, dirección y tamaño
función
del
setfillstyle()
3
argumentos:

mediante

requiere

mensaje

cual

1) El tipo de letra. (Ver Fig. 13).
2) La dirección del mensaje (horizontal o

la

la



vertical).
3) Tamaño.



Tipo letra
DEFAULT_FONT
TRIPLEX_FONT
SMALL_FONT
SANS_SERIF_FONT
GOTHIC_FONT

Valor

0
1
2
3
4

Archivo
-
TRIP.CHR
LITT.CHR
SANS.CHR
GOTH.CHR

XHATCH_FILL

cruzadas ligeras
8 Relleno de líneas
cruzadas gruesas
INTERLEAVE_FILL 9 Relleno de líneas
WIDE_DOT_FILL
10 Relleno de puntos



CLOSE_DOT_FILL

USER_FILL

espaciados

11 Relleno de puntos

cercanos

12 Relleno definido

por el usuario



Fig. 10. Patrones de relleno de la función setfillstyl
  • Links de descarga
http://lwp-l.com/pdf14982

Comentarios de: Conceptos básicos de Graficación en C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad