发现越学问题越多了!!!又碰到个坐标转换的问题
我有一个用户坐标系,原点Pt1,x轴向量Vect1,y轴向量Vect2
那么我定义了一个坐标系
Dim UCS as new CoordinateSystem3d (pt1,Vect1,Vect2)
然后我又认为世界坐标的原点就是New Point3d(0,0,0), x轴是New Vector3d(1,0,0) y轴是New Vector3d(0,1,0)
所以我定义了 Dim WCS as new CoordinateSystem3d (New Point3d(0,0,0), New Vector3d(1,0,0),New Vector3d(0,1,0))
然后我定义了一个矩阵
Dim UCS2WCS as new matrix3d=Matrix3d.AlignCoordinateSystem (Ucs.orign,Ucs.xaxis,Ucs.yaxis,Ucs.zaxis,Wcs.orign,Wcs.xaxis,Wcs.yaxis,Wcs.zaxis)
从参数取名意思上看,通过这个矩阵,就能把点从UCS坐标转到WCS。
也就是wcsPt=ucsPt.TransformBy(UCS2WCS)
但是实际的操作中,我发现我给定的UCS坐标转过来的WCS坐标并不正确。 |