Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ingeniare.Rev.chil.ing.vol.21no.1Aricaabr.2013
http://dx.doi.org/10.4067/S0718-33052013000100007
RESUMEN
El anlisis de datos numricos en ingeniera demanda el empleo o desarrollo de
herramientas que permitan, entre otros clculos, la elaboracin de grficas donde
se presenten una o ms funciones. En este artculo se presenta paso a paso el uso
de Visual Basic 6 y el control PictureBox para dibujar una o ms series en un
mismo grfico y que pueden ser de igual o distinta longitud o cantidad de datos,
para su comparacin. Se ejemplifica su aplicacin con xito en el caso del manejo
de datos de precipitacin de estaciones pluviogrficas. La metodologa presentada
puede utilizarse con Visual Basic 6, pero el proceso puede codificarse en otros
lenguajes de programacin comnmente aplicados como herramientas en la
solucin de diversos problemas de ingeniera que tienen que ver con la revisin
rpida de procesos de generacin de datos.
Palabras clave: Grficos, PictureBox, serie de datos, Visual Basic 6,
estadstica.
ABSTRACT
INTRODUCCIN
Al iniciar un proyecto de ingeniera que involucra el anlisis de series de tiempo se
deben revisar la cantidad y la calidad de los mismos; una inspeccin grfica resulta
de utilidad para percibir posibles datos anmalos resultado de errores inherentes o
propios de los datos [1]. Herramientas como hojas de clculo llegan a ser de
utilidad en estos casos. En otras ocasiones, ya al introducir la informacin a un
procedimiento numrico o estadstico, que se llega a realizar repetidas veces, no
resulta prctico pasar de un ambiente del algoritmo de solucin a un archivo de
texto y luego a una hoja de clculo para hacer los dibujos por un camino
semimanual; en estos casos es ms conveniente la elaboracin de grficos con
ayuda del cdigo del lenguaje de programacin para que directamente dichos
grficos se muestren al usuario una vez realizado el proceso sin necesidad de
utilizar otro software.
El lenguaje de programacin Visual Basic 6 cuenta con distintas alternativas para
dibujar grficas, alguna de ellas con la limitante de que si se dibuja ms de una
serie en el mismo grfico, todas las series dibujadas deben ser de mismo tamao,
con el fin de llegar a arreglos cuadrados, tal es el caso de la herramienta
MsChart.
En este documento se describe la elaboracin, paso a paso, de grficas de
funciones expresadas en forma tabular, que pueden tener la misma longitud o
longitudes diferentes y que pueden dibujarse en un mismo plano coordenado a
partir de la herramienta PictureBox de Visual Basic en su versin 6.0, la cual
resulta de mucha utilidad en problemas prcticos de ingeniera. El control
PictureBox se ha utilizado, por ejemplo, para calcular el rea, permetro, longitud y
ancho de hojas de especies vegetales [2]; los PictureBox se suelen utilizar para
abrir imgenes en un software [3]. K. Mock [4] utiliz el control PictureBox para
representar la imagen principal dentro de un sistema de visualizacin de las mareas
de cuencas; tambin utiliz un PictureBox para representar la variacin de la marea
contra el tiempo; otros ejemplos del uso del PictureBox han sido en el diseo de un
software que ayuda a poner en marcha un motor de un sistema de diseo de dibujo
[5] y para visualizar la imagen tridimensional de redes de fractura y trayectorias de
filtracin en rocas [6].
En este trabajo se presenta el caso particular del manejo de esta herramienta
aplicado a datos de precipitaciones mximas y medias, tratadas como tormentas
anuales, pertenecientes a 49 estaciones pluviogrficas.
ANLISIS TERICO
Lenguaje de programacin Visual Basic 6.0
Su antecesor es el BASIC (Beginner's All-purpose Symbolic Instruction Code), el
cual fue desarrollado por John Kemeny y Thomas Kurts en el Dartmouth College en
1964 para ensear programacin a principiantes; el Lenguaje Visual Basic est
catalogado dentro de los lenguajes disparados por eventos que llevaron a la
programacin orientada a objetos a otro nivel [7]. Las instrucciones se reemplazan
por conos o smbolos, cada cono representa un objeto o una funcin de
programacin o un procedimiento. Instrucciones como dar click o arrastrar fueron
programadas en el cono, de manera que el programador no necesitaba programar
tantas instrucciones. Este lenguaje, utilizado tanto por usuarios finales como
programadores profesionales, fue introducido por Microsoft en 1992, como Visual
Basic para Windows 3 y posteriormente surgieron las versiones de Visual Basic 4
para Windows 95 y Visual Basic 5.0 para Windows 95 y office 97 y Visual Basic 6.0.
Control PictureBox
Garca de Jaln, Rodrguez y Brazlez [8] definen al PictureBox como el control
grfico ms potente y general de Visual Basic 6.0. Es un tipo de formulario reducido
debido a que puede contener imgenes y controles tales como botones, shapes,
labels, cajas de texto, etc.
Elementos bsicos para crear un grfico con PictureBox en Visual Basic
Dibujo de una serie de datos
Para elaborar un Picturebox en visual basic con una serie de datos o una funcin
y=f(x), se requiere el conjunto de pareja de valores (x, y), los cuales se pueden
dar:
En forma explcita, indicndolos en un arreglo, que puede ser tipo vector o tipo
matriz e indicando el valor especfico de la variable x y de la variable y, por
ejemplo:
x(1)=0, x(2)=1,
x(3)=2, x(4)=5,
x(5)=6,...,x(n)=a;
y(1)=0, y(2)=2,
y(3)=4,
y(4)=10,
y(5)=12,...y(n)=2a
Tambin los datos de y se pueden dar en forma de ecuacin, conocido
previamente el valor de x que tambin se puede dar de esa forma por ejemplo:
Para poder dibujar la serie se requiere abrir un proyecto en Visual Basic (Figura 1).
Pic_Hid.ScaleHeight = -Q_MAX
Pic_Hid.ScaleLeft = -2
Pic_Hid.Refresh
'dibuja puntos
DAT_REG = (ntes)
Pic_Hid.DrawWidth = 4
For i = 13 To DAT_REG
Pic_Hid.PSet (trxaxgum(i), zax(i)), QBColor(4)
Next
Figura 7. Ejemplo de cdigo para dibujar dos series de igual o distinta longitud, una
con puntos y otra con rectas.
'dibuja lneas
Pic_Hid.DrawWidth = 1
DAT_AJU = ntes + 12
For i = 2 To DAT_AJU
TR_INI = trxaxgum(i - 1): yaxg_ini = yax(i - 1)
TR_FIN = trxaxgum(i): yaxg_fin = yax(i)
Pic_Hid.Line (TR_INI, yaxg_ini)-(TR_FIN, yaxg_fin), QBColor(8)
Next
MsgBox ("DIBUJ DOS SERIES DE DISTINTO TAMAO")
End Sub
En este caso se da un valor TIE=12 para la escala el ancho ScaleWidth del
PictureBox, y para la escala de la altura ScaleTop a la variable Q_Max se le asign el
primer valor del vector de la serie de ajuste que corresponde al primer dato del
vector yax, es decir yax(1). Nuevamente se le asigna a la propiedad ScaleHeight el
negativo del ScaleTop, es decir, -Q_Max. En este caso se le dio al ScaleLeft un valor
APLICACIN
Un problema recurrente de ingeniera hidrulica-hidrolgica es la generacin
sinttica de registros de tormentas ms largos que los histricos; una vez
generados dichos registros es de inters determinar si se lograron reproducir los
estadsticos: media, desviacin estndar, coeficiente de asimetra de la muestra
analizada.
En el caso presentado se generaron 500 tormentas sintticas para 49 estaciones
pluviogrficas; se estimaron los estadsticos de los datos generados estacin por
estacin y se compararon con los histricos (en este caso se tenan un total de 177
tormentas histricas registradas en 49 estaciones). Para ello se requiri dibujar tres
grficas: 1) una grfica que presenta los estadsticos de la serie histrica, de la
serie sinttica por el primer procedimiento de generacin y de la serie sinttica por
el segundo procedimiento, estacin por estacin. 2) una grfica en la que se dibuja
una funcin identidad y los puntos correspondientes a la pareja de valores
histricos y sintticos del primer procedimiento, estacin por estacin y 3) una
grfica que contiene una funcin identidad y los puntos correspondientes a la
pareja de valores histricos y sintticos del segundo procedimiento, estacin por
estacin. Lo anterior se resolvi usando tres PictureBox en una forma.
La forma que contiene las grficas requeridas para el caso del estadstico media de
las precipitaciones analizadas se presenta en la Figura 9.
CONCLUSIONES
El dibujo de grficos para el manejo e interpretacin de datos constituye una
herramienta fundamental en numerosos problemas de ingeniera prctica; en el
campo de la ingeniera hidrulica e hidrolgica se han utilizado PictureBox en
problemas de redes de agua potable, anlisis de flujo permanente y no permanente
en tuberas, ubicacin de vlvulas de control en redes; tambin se han utilizado con
xito en problemas de flujo no permanente unidimensional y bidimensional como es
el anlisis de ondas de avenidas en cauces y en cuencas urbanas. No es frecuente
encontrar publicaciones que paso a paso orienten a un ingeniero para la realizacin
de estos dibujos. El lenguaje de programacin Visual Basic es una opcin viable
para llevar a cabo estas tareas con ayuda del objeto PictureBox debido a que tiene
la ventaja de que con ste se pueden representar series de igual o de distinta
longitud (situacin que el objeto MsChart no logra resolver al considerar arreglos
del mismo tamao).
En este trabajo se vio la conveniencia de utilizar PictureBox, en ambiente Visual
Basic, como herramienta auxiliar para comparar los estadsticos de una serie
histrica de precipitaciones con aquellos obtenidos por dos procedimientos de
AGRADECIMIENTOS
Al Instituto de Ingeniera de la UNAM, por el apoyo en equipo y materiales
utilizados para realizar este documento.
El lector interesado puede contactar a los autores, va electrnica, para que le
proporcionen los datos para reproducir las grficas presentadas en este trabajo.
REFERENCIAS
[1] S.C. Chapra y R.P. Canale. "Mtodos Numricos para Ingenieros". McGraw
Hill, Mxico D.F., Mxico. 2000.
[ Links ]
[2] C. Igathinathane, V.S.S. Prakashb, U. Padmab, G. Ravi Babub and A.R.
Womaca. "Interactive computer software development for leaf area measurement".
Computers and Electronics in Agriculture. Vol. 51, Issues 1-2. April, 1-16. 2006.
[ Links ]
[3] D. Zhenhai, W. Yajing and C. Wengang. "Teaching Software Development of
Digital Image Processing Based on VB". International Conference on Educational
and Information Technology (ICEIT 2010). Chongqing, China.2010.
[ Links ]
[4] K. Mock. "A Visualization System for Tidal Basins". CS 470 - Sample Project
Write-up, p. 25. April, 2010. Fecha de consulta: 8 de febrero de 2011.
URL:http://www.math.uaa.alaska.edu/~afkjm/cs470/handouts/basinvis-writeup.pdf
[ Links ]
[5] X.L. Song, C.-Y. Liu, Z.Y. Song and L.C. Peng. "Stepping Motor Graph Drawing
System Design". Proceedings of 2007 IEEE International Conference on Grey
Systems and Intelligent Services. Nanjing, China. 2007.
[ Links ]
[6] H. Liu and M. Huang. "Open GL-based conceptual models and algorithms for
visualization of three-dimensional fracture networks and flow paths". International
Conference on Computational Intelligence and Software Engineering (CiSE),
International Conference on. Wuhan, China. 2010.
[ Links ]
[7] C.B. Eaton. "Exploring Microsoft Visual Basic Versin 6.0". Prentice Hall.
New Jersey, USA. 1999.
[ Links ]
[8] J. Garca de Jaln, J.I. Rodrguez y A. Brazlez. "Aprenda Visual Basic 6.0 como
si estuviera en primero". Escuela Superior de Ingenieros Industriales de San
Sebastin. Universidad de Navarra. San Sebastin, Espaa. Agosto 1999.
[ Links ]