如何旋转眼中导入的对象?

时间:2018-06-28 09:08:57

标签: rotation eyeshot

我有一个带Eyeshot的导入步对象。该对象由多个实体组成,如何将所有实体旋转为一个?

1 个答案:

答案 0 :(得分:2)

我想您尝试过分别旋转每个旋转,但效果不如预期吗?

您所做的是将相同的旋转应用于每个实体矩阵,这是一个局部变换。您需要世界旋转。为此,您需要使用旋转的替代版本。

假设您要在世界的Z轴上将所有实体上的0,0,0旋转90度

// create a 90 degree rotation at 0,0,0
var rotation = new Rotation(Math.PI / 2d, Vector3D.AxisZ, new Point3D(0, 0, 0));

// loop each entities and apply the rotation
foreach (var entity in viewportLayout1.Entities)
{
    entity.TransformBy(rotation);
}

旋转轴和旋转点非常重要