[C con Clase] DUDA Ejercicios Capt2 Curso de graficos

Miguel Alejandro Jimenez Ramirez cerberbero en gmail.com
Vie Dic 28 20:50:04 CET 2012


Ok , bueno pues al final me funciono y lo pude compilar ,muchas
gracias por la ayuda. Lo unico que hice fue inicializar las variables
de anchura y altura en el programa principal.

Sin embargo ahora tengo otor pequeño problema al hacer el primer
ejercicio. Ya la grafica se ejecuta bien , pero estoy teniendo un
problema con la parte del trazado. estoy viendo las graficas en
sentido inverso como si fuera un espejo. Lei la parte del cambio de
coordenadas II , precisamente por que hay hablan de este problema.
Pero segui el algoritmo que esta enunciado tal cual y la grafica me
sigue saliendo invertida.

Esta es la funcion Dibujar(); :


//*Funcion para inicializar valores

float ecuacion(float x){
      return 0.5*pow(x,4)-2*pow(x,3) +0.33*pow(x,2) -0.75*pow(x,1)+1;
      }

/* El/la estudiante se hace cargo de esta función y otras creadas por
sí mismo/a */
void Dibujar( void )
{
     int x_origp,y_origp,xpi, xpf, ypi, ypf,anchurap,alturap;
     int yp ,xp;
     float xu,yu,xui, xuf, yui, yuf,anchurau,alturau;
     float dxup,dypu;

  //Inicializacion de las variables
     //1.En coordenadas cartesianas
     xui=-1;
     xuf=2;
     yui=ecuacion(xui);
     yuf=ecuacion(xuf);
     //2. En Pixeles
     xpi=0;
     xpf=499;
     ypi=0;
     ypf=499;
  //Anchura , Altura ,en Pixeles y en coordenadas cartesianas.

anchurau=fabs(xuf - xui);
alturau=fabs(yuf - yui);

anchurap= fabs(xpf - xpi + 1);
alturap=fabs(ypf - ypi + 1);

//dxup Y dyup

dxup = anchurau / anchurap;
dypu = alturap / alturau;

xu = xui;
yu = ecuacion(xu);
x_origp = xpi;
y_origp = ypf + 1 - dypu * fabs(yu - yui);



  /* Varias sentencias para preparar el sistema gráfico */
  CambiarColorPincel( 0, 0, 0 );  /* Color Negro */

  /* A partir de aquí, escribe las sentencias para dibujar */



for (xp=xpi;xp<xpf;xp++){
xu = xu + dxup;
yu = ecuacion(xu);
yp = ypf + 1 - dypu *fabs(yu - yui);
Linea( x_origp, y_origp, xp, yp );
x_origp = xp;
y_origp = yp;

}

}

No se que estoy haciendo mal al aplicar el algoritmo , creo que si
cambio el valor de la altura en pixeles se solucionara el problema ,
pero entonces no tendria sentido utilizar el diferencial dypu , ya que
este es constante dentro del bucle y no me permite cambiar yp.

No se tengo dudas en esta parte , hay alguna forma mas facil de
resolver mi problema?

Graciuas por la ayuda

2012/12/28 Davidson, Steven <srd4121 en njit.edu>:
> Hola Miguel Alejandro,
>
> 2012/12/28 Miguel Alejandro Jimenez Ramirez <cerberbero en gmail.com>
>>
>> Hola Steven , tengo una duda sobre los ejercicios del capitulo 2 del
>> curso de grafico. Ya lei la teoria del algoritmo , el cambio de
>> coordenadas y lo demas que esta explicado. Lo entendi muy bien , por
>> cierto muy buen curso. Pero ahora que estoy reintentando , por que ya
>
>
> Gracias; para eso estamos :)
>
> [CORTE]
>
>>
>> Me podrias ayudar diciendome a que se debe este error?, hay algo que
>> no he declarado bien?, solamente quiero intentar hacer una linea en la
>> funcion Dibujar() , para despues empezar a hacer el algoritmo para
>> cada ecuacion.
>
>
> Tanto para estos códigos fuente como para todos los que te encuentres o
> crees, siempre deberías crear un proyecto, en el que agregues (asocies) los
> ficheros fuente relacionados. Para este caso, asegúrate de que crees un
> proyecto para crear una aplicación (GUI) de MS-Windows; algunos posibles
> títulos pueden ser: "win32 project", "windows api", "windows gui", "win32
> gui project", etc..
>
> Si has creado un proyecto y lo estás construyendo (eliges "build project"),
> entonces quizá los problemas se deban a que usas un compilador antiguo o
> quizá con diferente configuración de opciones para tal compilador. En el
> caso del paquete de ficheros, el código fuente está escrito en C (no en
> C++), por lo que deberías usar un compilador de C, aunque uno de C++ debería
> funcionar también sin muchos problemas.
>
>
> Espero que esto te oriente.
>
> Steven
>
>
> _______________________________________________
> 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



-- 
MIGUEL ALEJANDRO JIMENEZ R.




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