>Menggambar Elipse-Visual Basic 6.0

>

Private Sub Text1_Change()

End Sub
Private Sub btn_hitung_Click()
Dim Ry, Rx, Xo, Yo As Integer
Ry = Val(txt_y.Text)
Rx = Val(txt_X.Text)
Xo = 0
Yo = Ry

‘region 1
pct_tampil.PSet (Xo, Yo), RGB(0, 0, 0)
pct_tampil.PSet (-Xo, Yo), RGB(0, 0, 0)
pct_tampil.PSet (Xo, -Yo), RGB(0, 0, 0)
pct_tampil.PSet (-Xo, -Yo), RGB(0, 0, 0)

Po = (Ry ^ 2) – ((Rx ^ 2) * Ry) + ((Rx ^ 2) / 4)
Px = 0
Py = 2 * (Rx ^ 2) * Yo
While Px < Py
    Xo = Xo + 1
    Px = Px + (2 * (Ry ^ 2))
    If (Po >= 0) Then
        Yo = Yo – 1
        Py = Py – 2 * (Rx ^ 2)
        Po = Po + (Ry ^ 2) + Px – Py
    Else
        Po = Po + (Ry ^ 2) + Px
    End If
    pct_tampil.PSet (Xo, Yo), RGB(0, 0, 0)
    pct_tampil.PSet (-Xo, Yo), RGB(0, 0, 0)
    pct_tampil.PSet (Xo, -Yo), RGB(0, 0, 0)
    pct_tampil.PSet (-Xo, -Yo), RGB(0, 0, 0)
    Wend
  
  
‘region 2
pct_tampil.PSet (Xo, Yo), RGB(0, 0, 0)
pct_tampil.PSet (-Xo, Yo), RGB(0, 0, 0)
pct_tampil.PSet (Xo, -Yo), RGB(0, 0, 0)
pct_tampil.PSet (-Xo, -Yo), RGB(0, 0, 0)

Po = ((Ry ^ 2) * ((X + 1 / 2) ^ 2)) + ((Rx ^ 2) * (Yo – 1)) – ((Rx ^ 2) * (Ry ^ 2))
While Yo > 0
    Yo = Yo – 1
    Py = Py – 2 * (Rx ^ 2)
    If Po <= 0 Then
        Xo = Xo + 1
        Px = Px + 2 * (Ry ^ 2)
        Po = Po + (Rx ^ 2) + Px – Py
    Else
        Po = Po + (Rx ^ 2) – Py
    End If
    pct_tampil.PSet (Xo, Yo), RGB(0, 0, 0)
    pct_tampil.PSet (-Xo, Yo), RGB(0, 0, 0)
    pct_tampil.PSet (Xo, -Yo), RGB(0, 0, 0)
    pct_tampil.PSet (-Xo, -Yo), RGB(0, 0, 0)
Wend
  
  

End Sub
Private Sub Form_Activate()
pct_tampil.Scale (-100, 100)-(100, -100)
pct_tampil.Line (-100, 0)-(100, 0), RGB(255, 0, 0) ‘sb-x
pct_tampil.Line (0, 100)-(0, -100), RGB(255, 0, 0)   ‘sb-y
End Sub

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *