vb 图形学方面算法,画圆看看是哪出问题
Dim a As Double, b As Double, sita As Double, x() As Double, y() As Double, i As Integer, n As IntegerConst PI = 3.1415926Public Function DoToHu(ByVal DoFenMiao As Double) As Double Dim du As Integer, fen As Integer, miao As Integer, angle As Double du = Fix(DoFenMiao) DoFenMiao = (DoFenMiao - du) * 100 fen = Fix(DoFenMiao) miao = (DoFenMiao - fen) * 100 angle = du + fen / 60 + miao / 3600 DoToHu = angle * PI / 180End FunctionPrivate Sub Command1_Click()a = Val(Text1.Text)b = Val(Text3.Text)sita = DoToHu(Val(Text2.Text))n = (2 * PI / sita)ReDim x(1 To n), y(1 To n)For i = 1 To n x(i) = a * Cos(i * sita) y(i) = b * Sin(i * sita)NextFor i = 1 To n - 1 Line (x(i), y(i))-(x(i + 1), y(i + 1))Next Line (x(1), y(1))-(x(n), y(n))End SubPrivate Sub Form_Load()Pic1.Width = 150Pic1.Height = 100Pic1.ScaleHeight = 100Pic1.ScaleWidth = 150Pic1.ScaleLeft = -75Pic1.ScaleTop = 50Pic1.DrawWidth = 2Pic1.DrawStyle = 0End Sub对了是在图形框中画圆、