'''Assignments 1:''' Grafica del seno con ruido. Abrimos un nuevo fichero .uir, una interfaz de usuario. Creamos un panel en Create-panel, y vamos a ir añadiendo los elementos de nuestro panel: - Para crear el grafico donde se dibujara el seno: Create-graph. - Con create-numeric vamos a introducir: Nº de ciclos, Amplitud del seno, Amplitud del ruido, Origen en x, Origen en y: - Nº de ciclos: A constant name lo llamaremos '''ciclos''' y sera una variable int. - Amplitud de seno: A constant name lo llamaremos '''aseno''', sera una double y ponemos un incremento de 0.1 - Amplitud de ruido: A constant name lo llamaremos '''aruido''', sera una double y ponemos un incremento de 0.1 - Origen en x: A constant name lo llamaremos '''origenx''', sera una double y ponemos un incremento de 0.1 - Origen en y: A constant name lo llamaremos '''origeny''', sera una double y ponemos un incremento de 0.1 - Con create- color numeric añadimos para elegir el color de la grafica. A constant name la llamamos '''color'''. - Para crear los botones de acciones usamos create-command button: - Boton PINTAR: callback=PINTAR - Boton BORRAR: callback=BORRAR - Boton SALIR: callback=SALIR - Al panel le ponemos de constant name PANEL. Ahora generamos el codigo: Code-Generate- All code. Al generar el codigo dejamos la variable de panel como propone el programa: panelhandle. Y decimos que nuestra funcion para salir del programa sea SALIR. Ahora vamos a ver las modificaciones en el código: Al inicio, después de los includes, definimos las variables: - static int panelHandle; double seno[1000] ; double noise[1000] ; double suma[1000] ; Y después, en la CALLBACK PINTAR, definimos las variables antes del switch: - int ciclos; double aseno; double anoise; double origenx; double origeny; int color; int i; Luego cogemos los valores de pantalla y los asignamos a sus respectivas variables: - GetCtrlVal (panelHandle, ciclos, &ciclos) ; GetCtrlVal (panelHandle, aseno, &aseno) ; GetCtrlVal (panelHandle, anoise, &anoise) ; GetCtrlVal (panelHandle, origenx, &origenx) ; GetCtrlVal (panelHandle, origeny, &origeny) ; GetCtrlVal (panelHandle, color, &color) ; Y ya ponemos las funciones del seno y del ruido: - SinePattern (1000, aseno, origenx, ciclos, seno); WhiteNoise (1000, anoise, 1, noise); Las sumamos: - for (i=0; i<999;i++) suma[i]=seno[i]+noise[i]; Y la dibujamos: - PlotY (panelHandle, PANEL_GRAPH, suma, 1000, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, color);