📄 module2.bas
字号:
Attribute VB_Name = "Sub"
Option Explicit
'由(x0,y0)计算下一点(x1,y1)的坐标
Public Sub NextP(ByVal x0 As Double, ByVal y0 As Double, _
ByRef x1 As Double, ByRef y1 As Double)
Dim T As Double, i As Long
Dim x As Double, y As Double
T = Rnd(1) '产生一个0~1之间的随机数
For i = 0 To 10 '共11个方程
If T <= P(i) Then
x = A(i) * x0 + B(i) * y0 + E(i)
y = C(i) * x0 + D(i) * y0 + F(i)
Exit For
End If
Next i
x1 = x
y1 = y
End Sub
Public Sub HuaDian(ByVal A As Long, ByVal B As Long, _
ByVal Pxy As Long, _
ByVal x0 As Double, ByVal y0 As Double, _
ByVal x1 As Double, ByVal y1 As Double)
'绘制出好看的颜色
Dim Se As Long, i As Long, k As Long
If HowHua = 4 Or HowHua = 1 Or HowHua = 2 Then
If PxyT(A, B) = True Then
Exit Sub
Else
PxyT(A, B) = True
End If
End If
If Pn = 0 Then Pn = 2#
Select Case HowHua
Case 1
Se = FormM.PictureT.ForeColor
Case 2
Se = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
Case 3
Se = RGB(256 - Abs(Abs(Se1 - (2 * Se2 - 256) * Pxy * Pn / 10) Mod 512 - 256), _
256 - Abs(Abs(Se2 - (2 * Se3 - 256) * Pxy * Pn / 10) Mod 512 - 256), _
256 - Abs(Abs(Se3 - (2 * Se1 - 256) * Pxy * Pn / 10) Mod 512 - 256))
Case 4
Se = RGB(256 - Abs(Abs(Se1 - (2 * Se2 - 256) * Abs(x1 - x0) * Pn / 10) Mod 512 - 256), _
256 - Abs(Abs(Se2 - (2 * Se3 - 256) * Abs(y1 - y0) * Pn / 10) Mod 512 - 256), _
256 - Abs(Abs(Se3 - (2 * Se1 - 256) * (Abs(x1 - x0) + Abs(y1 - y0)) * Pn / 20) Mod 512 - 256))
End Select
SetPixelV FormM.PictureT.hdc, A, B, Se
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -