📄 frmdlltest.frm
字号:
VERSION 5.00
Begin VB.Form frmDLLTest
Caption = "测试数学库"
ClientHeight = 7635
ClientLeft = 60
ClientTop = 345
ClientWidth = 7080
LinkTopic = "Form1"
ScaleHeight = 7635
ScaleWidth = 7080
StartUpPosition = 3 '窗口缺省
End
Attribute VB_Name = "frmDLLTest"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Form_Click()
Dim vctFirst As Vector3D
Dim vctSecond As Vector3D
Dim mtxFirst As Matrix3D
Dim mtxSecond As Matrix3D
Set vctFirst = New Vector3D
Set vctSecond = New Vector3D
Set mtxFirst = New Matrix3D
Set mtxSecond = New Matrix3D
'第一个向量
vctFirst.x = 10#
vctFirst.y = 78.5
vctFirst.z = 102.9
'第二个向量
vctSecond.x = 109.2
vctSecond.y = 82.5
vctSecond.z = 180.8
'在窗体上输出第一个向量和第二个向量
Dim strFirst As String
Dim strSecond As String
strFirst = "第一个向量:" & Str(vctFirst.x) & " " & Str(vctFirst.y) & " " & Str(vctFirst.z)
strSecond = "第二个向量:" & Str(vctSecond.x) & " " & Str(vctSecond.y) & " " & Str(vctSecond.z)
Print
Print strFirst
Print strSecond
Print
'第一个向量的长度
Dim strLen As String
strLen = "第一个向量的长度:" & vctFirst.GetLength
Print strLen
'向量运算
Dim vctAdd As Vector3D
Dim vctSub As Vector3D
Dim dblMulDot As Double
Dim vctMulCro As Vector3D
Dim vctDev As Vector3D
Set vctAdd = vctFirst.Add(vctSecond)
Set vctSub = vctFirst.Subtract(vctSecond)
dblMulDot = vctFirst.MultDot(vctSecond)
Set vctMulCro = vctFirst.MultCross(vctSecond)
Set vctDev = vctFirst.Devide(2)
'输出运算结果
Dim strAdd As String
Dim strSub As String
Dim strMulDot As String
Dim strMulCro As String
Dim strDev As String
strAdd = "向量的和:" & Str(vctAdd.x) & " " & Str(vctAdd.y) & " " & Str(vctAdd.z)
strSub = "向量的差:" & Str(vctSub.x) & " " & Str(vctSub.y) & " " & Str(vctSub.z)
strMulDot = "向量点乘:" & Str(dblMulDot)
strMulCro = "向量叉乘:" & Str(vctMulCro.x) & " " & Str(vctMulCro.y) & " " & Str(vctMulCro.z)
strDev = "第一个向量除以2:" & Str(vctDev.x) & " " & Str(vctDev.y) & " " & Str(vctDev.z)
Print strAdd
Print strSub
Print strMulDot
Print strMulCro
Print strDev
'第一个矩阵和第二个矩阵
Dim strFirstM(0 To 3) As String
Dim strSecondM(0 To 3) As String
Dim intI As Integer
Dim intJ As Integer
For intI = 0 To 3
For intJ = 0 To 3
mtxFirst.M(intI, intJ) = intI + intJ
mtxSecond.M(intI, intJ) = intJ - intI
strFirstM(intI) = strFirstM(intI) & Str(mtxFirst.M(intI, intJ)) & " "
strSecondM(intI) = strSecondM(intI) & Str(mtxSecond.M(intI, intJ)) & " "
Next
Next
'输出两个矩阵
Print
Print "第一个矩阵:"
For intI = 0 To 3
Print strFirstM(intI)
Next
Print
Print "第二个矩阵:"
For intI = 0 To 3
Print strSecondM(intI)
Next
'计算两个矩阵的乘积
Dim mtxMul As Matrix3D
Set mtxMul = mtxFirst.Multiply(mtxSecond)
'输出乘积
Print
Print "两个矩阵的乘积:"
Dim strMulM As String
For intI = 0 To 3
For intJ = 0 To 3
strMulM = strMulM & Str(mtxMul.M(intI, intJ)) & " "
Next
Print strMulM
strMulM = ""
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -