?? form1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4935
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4935
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Koch
Caption = "Koch"
Height = 375
Left = 1920
TabIndex = 0
Top = 2760
Width = 1095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const PI = 3.14159
Private Sub Koch_Click()
ScaleTop = 50
ScaleLeft = 0
ScaleWidth = 100
ScaleHeight = -50
Call Fractal(0, 10, 100, 10)
End Sub
Sub Fractal(aX As Single, aY As Single, bX As Single, bY As Single)
If (bX - aX) * (bX - aX) + (bY - aY) * (bY - aY) < 10 Then
Line (aX, aY)-(bX, bY)
Else
Dim cX As Single, cY As Single
Dim dX As Single, dY As Single
Dim eX As Single, eY As Single
Dim l As Single
Dim alpha As Single
cX = aX + (bX - aX) / 3
cY = aY + (bY - aY) / 3
eX = bX - (bX - aX) / 3
eY = bY - (bY - aY) / 3
Call Fractal(aX, aY, cX, cY)
Call Fractal(eX, eY, bX, bY)
l = Sqr((eX - cX) * (eX - cX) + (eY - cY) * (eY - cY))
alpha = Atn((eY - cY) / (eX - cX))
If (alpha >= 0 And (eX - cX) < 0) Or (alpha <= 0 And (eX - cX) < 0) Then
alpha = alpha + PI
End If
dY = cY + Sin(alpha + PI / 3) * l
dX = cX + Cos(alpha + PI / 3) * l
Call Fractal(cX, cY, dX, dY)
Call Fractal(dX, dY, eX, eY)
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -