【问题标题】:Using a matrix to position objects in 3D space使用矩阵在 3D 空间中定位对象
【发布时间】:2016-08-05 07:45:44
【问题描述】:

当使用 3D 矩阵变换时,是否可以只为每个对象使用一个矩阵来定位、旋转和缩放对象?我是否还需要维护一组单独的位置信息以执行诸如“围绕任意点旋转”之类的操作?

我问是因为我不太清楚如何(特别是......)围绕任意点旋转,尽管这与对象空间信息的一般管理有关。

【问题讨论】:

    标签: 3d rotation position matrix-transform


    【解决方案1】:

    您需要一个 4x4 矩阵。 3D 空间中的 3x3 矩阵仅描述 线性 变换,不包括定位(平移)。

    有关实施的更多详细信息,请参见此处: http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/。 Google 上的更多内容。

    例如要围绕任意点 P 旋转,请构造以下矩阵:

    • A减号 P翻译
    • B:您的旋转(欧拉角或其他)
    • C P翻译

    您想要的最终矩阵是 CBA(按此顺序,假设与向量进行右乘)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多