A ver, que ya lo tengo...
Para dibujar una circunferencia se hace de la siguiente manera:
// tienes que fijar el centro de unas coordenadas (que suelen ser 0,0).
// Pero si quieres dibujar una circunferencia en el medio de la ventana,
// la posición inicial tendrá un desplazamiento que debes sumar a la
// x y a la y que te de como resultado de las siguientes operaciones.
var radio: Integer; // el radio de la circunferencia
x,y: Integer; // donde se tiene que dibujar el punto para dibujarla
angulo: Extended;
for i := 0 to 360 do begin // dibujar todos los puntos
angulo := (2 * PI * i) / 360; // el ángulo en radianes
x := Round(radio * cos(angulo)); //
y := Round(radio * sin(angulo));
// aquí dibujar el punto
end;
Al final de este buble ya tendremos una circunferencia. Con estas operaciones, lo que quieres saber es si un punto está dentro de una circunferencia o no. Para eso, lo que tenemos que saber es el radio desde el origen (cosa que en este algoritmo lo sabemos). Pero conocemos la x y la y (cosa que en este algoritmo es lo que tenemos que averiguar). Así te salen unas ecuaciones donde se despeja el radio y así podemos saber si un punto está dentro de una circunferencia o no.
Espero que todo este lío te sirva de algo. Yo para aprender me construí una simulación de un radar (qué cosa, de ahí este código) que si quieres te lo paso para que lo veas.
Venga, un saludo. Nos vemos.
Diego :: beosman