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.