Ver Mensaje Individual
  #4  
Antiguo 09-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
Hola, antes que nada, no te impacientes pues es normal que no se te ayude (clubdelphi, no club devc++) mas que nada porque probablemente pocas personas sepan este c (yo incluido, la primera vez que veo esa sintaxis en c). Sobre el usar o no las razones trigonometricas, es obligado de la manera que estas dibujando el circulo, a no ser que quieras sacar la x,y mediante x² + y² = R², que te va a ser muy laborioso. Por otra parte, para encontrar x,y de un circulo con polares seria :

xo = R*cos(phi) + centrox,
yo = R*sin(phi) + centroy

y para encontrar el siguiente punto

xf = R*cos(phi + deltaphi) + centrox,
yf = R*sin(phi + deltaphi) + centroy;

En el ejemplo que has puesto estas usando : centrox (a) como radio multiplicado por 1.5 en X, centroy (b) por 1.5 en Y, y en los puntos destino una cosa rara que seguro no te dibujara un circulo.

Código:
int R = 12;
double deltaphi = 0.0001;
int xc,yc;

xc = 400;
yc = 300;

for (double phi=0;phi<2PI;phi+=deltaphi)
{
   // x,y origen; xf,yf : destino
   Funcion(xc + R*cos(phi), yc + R*sin(phi), xc + R*cos(phi + deltaphi),yc + R*sin(phi + deltaphi)
}
Para que se mueva segun el mouse, puedes ir variando xc,yc (supongo que con m.x,m.y) como ya mas o menos hacias.

Por otra banda, casi seguro que esa libreria que hablas tiene la primitiva circulo en ellas. Echale un vistazo a la documentacion, si de caso. saludos.

Última edición por coso fecha: 09-11-2008 a las 22:00:40.
Responder Con Cita