📄 贝齐尔曲线.frm
字号:
VERSION 5.00
Begin VB.Form Form2
BorderStyle = 4 'Fixed ToolWindow
Caption = "贝齐尔曲线的绘制"
ClientHeight = 6045
ClientLeft = 45
ClientTop = 285
ClientWidth = 7575
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6045
ScaleWidth = 7575
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
WindowState = 2 'Maximized
End
Attribute VB_Name = "Form2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim x(20) As Single
Dim y(20) As Single
Dim x1(60) As Single
Dim y1(60) As Single
Dim b(20) As Single
Private Sub Form_Click()
x(1) = 6: y(1) = 6
x(2) = 7: y(2) = 10
x(3) = 12: y(3) = 14
x(4) = 18: y(4) = 15
x(5) = 20: y(5) = 10
n = 5
Cls
For i = 1 To n - 1
Me.Line (x(i) * 400, 10000 - y(i) * 400)-(x(i + 1) * 400, 10000 - y(i + 1) * 400), vbBlue
Next i
m = 50
t = 1 / m
For i = 1 To m + 1
For k = 1 To n
b(k) = jc(n - 1) / (jc(k - 1) * jc(n - k)) * ((i - 1) * t) ^ (k - 1) * (1 - (i - 1) * t) ^ (n - k)
Next k
x1(i) = 0
y1(i) = 0
For k = 1 To n
x1(i) = x1(i) + b(k) * x(k)
y1(i) = y1(i) + b(k) * y(k)
Next k
Next i
For i = 1 To m
Me.Line (x1(i) * 400, 10000 - y1(i) * 400)-(x1(i + 1) * 400, 10000 - y1(i + 1) * 400), vbRed
Next i
End Sub
Public Function jc(n1)
If n1 = 0 Then
jc = 1
End If
jc = 1
k1 = 1
Do While k1 <= n1
jc = jc * k1
k1 = k1 + 1
Loop
End Function
Private Sub Form_DblClick()
Unload Me
Form1.Show
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -