Ejemplos java y C/linux

Tutoriales

Enlaces

Licencia

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Para reconocer la autoría debes poner el enlace http://www.chuidiang.org

Ejemplo de gráfico en X11:
La función sin(x)

Vamos a dibujar una función sin(x) en una ventana de X11, ajustando el dibujo al tamaño de la ventana. Si no sabes cómo se crea una ventana de X11, aquí puedes ver un ejemplo básico de dibujo en X11. Para este dibujo se van a emplear unas cuentas y una clase ya hecha que las hace.

Aquí únicamente está el ejemplo y una explicación por encima de algunos detalles.

Queremos dibujar la función sin(x) en una ventana de 500x700 pixels, ajustando el dibujo a los bordes de la ventana. La x se hace variar desde 0 hasta 2*PI en incrementos de 0.01.

En Seno.cc tienes el código de ejemplo. Primero se abre la conexión con el servidor de X11, crea la ventana y elige como color de dibujo el azul.

Luego se instancia la clase EscalaC (Escala.h y Escala.cc) que es la que se encarga de transformar valores x,y de la función seno en valores x,y en pixels, para dibujar sobre la ventana.

EscalaC escala;

// Se indican los minimos y maximos de nuestro gráfico sin(x)
escala.tomaExtremos (0.0, 2*M_PI, -1.0, 1.0);  

// Se dan alto y ancho en pixel de nuestra zona de dibujo.
escala.tomaAreaGrafica (ANCHO, ALTO);        

Se hace el bucle para x y se obtienen las coordenadas del pixel que se debe dibujar

// Se convierte la x del sin(x) a un valor de pixel
xPixel = escala.dameX (x);        

// Se convierte la y del sin(x) a un valor de pixel   
yPixel = escala.dameY (sin(x));   

Sólo te falta el Makefile. Puedes descargar los cuatro ficheros a los que se hace referencia en esta página, quitarles la extensión .txt y compilarlos con make. Luego puedes ejecutar ./Seno y verás una ventana con la función sin(x) dibujada en ella.

Estadísticas y comentarios

Numero de visitas desde el 4 Feb 2007: