L'equazione di una circonferenza generica di centro (0,0) è
x^2 + y^2 = r^2
quindi
y^2 = r^2 - x^2
quindi
y = Sqrt(r^2 - x^2)
perciò in sostanza la tua formula è corretta, ma se vedi come l'abbiamo ricavata capirai subito che di questa radice dobbiamo considerare sia il risultato positivo che quello negativo (ad ogni coordinata x infatti corrispondono due punti simmetrici rispetto all'asse delle ascisse). Perciò:
codice:
Dim raggio As Integer, xoffset As Integer, yoffset As Integer
raggio = 50
xoffset = 100
yoffset = 100
For X = 0 To raggio - 1
Y = Math.Sqrt(raggio^2 - X^2)
image.SetPixel(X + xoffset, Y + yoffset, Color.Black)
image.SetPixel(X + xoffset, -Y + yoffset, Color.Black)
Next
.