Programación General > C/C++
Re: Grafico de una Curva
AnnaMac:
hola !!!
Soy nueva aki, me parece genial esto del foro , asi disipamos nuestras dudas:P, buena la mia es esta :
me piden escribir un programa para trazar una curva (xi,yi),i=0,..,3...
donde lea estos 4 puntos para despues trazar la curva segun estas ecuaciones parametricas:
x(u)=sumatoria(xi)*Bi(u)
y(u)=sumatoria(yi)*Bi(u)
0<u<1.00, u+=0.01
B0(u)=(1-u)^3, B1(u)=3u(1-u)^2...etc..
hallar el Bi(u) es sencillo sin embargo mi problema es el hallar x(u) y el y(u)..por lo de la sumatoria...se supone q es un acumulador , es decir para i=0 es x(0) pero igual a que?? :question: y si i=1 es x(1)=x(0)+x(1)...como lo soluciono??
ayudenme !!! :ayuda:
AnnaMac:
hola amigos...hize el codigo , quisiera q lo chekaran!! please!! no creo q este bien puesto q no me dibuja los puntos usando la funcion putpixel..porq??:question:
#include <graphics.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
int hallaB(int i,float u)
{ float b;
switch (i)
{
case 0: b=pow(1-u,3);break;
case 1: b=3*u*(pow(1-u,2)); break;
case 2: b=3*(1-u)*pow(u,2); break;
case 3: b=pow(u,3);; break;
}
return b;
}
void curva()
{ float b,x,y,xu,yu; int x1,y1;
float suma_x=0, suma_y=0;
for(int i=0;i<=3;i++)
{ scanf("ingrese el punto = %d %d",x1,y1);
suma_x+=x1;
suma_y+=y1;
for (float u=0;u<=1;u+=0.01)
{ b=hallaB(i,u);
xu=suma_x*b;
yu=suma_y*b;
putpixel(xu,yu,RED);
}
}
}
void main()
{ int d,m;
d=0;
detectgraph(&d,&m);
initgraph(&d,&m,"c:borlandcbgi");
setbkcolor(YELLOW);
curva();
getch();
closegraph();
}
denme soluciones si?? :comp:
JuanK:
--- Citar ---denme soluciones si?? :comp:
--- Fin de la cita ---
Oye , esto no sono muy cortes de tu parte no crees?
1.Infortunadamente no utilizo borland para mis programas en c, asi que no puedo compilar en este momento tu programa , sin embargo he detectado lo siguiente:
initgraph(&d,&m,"c:borlandc bgi");
primero el doble que colocas antes de bgi no deberia ser solo un ???
y segundo, le estas diciendo que busque en la carpeta bgi, pero -bueno temo equivocarme- no se suponia que aca deberias pasarle la ruta completa de la ubicacion del driver de video, y no solo la carpeta en la que se ubica?
Por otro lado una manera de saber si estas iniciando bien el modo grafico, seria hacer algo asi como esto:
--- Código: Text --- if( (initgraph(&d,&m,"c:borlandcbgi"))!="algo"){ printf("fallo en la inicializacion);}else{ . . .}
Hasta< donde recuerdo con
<graphics.h>, al inicializar el modo grafico, no te debe servir ni el printf ni tampoco el scanf, en cambio deberias utilizar las funciones que posee la libreria para tales fines, que si no me falla la memoria(lo cual es muy probable pues no trabaje mucho con borland) son :
outtext
intext
o algo muy similar a esto por lo menos.
espero que mis comentarios te hayan sido de utilidad.
AnnaMac:
En serio suena descortez??:ouch: lo siento ,lo escribi en un momento de desesperacion...en fin........!!! con respecto a lo q me dijiste intentare eso...en serio q no trabajaria ni el printf ni el scanf??pero si cuando lo compilo esto funciona ademas estoy usando la libreria <stdio.h>...:question:
ademas initgraph(&d,&m,"c:borlandc bgi");,en otros programas esto funciona ...mm?
gracias y disculpa! :hola:
JuanK:
en efecto te compila ok, porque no hay ningun error de sintaxis, el problema esta en tiempo de ejecucion, por cierto me acabo de conseguir una copia del turbo c de borland para ver si te puedo ayudar..
Navegación
[#] Página Siguiente
Ir a la versión completa