向量旋转
如何实现将一个向量绕自身的Z轴旋转 何谓向量自身的Z轴? 谢谢你的反问,才明白这个问题问错了。我想想该怎么问。 能否从一个向量来获得坐标系,并将这个坐标系绕自身的Z轴旋转10度? 本帖最后由 chpmould 于 2011-3-7 19:45 编辑狐哥有发过一篇有关向量的帖,建议楼主看看...
http://bbs.mjtd.com/thread-81457-1-1.html 下面这段代码能实现这个功能,只是不知道这样写是否合理,是我瞎掰的。
<CommandMethod("t2")> _
Public Sub t2()
Dim pt1 As New Point3d(100, 200, 300)
Dim pt2 As New Point3d(400, 600, 1100)
Dim vec As Vector3d = pt2 - pt1
Dim mt As Matrix3d = Matrix3d.PlaneToWorld(vec.GetNormal)
Dim A As Double = Math.PI / 4
Dim s As CoordinateSystem3d = ed.CurrentUserCoordinateSystem.CoordinateSystem3d
Dim x As Vector3d = mt.CoordinateSystem3d.Xaxis.RotateBy(A, mt.CoordinateSystem3d.Zaxis)
Dim y As Vector3d = mt.CoordinateSystem3d.Yaxis.RotateBy(A, mt.CoordinateSystem3d.Zaxis)
mt = Matrix3d.AlignCoordinateSystem(s.Origin, s.Xaxis, s.Yaxis, s.Zaxis, pt1, _
x, y, x.CrossProduct(y))
ed.CurrentUserCoordinateSystem = mt
End Sub
楼主说的应该是实体绕实体的Normal向量旋转吧?Normal属性应该是平面类型实体才有的
页:
[1]