[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