ywlm 发表于 2011-3-7 16:12:43

向量旋转

如何实现将一个向量绕自身的Z轴旋转

雪山飞狐_lzh 发表于 2011-3-7 16:22:58

何谓向量自身的Z轴?

ywlm 发表于 2011-3-7 16:27:13

谢谢你的反问,才明白这个问题问错了。我想想该怎么问。

ywlm 发表于 2011-3-7 16:30:21

能否从一个向量来获得坐标系,并将这个坐标系绕自身的Z轴旋转10度?

chpmould 发表于 2011-3-7 19:44:00

本帖最后由 chpmould 于 2011-3-7 19:45 编辑

狐哥有发过一篇有关向量的帖,建议楼主看看...

http://bbs.mjtd.com/thread-81457-1-1.html

ywlm 发表于 2011-3-7 22:03:28

下面这段代码能实现这个功能,只是不知道这样写是否合理,是我瞎掰的。

    <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

sieben 发表于 2011-3-7 22:34:29

楼主说的应该是实体绕实体的Normal向量旋转吧?Normal属性应该是平面类型实体才有的
页: [1]
查看完整版本: 向量旋转