发布时间 : 星期一 文章激光雷达测量实习报告(实习操作截图+心得体会+实习总结)精品文档10页更新完毕开始阅读48b6cdd6b34e852458fb770bf78a6529647d3536
三、Imageware构建三维实体表面模型。
图25 图26 图27 图28 图29 图30
第 5 页
四、编程
(一)空间坐标转换,如下图31~33所示:
图31 图32
坐标转换
Private Sub cmdCalc3D_Click() m3 = cdcs Ex = xxz Ey = yxz Ez = zxz dX3 = xpy dY3 = ypy dZ3 = zpy
txtK3.Text = Str(m3) txtEx.Text = Str(Ex) Ex = DoToHu(Ex) txtEy.Text = Str(Ey) Ey = DoToHu(Ey) txtEz.Text = Str(Ez) Ez = DoToHu(Ez)
txtdX3.Text = Str(dX3) txtdY3.Text = Str(dY3) txtDz3.Text = Str(dZ3) X3 = Val(txtX3.Text) Y3 = Val(txtY3.Text) Z3 = Val(txtZ3.Text)
Xx3 = (m3 + 1) * (X3 * Cos(Ey) * Cos(Ez) + Y3 * Cos(Ey) * Sin(Ez) - Z3 * Sin(Ey)) + dX3
Yy3 = (m3 + 1) * (X3 * (-Cos(Ex) * Sin(Ez) + Sin(Ex) * Sin(Ey) * Cos(Ez)) + Y3 * (Cos(Ex) * Cos(Ez) + Sin(Ex) * Sin(Ey) * Sin(Ez)) + Z3 * (Sin(Ex) * Cos(Ey))) + dY3
Zz3 = (m3 + 1) * (X3 * (Sin(Ex) * Sin(Ez) + Cos(Ex) * Sin(Ey) * Cos(Ez)) + Y3 * (-Sin(Ex) * Cos(Ez) + Cos(Ex) * Sin(Ey) * Sin(Ez)) + Z3 * (Cos(Ex) * Cos(Ey))) + dZ3
txtXx3.Text = Format(Xx3, \ txtYy3.Text = Format(Yy3, \ txtZz3.Text = Format(Zz3, \End Sub
Private Sub cmdClear3D_Click() txtX3.Text = \ txtY3.Text = \
第 6 页
txtZ3.Text = \ txtXx3.Text = \ txtYy3.Text = \ txtZz3.Text = \End Sub
Private Sub cmdconCalc3D_Click() m3 = cdcs Ex = xxz Ey = yxz Ez = zxz dX3 = xpy dY3 = ypy dZ3 = zpy
txtK3.Text = Str(m3) txtEx.Text = Str(Ex) Ex = DoToHu(Ex) txtEy.Text = Str(Ey) Ey = DoToHu(Ey) txtEz.Text = Str(Ez) Ez = DoToHu(Ez)
txtdX3.Text = Str(dX3) txtdY3.Text = Str(dY3) txtDz3.Text = Str(dZ3) Xx3 = Val(txtXx3.Text) Yy3 = Val(txtYy3.Text) Zz3 = Val(txtZz3.Text)
X3 = ((Xx3 - dX3) * Cos(Ey) * Cos(Ez) + (Yy3 - dY3) * (-Cos(Ex) * Sin(Ez) + Sin(Ex) * Sin(Ey) * Cos(Ez)) + (Zz3 - dZ3) * (Sin(Ex) * Sin(Ez) + Cos(Ex) * Sin(Ey) * Cos(Ez))) / (m3 + 1)
Y3 = ((Xx3 - dX3) * Cos(Ey) * Sin(Ez) + (Yy3 - dY3) * (Sin(Ex) * Sin(Ey) * Sin(Ez) + Cos(Ex) * Cos(Ez)) + (Zz3 - dZ3) * (-Sin(Ex) * Cos(Ez) + Cos(Ex) * Sin(Ey) * Sin(Ez))) / (m3 + 1)
Z3 = ((Xx3 - dX3) * (-Sin(Ey)) + (Yy3 - dY3) * Sin(Ex) * Cos(Ey) + (Zz3 - dZ3) * (Cos(Ex) * Cos(Ey))) / (m3 + 1)
txtX3.Text = Format(X3, \ txtY3.Text = Format(Y3, \ txtZ3.Text = Format(Z3, \End Sub
Private Sub cmdExit_Click() End End Sub
Private Sub cmdParaCalu_Click() frmParameterCal3D.Show End Sub
第 7 页
Private Sub Command1_Click() Dim Dateh As String Dim iposh%, i%
Open Text1.Text For Input As #1 Line Input #1, Dateh n = Val(Dateh)
ReDim x1#(n), y1#(n), z1#(n), x2#(n), y2#(n), z2#(n) ReDim jx#(n), jy#(n), jz#(n) For i = 1 To n
Line Input #1, Dateh
iposh = InStr(Dateh, \
x1(i) = Val(Left(Dateh, iposh - 1)) Dateh = Mid(Dateh, iposh + 1) iposh = InStr(Dateh, \
y1(i) = Val(Left(Dateh, iposh - 1)) Dateh = Mid(Dateh, iposh + 1) iposh = InStr(Dateh, \
z1(i) = Val(Left(Dateh, iposh - 1)) Dateh = Mid(Dateh, iposh + 1) iposh = InStr(Dateh, \
x2(i) = Val(Left(Dateh, iposh - 1)) Dateh = Mid(Dateh, iposh + 1) iposh = InStr(Dateh, \
y2(i) = Val(Left(Dateh, iposh - 1)) Dateh = Mid(Dateh, iposh + 1) z2(i) = Val(Dateh) Next i Close #1 End Sub 求解参数
Dim i As Integer m3 = cdcs Ex = xxz Ey = yxz Ez = zxz dX3 = xpy dY3 = ypy dZ3 = zpy For i = 1 To n
jx(i) = (m3 + 1) * (x1(i) * Cos(Ey) * Cos(Ez) + y1(i) * Cos(Ey) * Sin(Ez) - z1(i) * Sin(Ey)) + dX3
jy(i) = (m3 + 1) * (x1(i) * (-Cos(Ex) * Sin(Ez) + Sin(Ex) * Sin(Ey) * Cos(Ez)) + y1(i) * (Cos(Ex) * Cos(Ez) + Sin(Ex) * Sin(Ey) * Sin(Ez)) + z1(i) * (Sin(Ex) * Cos(Ey))) + dY3
第 8 页