画N个不相交 不包含的圆
来源:百度知道 编辑:UC知道 时间:2024/06/01 21:18:57
Private Sub Command1_Click()
Const PI = 3.14159265
Circle (3500, 1500), 1000, , ¨CPI / 2, ¨CPI / 3
End Sub
不是有这种吗?这种画出来就很圆 这个才对
没有圆周率这个说法,vb的circle语句用一个长宽比来控制椭圆率,你可以把
Me.Circle (Cir(I).X, Cir(I).Y), Cir(I).R, Me.FillColor
这句话改成
Me.Circle (Cir(I).X, Cir(I).Y), Cir(I).R, Me.FillColor ,,,1.2
或者
Me.Circle (Cir(I).X, Cir(I).Y), Cir(I).R, Me.FillColor ,,,0.8
试试
在我的电脑上运行没有发现椭圆的情况,修改如下:问下你这个是用来做什么的?
Private Type Cir
X As Integer
Y As Integer
R As Integer
End Type
'生成一个圆参数
Private Function GetACir(Wid As Integer, Hgt As Integer, R As Integer) As Cir
Dim CirR As Integer
Do
GetACir.X = Int(Rnd * Wid)
GetACir.Y = Int(Rnd * (Hgt - 1200)) + 300
Loop While (Wid / 2 - GetACir.X) ^ 2 + (Hgt / 2 - 300 - GetACir.Y) ^ 2 >= R ^ 2 '判断坐标是否在圆内
CirR = Sqr((Wid / 2 - GetACir.X) ^ 2 + (Hgt / 2 - 300 - GetACir.Y) ^ 2)
GetACir.R = Int(Rnd * Abs(R - CirR)) '生成圆半径
End Function
Private Sub Form_Click()
Dim Wid As Integer, Hgt As Integer
Dim CenX As