[C con Clase] Realizar gráficos con c++ en linux

Jordenys Pérez Feria jferia en uci.cu
Mar Abr 20 19:40:33 CEST 2010


Hola Miguel, trabajo en ambientes donde uno de los requisitos primarios para todos nuestros productos es que las aplicaciones deben ser multiplataforma (deben funcionar en windows, linux y mac). Este problema lo resolvemos usando bibliotecas como QT4, que cumple con el requerimiento de miltiplataforma, excelente rendimiento, está desarrollada en C++, buena documentación, lgpl, muchas herramientas para el desarrollo, etc.

Para el diseño de una gráfica como la que quieres (2d) en qt4 puedes heredar de QWidget (clase base para todos los controles gráficos buttons, lineEdits, etc..) y reimplementar la función virtual void paintEvent ( QPaintEvent * event )

Bueno, los detalles los puedes consultar en la documentación de la biblioteca.

Para esta biblioteca existen una serie de componentes gráficos ya desarrollados, Gráficos de barra, puntos, pastel, etc... que creo resuelven tú problema. La biblioteca la puedes descargar de la siguiente dirección:
http://qwt.sourceforge.net/

o instalar desde el repositorio de ubuntu “libqwt5-qt4-dev”

Para comenzar a trabajar puedes instalar un paquete del repositorio oficial de ubuntu "qtcreator". Este es un IDE de desarrollo muy ligero y bastante aceptable, con este paquete se instala automáticamente las bibliotecas necesarias para trabajar y la documentación.

Si usas otro IDE de desarrollo pues simplemente instalas libqt4-dev y qt4-dev-tools.

El sitio oficial de la biblioteca 
http://qt.nokia.com/

Saludos, Jordenys.



----- Mensaje original -----
De: "Miguel Olave" <molavec en gmail.com>
Para: Cconclase en listas.conclase.net
Enviados: Lunes, 19 de Abril 2010 22:00:51 (GMT-0500) Auto-Detected
Asunto: [C con Clase] Realizar gráficos con c++ en linux

Hola compañeros.

    Voy a tratar de ser bien simple en mi solicitud. Lo que necesito es 
saber que librerías podría ocupar para realizar algunos gráficos con 
C++. Por lo que he leído obviamente debo hace usos de librerías de GUI 
que dependan del sistema operativo pero estoy un poco perdido y lo que 
quiero hacer puede que sea simple para quien lo haya realizado alguna 
vez y me puedan ahorrar mucho tiempo en la búsqueda.

Necesito hacer dos gráficos con algunos arreglos:

//este tene que ser una linea continua
x[i]=sin(i*2*pi*800/8000.0);
t[i]={/*un vector para el tiempo*/}

//Este tiene que ser un gráfico de espectro de frecuencias, o sea,
//para cada punto una linea vertical
magnitud=(sqrt(y[i2].real*y[i2].real+y[i2].img*y[i2].img))*escalamiento;
f[i]={/*un vector para la frecuencia*/}

Como ven no es mucho distinto de lo que pueda hacer en matlab, pero me 
da lata tener que guardar los datos en un txt y gráficar en Matlab. 
Además, como uso LINUX para c++ tengo que cambiar de sistema operativo 
cada vez que quiero gráficar.

Datos relevantes:

- Uso Ubuntu (gnome).
- Leí que las librerías OpenGL servían para varios Sistemas Operativos.


De antemano, muchas gracias por sus consejos.


Miguel Angel Olave.

_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ




Más información sobre la lista de distribución Cconclase