下面的循环嵌套算法用vb怎么写?

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:13:08
while (b*b*(x+1)<a*a*(y-0.5))
{
if(d1<0)
{
d1+=b*b*(2*x+3)
x++;
}
else
{
d1+=(b*b*(2*x+3)+a*a*(-2*y+2));
x++;
y--;
}
putpixel(x,y);
putpixel(-x,y);
putpixel(x,-y);
putpixel(-x,-y);
}
这是用vb生成椭圆的中点算法中的一段。二楼的和我自己写的一样,可是就是画不出来,哎~~~不过还是谢谢回答了的两位大牛,谢谢拉!

Do While (b * b * (x + 1) < a * a * (y - 0.5))

If (d1 < 0) Then

d1 = d1 + b * b * (2 * x + 3)
x = x + 1

Else

d1 = d1 + (b * b * (2 * x + 3) + a * a * (-2 * y + 2))
x = x + 1
y = y - 1
End If
PSet (x, y)
PSet (-x, y)
PSet (x, -y)
PSet (-x, -y)
Loop

do while (b*b*(x+1)<a*a*(y-0.5))

if(d1<0) then

d1+=b*b*(2*x+3)
x=x+1

else

d1=d1+(b*b*(2*x+3)+a*a*(-2*y+2))
x=x+1
y=y-1
end if
putpixel(x,y)
putpixel(-x,y)
putpixel(x,-y)
putpixel(-x,-y)
loop