graficas en c++ completo.doc
-
Upload
jairo-jimenez -
Category
Documents
-
view
84 -
download
2
Transcript of graficas en c++ completo.doc
Introduccin a la Programacin grafica en C
Bismarck Salvador Traa Lpez__________________________________________UNI
Introduccin a la Programacin grafica en C.
Para la mejor comprensin de este tutor hemos realizado un anlisis de las Funciones que se suelen utilizar con mucha frecuencia al programar en el modo grafico de C, dando como resultado la librera conio.h, dos.h, stdlib.h, y evidentemente graphics.h.
En este pequeo tutor solo haremos nfasis en estas libreras, puesto que al final del libro se encuentran las dems libreras que comnmente encontramos con frecuencia en el programa.
Muchos libros nos marean dndonos conceptos los cuales se aprenden conforme programando; esto no significa, que no sean importan tantees los ejercicios que aqu te enseamos te ayudaran a darte todo el conocimiento as como tambin te los daremos conforme avancemos as que dejemos de hablar y aventurmonos en el mundo de la programacin grafica.
Lo primero que debemos saber al realizar una grafica son las dimensiones del ordenador (Monitor) en modo texto las dimensiones de este es 25X80 esto dependiendo de la versin de video instalada. En el modo grafico estas dimensiones cambian dependiendo del tipo de macro de inicializacin se realice(ver Macro modos). Quedando la mas comn de 640X480 modo VGA.
A la hora de desarrollar un programa grfico se debe tener en cuenta los siguientes cuatro puntos:
1. Especificar el fichero o librera graphics.h
# include
2. Inicializar el modo grafico correspondiente mediante la Funcin initgraph;
Initgraph(&adaptador,&modo,direccin de los archivos bgi);
3. Crear y manipular las figuras graficas.
/*Desarrollo del programa*/
4. Restaurar el modo de video antes de salir del programa(restaurar el modo texto)
closegraph() o restorecrtmode()Otra de las cosas importantes que debemos saber es que Funciones contiene graphics.h
Funciones de Graphics.h
Esta librera se encuentra los prototipos de las Funciones que manipulan la parte grfica en el entorno de MS-DOS.
Arc
bar
bar3d
circle
cleardevice
clearviewport
closegraph
detectgraph
drawpoly
ellipse
fillellipse
fillpoly
floodfill
getarccoords
getaspectratio
getbkcolor
getcolor
getdefaultpalette
getdrivername
getfillpattern
getfillsettings
getgraphmode
getimage
getlinesettings
getmaxcolor
getmaxmode
getmaxx
getmaxy
getmodename
getmoderange
getpalette
getpalettesize
getpixel
gettextsettings
getviewsettings
getx
gety
graphdefaults
grapherrormsg
graphfreemem
graphgetmem
graphresult
imagesize
initgraph
installuserdriver
installuserfont
line
linerel
lineto
moverel
moveto
outtext
outtextxy
pieslice
putimage
putpixel
rectangle
registerbgidriver
registerbgifont
restorecrtmode
sector
setactivepage
setallpalette
setaspectratio
setbkcolor
setfillpattern
setfillstyle
setgraphbufsize
setgraphmode
setlinestyle
setpalette
setrgbpalette
settextjustify
settextstyle
setusercharsize
setviewport
setvisualpage
setwritemode
textheight
textwidth
Es necesario conocer hacerca de los macros y estructuras, entre las estructuras tenemos:
arccoordstype
fillsettingstype
linesettingstype
palettetype
textsettingstype
viewporttypeEntre los macros se encuentran:
colores
drivers
enlazar
errores
fuentes
lnea
modos
put_op
tramaAntes de comenzar a programar en modo grafico debemos estudiar lo que son los macros, que son instrucciones que nos ayudaran a realizar de una manera ms efectiva nuestros grficos.
Colores :
Colores de Fondo
ConstanteValorSignificado
BLACK 0Negro
BLUE 1Azul
GREEN 2Verde
CYAN 3Can
RED 4Rojo
MAGENTA 5Magenta
BROWN 6Marrn
LIGHTGRAY 7Gris Claro
DARKGRAY 8Gris Oscuro
LIGHTBLUE 9Azul Claro
LIGHTGREEN 10Verde Claro
LIGHTCYAN 11Can Claro
LIGHTRED 12Rojo Claro
LIGHTMAGENTA 13Magenta Claro
YELLOW 14Amarillo
WHITE 15Blanco
Modo de 16 Colores
ConstanteValorSignificado
BLACK 0Negro
BLUE 1Azul
GREEN 2Verde
CYAN 3Can
RED 4Rojo
MAGENTA 5Magenta
BROWN 6Marrn
LIGHTGRAY 7Gris Claro
DARKGRAY 8Gris Oscuro
LIGHTBLUE 9Azul Claro
LIGHTGREEN 10Verde Claro
LIGHTCYAN 11Can Claro
LIGHTRED 12Rojo Claro
LIGHTMAGENTA 13Magenta Claro
YELLOW 14Amarillo
WHITE 15Blanco
Color del modo CGA
Nmero PaletaColor 1SignificadoColor 2SignificadoColor 3Significado
0CGA_LIGHTGREENVerde ClaroCGA_LIGHTRED Rojo Claro CGA_YELLOW Amarillo
1CGA_LIGHTCYAN Can Claro CGA_LIGHTMAGENTAMagenta ClaroCGA_WHITE Blanco
2CGA_GREEN VerdeCGA_RED RojoCGA_BROWNMarrn
3CGA_CYAN CanCGA_MAGENTAMagentaCGA_LIGHTGRAY Gris Claro
Valor asignado: 1 2 3
Nota: Color 0 se reserva para el color de fondo y se asigna con lo funcin setbkcolor, pero los dems colores son fijos. Estas constantes se usan con setcolor.
Colores para las paletas.Constante (CGA)ValorConstante (EGA/VGA)Valor
BLACK0EGA_BLACK 0
BLUE 1EGA_BLUE1
GREEN 2EGA_GREEEN2
CYAN 3EGA_CYAN3
RED 4EGA_RED4
MAGENTA 5EGA_MAGENTA 5
BROWN 6EGA_LIGHTGRAY7
LIGHTGRAY 7EGA_BROWN 20
DARKGRAY 8EGA_DARKGRAY 56
LIGHTBLUE 9EGA_LIGHTBLUE 57
LIGHTGREEN 10EGA_LIGHTGREEN58
LIGHTCYAN 11EGA_LIGHTCYAN 59
LIGHTRED12EGA_LIGHTRED60
LIGHTMAGENTA13EGA_LIGHTMAGENTA61
YELLOW14EGA_YELLOW62
WHITE15EGA_WHITE63
Nota: Estas constantes se usan con las Funciones setpalette y setallpalette.el cual veremos en captulos posterioresFuentes:
Fuentes para Texto
ConstanteValorValor
DEFAULT_FONT0Fuente bitmap de 8x8
TRIPLEX_FONT1Fuente escalable de tipo triple
SMALL_FONT2Fuente escalable pequea
SANS_SERIF_FONT3Fuente escalable de tipo sans serif
GOTHIC_FONT4Fuente escalable de tipo gtico
SCRIPT_FONT5Fuente escalable de tipo manuscrito
SIMPLEX_FONT6Fuente escalable de tipo manuscrito simple
TRIPLEX_SCR_FONT7Fuente escalable de tipo manuscrito triple
COMPLEX_FONT8Fuente escalable de tipo complejo
EUROPEAN_FONT9Fuente escalable de tipo europeo
BOLD_FONT10Fuente escalable en negrita
Direccin del Texto
ConstanteValorSignificado
HORIZ_DIR 0Texto horizontal
VERT_DIR 1Texto vertical
Justificacin de Texto en la Horizontal
ConstanteValor Significado
LEFT_TEXT 0Justificar a la izquierda
CENTER_TEXT 1Centrar el texto
RIGHT_TEXT 2Justificar a la derecha
Justificacin de Texto en la Vertical
ConstanteValorSignificado
BOTTOM_TEXT 0Justificar debajo
CENTER_TEXT 1Centrar el texto
TOP_TEXT 2Justificar arriba
Tramas:
Tramas predefinidasConstanteValorSignificado
EMPTY_FILL
0Rellena con el color de fondo
SOLID_FILL1Rellena enteramente
LINE_FILL2Rellena con lneas horizontales: ---
LTSLASH_FILL3Rellena con rayas finas: ///
SLASH_FILL4Rellena con rayas gruesas: ///
BKSLASH_FILL5Rellena con rayas inversas y finas: \\\
LTBKSLASH_FILL6Rellena con rayas inversas y gruesas: \\\
HATCH_FILL7Rellena con lneas cruzadas cuadriculadamente: +++
XHATCH_FILL8Rellena con lneas cruzadas diagonalmente: XXXX
INTERLEAVE_FILL9Rellena con lneas entrelazadas
WIDE_DOT_FILL10Rellena con lunares bastante distanciados
CLOSE_DOT_FILL11Rellena con lunares poco distanciados
USER_FILL12Rellena con la trama definida por el usuario
Nota: Todos los tipos de tramas menos EMPTY_FILL usan el color de relleno
seleccionado; EMPTY_FILL usa el color de fondo para rellenar.Driver:
Dispositivos Grficos
Dispositivo/ConstanteValor
DETECT 0
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10
Lneas:Estilos de Lneas
ConstanteValorSignificado
SOLID_LINE 0Lnea continua _______
DOTTED_LINE 1Lnea hecha con puntos ..
CENTER_LINE 2 Lnea centrada
DASHED_LINE 3 Lnea discontinua _._._._.
USERBIT_LINE 4 Lnea definida por el usuario
Nota: El grosor es definido escribiendo NORM_WIDTH para rallas normales y THICK_WIDTH para lneas mas gruesosGrosores para LneasModos de Escritura
Constante Grosor
Valor
Significado
NORM_THICK
1
Grosor es de 1 pxel
THICK_WIDTH
3
Grosor es de 3 pxeles
Constantes
Valor
Significado
COPY_PUT
0
Pxeles de la lnea sobrescriben
los pxeles existentes
XOR_PUT
1
Pxel de la pantalla son el
Resulta do de la operacin
OR de los pxeles existentes
y los de la lnea
Modos:
Modos GrficosDispositivoModo/ConstanteCdigoResolucinPaletaPagina
CGACGAC00320X2004 Clores1
CGAC11320X2004 Clores1
CGAC22320X2004 Clores1
CGAC33320X2004 Clores1
CGAHI4640X2002 Clores1
MCGAMCGAC00320X2004 Clores1
MCGAC11320X2004 Clores1
MCGAC22320X2004 Clores1
MCGAC33320X2004 Clores1
MCGAMED4640X2002 Clores1
MCGAHI5640X4802 Clores1
EGAEGALO0640X20016 Colores4
EGAHI1640x35016 Colores2
EGA64A64LO0640X20016 Colores1
EGA64HI1640X3504 Colores1
EGAMONOAMONOHI3640x2002 Colores1* / 2**
VGAVGALO0640X20016 Colores2
VGAMED1640x35016 Colores2
VGAHI2640X48016 Colores1
ATT400ATT400C00320x2004 Colores1
ATT400C11320x2004 Colores1
ATT400C22320x2004 Colores1
ATT400C33320x2004 Colores1
ATT400MED4640x4002 Colores1
ATT400HI5640x4002 Colores1
HERCHERCMONOHI0720X3482 Colores2
PC3270HI0720X3502 Colores1
IBM8514LO0640X480256 Colores
IBM8514HI11024X768256 Colores
Si la tarjeta es de 64 K o la tarjeta es de 256 KErrores:
Cdigos de Errores
ConstanteCdigoSignificado
grOk
0Ningn error
grNoInitGraph
-1Grficos no iniciados
grNotDetected-2Ningn adaptador grfico detectado
grFileNotFound
-3Fichero de dispositivo no encontrado
grInvalidDriver-4Fichero de dispositivo no vlido
grNoLoadMem
-5No hay memoria para cargar dispositivo
grNoScanMem
-6No hay memoria para rellenar
grNoFloodMem
-7No hay memoria para usar floodfill
grFontNotFound
-8Fichero de fuente no encontrado
grNoFontMem
-9No hay memoria para cargar la fuente
grInvalidMode
-10Modo grfico no vlido
grError
-11Error grfico
grIOerror
-12Error grfico de Entrada/Salida
grInvalidFont
-13Fichero de fuente no vlido
grInvalidFontNum
-14Nmero de fuente no vlido
grInvalidDeviceNum
-15Nmero de dispositivo no vlido
grInvalidVersion-18Nmero de versin no vlido
Put_op:
Operaciones con putimage
ConstanteValorSignificado
COPY_PUT0Sobrescribir los pxeles existentes
XOR_PUT1Operacin OR Exclusivo con los pxeles
OR_PUT2Operacin OR Inclusivo con los pxeles
AND_PUT3Operacin AND con los pxels
NOT_PUT4Invertir la imagen
Nota: Estas operaciones se usan exclusivamente con la funcin putimage. El cual veremos en captulos posteriores.
Mtodos de Inicializacin del modo grafico.
Antes de conocer los mtodos de inicializacin debemos conocer la funcin initgraph la cual nos permitir realizar grficos.Funcin initgraph
void far initgraph(int far *driver, int far *modo, int far *path);
Esta funcin es usada para cargar o validar un dispositivo grfico y cambiar el sistema de vdeo a modo grfico. La funcin initgraph debe ser llamada antes de cualesquier Funcines que generan una salida grfica sean usadas. Existen varios valores a ser usados para el argumento *driver. Si *driver es asignado a DETECT, 0, la
funcin detectgraph es llamada, y un dispositivo y modo grfico apropiados son seleccionados. Asignando a *driver cualquier otro valor predefinido inicia la carga del dispositivo grfico correspondiente. Existen varios valores a ser usados para el argumento *modo. Estos valores deberan corresponder al dispositivo especificado en el argumento *driver. El argumento *path especificad el directorio donde los dispositivos grficos estn localizados. La funcin initgraph buscar el dispositivo primeramente en este directorio. Si no es encontrado, la funcin buscar en el directorio de inicio. Cuando el argumento *path es NULL, solamente el directorio de inicio es buscado.
Otra forma para evitar cargando el dispositivo desde el disco cada vez que el programa es ejecutado es ligarlo o enlazarlo al dispositivo apropiado en un programa ejecutable.
La funcin initgraph no retorna ningn valor. Sin embargo, cuando la funcin initgraph es llamada, el cdigo de error interno es activado. Si la funcin initgraph termina con xito, el cdigo es asignado un 0. Si no, el cdigo es asignado as:
-2 grNotDetected La tarjeta grfica no se encontr
-3 grFileNotFound El fichero del dispositivo no se encontr
-4 grInvalidDriver El fichero del dispositivo es invlido
-5 grNoLoadMem No hay suficiente memoria para cargar el dispositivo
Ejemplo:
#include
#include
void main() {
int driver = EGA;
int modo = EGAHI;
initgraph( &driver, &modo, C:\\TC20\\BIN );
circle( 300, 200, 80 );
getch(); /* Pausa */
closegraph();
getch();
}
Existen diferentes mtodos de inicializacin pero en este pequeo tutorial trataremos dos que suelen ser los ms utilizados hoy en da.1. Mtodo de inicializacin del modo grafico a prueba de errores.
#include
# include
# include
void main() {
int driver = VGA;
int modo = VGAHI;
int resultado;
initgraph(&driver,&modo,"c:\\tc20\\bin");
resultado=graphresult();
if(resultado!=grOk)
{
getch();
exit(0);
}
getch();
}
cuerpo del programa2. Mtodo de inicializacin rpido del modo grafico.
#include
void main() {
int driver = DETECT,modo;
initgraph(&driver,modo, c:\\tc20\\bin);
cuerpo del programadriver: Es la direccin de la variable que contiene el cdigo del tipo de de driver o adaptador que tiene la computadora.
modo: Es la direccin de la variable que contiene el cdigo del modo en que se podr adaptar.
c:\\tc20\\bin: Es el directorio donde se encuentra el cdigo del manejador, puede ser camino relativo o absoluto.
graphresult():Regresa el cdigo error de la ultima llamada a una funcin grafica de turbo c un valor de 0 significa que no hubo error.
grOk : regresa el cdigo de error de la funcin graphresult().
DETECT: Dispositivo grafico de auto deteccin del la tarjeta de video y del modo grafico.
Qu son los primitivos grficos?Definicin.
Un primitivo grfico es un elemento fundamental de dibujo en un paquete grafico tal como un punto, lnea, o circulo; puede ser un carcter, o puede ser una operacin tal como relleno, coloreado o trasferido de la imagen. C cuenta con 5 grupos de primitivos grficos.
Figuras geomtricas: Dibujan las figuras de la geometra clsica: lneas, crculos, rectngulos, arcos, polgonos etc. Relleno: tiene dos formas de realizarse. El primero es con polgonos, donde se definen los vrtices del polgono a ser rellenado segunda es una operacin grafica que busca algortmicamente las fronteras de la regin del relleno. Rasterop: Es una operacin grafica que copia el rea de una imagen para luego dibujarla en cualquier regin de la pantalla. Grficas Matemticas: Dibujan los primitivos barras y sectores para conseguir dibujar las herramientas del sector. Texto Grfico: Sirve para escribir texto en modo grafico, utilizando diferentes fuentes.
Figuras geomtricas:LINEAS.
void far line(int x1, int y1, int x2, int y2);
Esta funcin es usada para conectar dos puntos con una lnea recta. El primer punto es especificado por los argumentos x1 e y1. El segundo punto es especificado por los argumentos x2 e y2. La lnea se dibuja usando el estilo de lnea actual, el grosor, y el color actual. La posicin del cursor grfico no es afectada por la funcin line.
La funcin line() no retorna ningn valor.
Ejemplo:
#include
#include
void main() {
int driver = EGA,modo = EGAHI;
initgraph( &driver, &modo, "c:\\tc20\\bin" );
line( 20, 40, 350, 100 );
line( 400, 30, 50, 250 );
getch();
closegraph();
}CIRCULOS.
void far circle(int x, int y, int radio);
Esta funcin se utiliza para dibujar un crculo. Los argumentos x e y definen el centro del crculo, mientras que el argumento radio define el radio del crculo. El crculo no es rellenado pero es dibujado usando el color actual.
El grosor de la circunferencia puede ser establecido por la funcin setlinestyle; sin embargo, el estilo de la lnea es ignorado por la funcin circle.
La funcin circle no retorna ningn valor.
Ejemplo:
#include
#include
void main() {
int driver = EGA;
int modo = EGAHI;
initgraph( &driver, &modo, "C:\\tc20\\BIN" );
circle( 300, 200, 80 );
getch(); /* Pausa */
closegraph();
}RECTANGULOS.void far rectangle(int izquierda,int superior, int derecha, int inferior);
Esta funcin dibujar un rectngulo sin rellenar su interior usando el color actual. La esquina superior izquierda del rectngulo est definida por los argumentos izquierdos y superiores. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del rectngulo. El permetro del rectngulo es dibujado usando el estilo y grosor de lnea actuales.
La funcin rectangle() no retorna ningn valor.
Ejemplo:
#include
#include
void main() {
int driver = EGA,modo = EGAHI;
initgraph( &driver, &modo, "C:\\tc20\\bin" );
rectangle( 20, 20, 400, 300 );
getch(); /* Pausa */
closegraph();
}ARCOS
void far arc(int x, int y,int comienzo_angulo, int final_angulo, int radio);
Esta funcin crear un arco circular. El arco tiene como centro el punto especificado por los argumentos x e y, y es dibujado con el radio especificado: radio. El arco no est rellanado, pero es dibujado usando el color actual. El arco comienza al ngulo especificado por el argumento comienzo_angulo y es dibujado en la direccin contraria al de las agujas del reloj hasta llegar al ngulo especificado por el argumento final_angulo. La funcin arc usa el este (extendindose hacia la derecha del centro del arco en la direccin horizontal) como su punto de 0 grados. La funcin setlinestyle puede usarse para establecer el grosor del arco. La funcin arc, sin embargo, ignorar el argumento trama de la funcin setlinestyle.
La funcin arc no retorna ningn valor.
Ejemplo:
#include
#include
void main() {
int driver = EGA,modo = EGAHI,radio;
initgraph( &driver, &modo, "C:\\tc20\\bin" );
for( radio = 25; radio < 175; radio += 25 )
arc( 320, 175, 45, 135, radio );
getch(); /* Pausa */
closegraph();
}PIXELES.
void far putpixel(int x, int y, int color);
Esta funcin es usada para colocar a un pxel en una posicin en particular la cual es cuestionada por los argumentos x e y. El argumento color especfico el valor del color del pxel.
La funcin putpixel no retorna ningn valor.
Ejemplo:
#include
#include
void main() {
int driver = EGA,modo = EGAHI,t;
initgraph( &driver, &modo, c:\\tc20\\bin );
for( t=0; tv[y]-a->v[y])-(c->v[x]-a->v[x]);
}
2.D V (P) (P) [programacin] . Modifique el cdigo del dt2.c para computar el diagrama de Voronoi de la triangulacin de Delaunay. (Vea ejercicio 5.5.6 [1]). Hay que repetidamente construir crculos a travs de tres puntos dadas a, b, c. Las coordenadas de la p central = (p0, p1) pueden ser computadas como sigue:
A = b0 a0,
B= b1 a1,
C = c0 a0,
D = c1 a1,
E = A(a0 + b0 ) + B(a1 + b1 ),
F = C(a0 + b0 ) + D(a1 + b1 ),
G = 2(A(c1 b1 ) B(c0 b0 )),
p0 = (DE BF)/G,
p1 = (AF CE)/G.
Tabla 5.1 Coordenadas de sitios de Delaunay, Incluyendo z= x2 +y2
IXYX2+y2
031-766737
1-1321610
2-63-8310858
3-5-664381
487-9416405
540716641
623-462645
764-8010496
80-573249
9-142200
5.8 Conexin a arreglos
Tenemos que mostrar que la triangulacin de Delaunay puede ser derivada de la transformacin paraboloide e indican que es fcil de obtener el diagrama de Voronoi si es posible obtener el diagrama de Voronoi directamente de la transformacin del paraboloide. Aunque todo esto se entiende que tienes que esperar al siguiente capitulo (Seccin 6.7) y mostraremos la conexin que se realiza utilizando las ecuaciones mas relevante.
5.8.1 Diagrama de Voronoi unidimensional
Considerando dos tangentes examinadas en la seccin 5.7.1 (ecuacin 5.4) siendo x=a y otro siendo x=b:
z=2ax-a2
z=2bx b2
Donde se intersecan resolviendo las ecuaciones simultneas la solucin sera
2ax-a2 = 2bx b2,
x(2a 2b)=a2 b2,
x=(a+b)(a-b)
2(a-b)
x= a+b
2
De esta manera la proyeccin de las intersecciones estn adyacentes al diagrama de Voronoi y al grupo de puntos
5.8.2 Diagrama de Voronoi bidimensinal
Considere dos tangentes planas del paraboloide analizado en la Seccion (5.7.2) (ecuacin 5.8), donde estan a y b y otra donde esta c y b.
z = 2ax + 2by a2 + b 2,
z = 2cx + 2dy c2 + d2
donde estn los intersectos? Resolviendo la ecuacin simultanea
2ax + 2by a2 + b 2 = 2cx + 2dy c2 + d2
x(2a 2c) + y(2b 2d) = ( a2 - c 2) + (a2 + b 2 )
Esta ecuacin es precisamente la bisectriz perpendicular del segmento de (a,b) y (c,d) ver figura 5.31.
Si observamos las tangentes opacas planas de z=+infinito (con el paraboloide transparente) debera ser visible en la primera interseccin su primera interseccin es la bisectriz entre los lugares que generan las tangentes planas la proyeccin de estas primeras tangentes es precisamente el diagrama de voronoi!
Tambin tenemos que recordar la situacin al visualizar la proyeccin de puntos dentro del paraboloide de z=-infinito vea la triangulacin de Delaunay la observacin de las tangentes planas del paraboloide y estos puntos de z=+infinito vea el diagrama de Voronoi.
Bibliografa
[1] M. Berg, M. Kreveld, M. Overmars, O. Schwarzkopf. Computational Geometry, Algorithms
and Applications. Springer, 1997.
[2] M. Kreveld, J. Nievergelt, T. Roos, P. Widmayer. Algorithmic Foundations of Geographic
Information Systems. Springer, 1997.
[3] J. O'Rourke. Computational Geometry in C. Cambridge University Press, 1994.
[4] F. P. Preparata y M. I. Shamos. Computational geometry: an introduction. Springer-Verlag,
New York, 1985.
73El algoritmo: El ALGORITMO DE KRUSKAL
Ponga en cortocircuito bordes de G por el largo por ah: E1, e2
Inicializar T para que este vaco
Mientras la T no avanza a rastras haga
Si T + e1 es acclica
Entonces T + T + ei
Ii + 1
El algoritmo 5.2 el algoritmo de Kruskal.
PAGE 49Juan Carlos Gutirrez Barquero____________________________________________
_1179663656.unknown
_1179668719.unknown
_1179678695.unknown
_1179693453.unknown
_1179700381.unknown
_1179695675.unknown
_1179696524.unknown
_1179696567.unknown
_1179696051.unknown
_1179695215.unknown
_1179679883.unknown
_1179691343.unknown
_1179691398.unknown
_1179691331.unknown
_1179679176.unknown
_1179679792.unknown
_1179678713.unknown
_1179672482.unknown
_1179677206.unknown
_1179677304.unknown
_1179672574.unknown
_1179669045.unknown
_1179672157.unknown
_1179668731.unknown
_1179666231.unknown
_1179666343.unknown
_1179667591.unknown
_1179666318.unknown
_1179664529.unknown
_1179665328.unknown
_1179663885.unknown
_1179561080.unknown
_1179564294.unknown
_1179564396.unknown
_1179564500.unknown
_1179564342.unknown
_1179563861.unknown
_1179563934.unknown
_1179563814.unknown
_1179560078.unknown
_1179560082.unknown
_1179560084.unknown
_1179560085.unknown
_1179560083.unknown
_1179560080.unknown
_1179560081.unknown
_1179560079.unknown
_1179404276.unknown
_1179560076.unknown
_1179560077.unknown
_1179560075.unknown
_1179472947.unknown
_1179315171.unknown
_1179318598.unknown
_1179403373.unknown
_1179318508.unknown
_1179315105.unknown