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
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