XNA Найти положение точки после преобразования - PullRequest
1 голос
/ 21 октября 2011

Я предполагал, что это простая проблема, но она мучает меня в течение многих дней.

Моя проблема: найти положение вершины модели после применения некоторого преобразования в координатах миров.

Я пытаюсь быть более понятным: у меня есть одна простая модель, которую я вращаю.Я не могу найти положение этой модели в мире.Например, если я займу ограничивающую сферу, она не изменится после поворота.

Я очень ценю любую помощь.

1 Ответ

0 голосов
/ 21 октября 2011

Я полагаю, что вы спрашиваете, как определить положение в мировом пространстве одного трехмерного вектора после преобразования с помощью матрицы мира.

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

var worldMatrix = Matrix.CreateRotationZ(...);
var modelSpacePosition = new Vector3(...);

var worldSpacePosition = Vector3.Transform(modelSpacePosition, worldMatrix);
...