A ver...es trigonometria: en un triangulo rectangulo (con un angulo de 90 grados o PI/2 radiantes)...
sino de angulo (phi) = lado opuesto (y) / hipotenusa (r)=> y = r*sin(phi) . Para desplazarlo al centro que tu quieras, y = cy + r*sin(phi)
cosino de angulo (phi) = lado adyacente (x) / hipotenusa (r) => x = r * cos(phi). Para desplazarlo al centro, x = cx + r*sin(phi)
para dibujar el circulo, entonces, vas encontrando las coordenadas x,y manteniendo fija la r, recorriendo 2*PI radianes (360º) "fabricando" los triangulos rectangulos
ya que estamos, prueba :
Código Delphi
[-]
procedure TForm1.Button2Click(Sender: TObject);
var
x,y,i,j : integer;
phi : double;
begin
x := 150;
y := 350;
phi := 0;
while phi < 1000 do
begin
i := Round(x + phi*cos(phi));
j := Round(y + phi*sin(phi));
canvas.pixels[i,j] := i+j;
phi := phi + 0.001;
end;
end;