注意 圆的半径通常是按照水平单位来指定的。如果坐标系使用的水平单位和垂直单位是相同的话(按照缺省规定,应当这样),可以不用考虑单位问题。但如果使用的是自定义标尺,则水平单位和垂直单位可能对应不同的长度。
楼主的代码就是自定义标尺,x,y的长度不一定是相等的。你把窗体拉窄点,就会发现左边的两点会在圆的外面了。
解决办法:使x,y的实际值相等。
Private Sub Command1_Click()
Dim x As Single, h As Single, w As Single
Const Pi = 3.14159265358979
Cls
h = Me.ScaleHeight
w = Me.ScaleWidth
Scale (-20, 20 * h / w)-(20, -20 * h / w)
For x = 0 To 2 * Pi Step 0.001
PSet (6 * Cos(x) + 3 * Cos(2 * x), 6 * Sin(x) - 3 * Sin(2 * x))
Next
DrawStyle = 2
Circle (0, 0), 9
End Sub
[此贴子已经被作者于2020-6-1 14:24编辑过]