📄 计算a,l,r矩阵.bas
字号:
Attribute VB_Name = "Module2"
Sub juzhen_A(b() As Single, x1, y1, f1, H1 As Single)
Dim b11, b12, b13, b14, b15, b16, b21, b22, b23, b24, b25, b26 As Single
b11 = -f1 / H1
b12 = 0
b13 = -x1 / H1
b14 = -f1 * (1 + (x1 * x1) / (f1 * f1))
b15 = -x1 * y1 / f1
b16 = y1
b21 = 0
b22 = -f1 / H1
b23 = -y1 / H1
b24 = -x1 * y1 / f1
b25 = -f1 * (1 + (y1 * y1) / (f1 * f1))
b26 = -x1
b(1, 1) = b11
b(1, 2) = b12
b(1, 3) = b13
b(1, 4) = b14
b(1, 5) = b15
b(1, 6) = b16
b(2, 1) = b21
b(2, 2) = b22
b(2, 3) = b23
b(2, 4) = b24
b(2, 5) = b25
b(2, 6) = b26
End Sub
Sub juzhen_R(R1() As Single, p1, w1, k1 As Single)
Dim a11, a12, a13, b11, b12, b13, c11, c12, c13 As Single
' Dim pi As Single
' pi = 3.1415926535 / 180 * 60
a11 = Cos(p1) * Cos(k1) - Sin(p1) * Sin(w1) * Sin(k1)
a12 = -Cos(p1) * Sin(k1) - Sin(p1) * Sin(w1) * Cos(k1)
a13 = -Sin(p1) * Cos(w1)
b11 = Cos(w1) * Sin(k1)
b12 = Cos(w1) * Cos(k1)
b13 = -Sin(w1)
c11 = Sin(p1) * Cos(k1) + Cos(p1) * Sin(w1) * Sin(k1)
c12 = -Sin(p1) * Sin(k1) + Cos(p1) * Sin(w1) * Cos(k1)
c13 = Cos(p1) * Cos(w1)
R1(1, 1) = a11
R1(1, 2) = a12
R1(1, 3) = a13
R1(2, 1) = b11
R1(2, 2) = b12
R1(2, 3) = b13
R1(3, 1) = c11
R1(3, 2) = c12
R1(3, 3) = c13
End Sub
Sub juzhen_L(L1() As Single, R1() As Single, x1, y1, f1, XA1, YA1, ZA1, Xs1, Ys1, Zs1 As Single)
ReDim L1(2, 1)
Dim L111, L222 As Single
Dim mm, nn, vv As Single
mm = R1(1, 1) * (XA1 - Xs1) + R1(2, 1) * (YA1 - Ys1) + R1(3, 1) * (ZA1 - Zs1)
nn = R1(1, 2) * (XA1 - Xs1) + R1(2, 2) * (YA1 - Ys1) + R1(3, 2) * (ZA1 - Zs1)
vv = R1(1, 3) * (XA1 - Xs1) + R1(2, 3) * (YA1 - Ys1) + R1(3, 3) * (ZA1 - Zs1)
L111 = x1 + f1 * mm / vv
L222 = y1 + f1 * nn / vv
L1(1, 1) = L111
L1(2, 1) = L222
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -