iCAx开思工具箱

标题: vb.net中矩阵计算问题请教高手. [打印本页]

作者: hello_icax    时间: 2009-11-4 13:30
标题: vb.net中矩阵计算问题请教高手.
有一个空间几何学的初级问题请教.(惭愧)
已知空间一个坐标系的x轴矢量,y轴矢量,如何求出z轴矢量?

Sub TestCsys(ByVal Csys1 As CoordinateSystem)
        Dim xVec As Vector3d
        Dim yVec As Vector3d

        Csys1.GetDirections(xVec, yVec)'获得x轴矢量和y轴矢量
        '已知x轴矢量xVec和y轴矢量yVec,求z轴矢量
        ?
End Sub

由于CoordinateSystem对象只提供GetDirections来获得
x轴矢量和y轴矢量.却不知z轴矢量如何获得.
理论上讲按右手定则,一定可以计算出来,可惜本人才疏学浅.
还望高手赐教,不慎感激!
作者: UG008    时间: 2009-11-4 15:38
X(   cos(*),        sin(*),     -sin(*)   )
Y( -sin(*),       cos(*),       sin(*)   )
Z(  sin(*),          -sin(*),      cos(*)  )
作者: zhangcanwei    时间: 2009-11-4 17:08
给你一个函数
Public Sub Vect1XtoVect2(ByVal x1 As Double, ByVal y1 As Double, ByVal z1 As Double, _
                             ByVal x2 As Double, ByVal y2 As Double, ByVal z2 As Double, _
                             ByRef xNew As Double, ByRef yNew As Double, ByRef zNew As Double) '矢量叉积
        xNew = y1 * z2 - z1 * y2
        yNew = z1 * x2 - x1 * z2
        zNew = x1 * y2 - y1 * x2
    End Sub

其中x1,y1,z1为第一个矢量,x2,y2,z2为第二个矢量
xnew,ynew,znew为得到的新矢量
作者: hehua123    时间: 2009-11-4 19:16
哇,里面皆是人才
作者: hello_icax    时间: 2009-11-5 08:19
太感谢了,这下可帮了我大忙了.

谢谢!




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3