⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 柯西雪花,用VB实现的柯西雪花程序.自己编写的.
💻 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 + -