Libreria grafica para C++?
Moderador: CEZ
-
Kovenan
- 128 bits

- Mensajes: 1630
- Registrado: 14 Sep 2006 15:16
Libreria grafica para C++?
Alguna libreria para dibujar graficas en C++ tipo cientificas no sprites ni nada de eso?????
SALUDOS,
SALUDOS,
- chema
- 32 bits

- Mensajes: 352
- Registrado: 20 Sep 2007 22:12
- Ubicación: Barcelona
- Contactar:
- Benway
- Site Admin

- Mensajes: 9241
- Registrado: 24 Dic 2005 10:18
- Ubicación: Madrid
- Contactar:
-
Kovenan
- 128 bits

- Mensajes: 1630
- Registrado: 14 Sep 2006 15:16
- Benway
- Site Admin

- Mensajes: 9241
- Registrado: 24 Dic 2005 10:18
- Ubicación: Madrid
- Contactar:
Eso depende de los valores que le des: Prueba a usar menores incrementos de X, ¿no?Kovenan escribió:Gracias a los dos por las respuestas, probé Allegro para esto precisamente pero no me convencio, supongo que la use mal, por que por ejemplo en una parabola no me daba continuidad en los puntos,eran puntos en forma de parabola mas que una curva.
SALUDOS.
- chema
- 32 bits

- Mensajes: 352
- Registrado: 20 Sep 2007 22:12
- Ubicación: Barcelona
- Contactar:
-
Kovenan
- 128 bits

- Mensajes: 1630
- Registrado: 14 Sep 2006 15:16
Si es una posibilad ,que para graficas x=y+a (rectas) da el pego, pero cuando por ejemplo te vas una grafica logaritmica en la que Y crece exponencialmente, te sales de la pantalla enseguida al menos eso me pasaba a mi que yo recuerde, en la grafica que necesito por ejemplo tienes que poner valores desde 6000 gr a 0 gr aproximadamente.
Lo puedo hacer con programas ya hechos, pero asi aprendo algo de C++.
Haré algunas pruebas si me acuerdo de como usar el allegro
Lo puedo hacer con programas ya hechos, pero asi aprendo algo de C++.
Haré algunas pruebas si me acuerdo de como usar el allegro
- Benway
- Site Admin

- Mensajes: 9241
- Registrado: 24 Dic 2005 10:18
- Ubicación: Madrid
- Contactar:
-
Kovenan
- 128 bits

- Mensajes: 1630
- Registrado: 14 Sep 2006 15:16
LO hice en 800x600, ya os digo que problamente lo este haciendo mal por que de programar yo muy poquito.
Entonces usando el propio allegro dibujar los puntos y unirlos con rectas no?
A ver como quedan las graficas curvas, por que para rectas no importa lo separado que esten los puntos pero para logaritmos que son curvas...
Bueno a ver que sale, gracias por las ideas y ya os ire preguntando
SALUDOS.
Entonces usando el propio allegro dibujar los puntos y unirlos con rectas no?
A ver como quedan las graficas curvas, por que para rectas no importa lo separado que esten los puntos pero para logaritmos que son curvas...
Bueno a ver que sale, gracias por las ideas y ya os ire preguntando
SALUDOS.
- Benway
- Site Admin

- Mensajes: 9241
- Registrado: 24 Dic 2005 10:18
- Ubicación: Madrid
- Contactar:
Sí. Te cuento como lo haría yo 
Primero, usaría 1024 x 768 como mínimo, con incrementos de x de un píxel.
Después, haría un método que, recibiendo las coordenadas del nuevo punto, dibujase una recta desde el punto anterior hasta este nuevo, y "almacenase" este nuevo punto como "último punto", para seguir repitiendo el proceso.
Hay una función de Allegro que te vendrá de perlas:

Suerte. Silba si necesitas ayuda
Primero, usaría 1024 x 768 como mínimo, con incrementos de x de un píxel.
Después, haría un método que, recibiendo las coordenadas del nuevo punto, dibujase una recta desde el punto anterior hasta este nuevo, y "almacenase" este nuevo punto como "último punto", para seguir repitiendo el proceso.
Hay una función de Allegro que te vendrá de perlas:
También tienes otra función que sería interesante de investigar:En la documentación de Allegro, alguien escribió:void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);
Draws a line onto the bitmap, from point (x1, y1) to (x2, y2).
E incluso...void do_line(BITMAP *bmp, int x1, y1, x2, y2, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));
Calculates all the points along a line from point (x1, y1) to (x2, y2), calling the supplied function for each one. This will be passed a copy of the bmp parameter, the x and y position, and a copy of the d parameter, so it is suitable for use with putpixel().
Puedes hacerte una clase "punto", y manejarlas con una lista enlazada. Y que sea la misma clase que maneje la lista la que se encargue de dibujar las rectas... Es lo primero que se me ha ocurrido, pero debería funcionar!void do_ellipse(BITMAP *bmp, int x, int y, int rx, ry, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));
Calculates all the points in an ellipse around point (x, y) with radius rx and ry, calling the supplied function for each one. This will be passed a copy of the bmp parameter, the x and y position, and a copy of the d parameter, so it is suitable for use with putpixel().
Suerte. Silba si necesitas ayuda
-
Kovenan
- 128 bits

- Mensajes: 1630
- Registrado: 14 Sep 2006 15:16


