Как повернуть импортированный объект в поле зрения? - PullRequest
0 голосов
/ 28 июня 2018

У меня есть импортированный шаговый объект с Eyeshot. Объект состоит из нескольких объектов, как я могу повернуть все объекты как один?

1 Ответ

0 голосов
/ 28 июня 2018

Полагаю, вы пытались повернуть каждый из них по отдельности, и это не сработало, как ожидалось, верно?

То, что вы сделали, применили один и тот же поворот к каждой матрице сущностей, которая была локальным преобразованием. Вам нужно вращение мира. Для этого вам нужно использовать измененную версию поворота.

Допустим, вы хотите вращение на 90 градусов по оси Z мира на 0,0,0 для ВСЕХ сущностей

// 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);
}

Ось и точка вращения очень важны

...