Как я могу получить 2d точку из matrix3d ​​в ​​silverlight? - PullRequest
1 голос
/ 16 февраля 2011

У меня есть объект Matrix3D, который определяет двухмерную плоскость с перспективой.(представьте себе большую картину, которая упала на пол вдали от вас)

Как я могу получить 2d точку, относящуюся к новому месту после перевода?

Если «картина»было три горизонтальные полосы, а затем, когда «рисунок» трансформировался, эти три полосы равной ширины стали теперь трапециевидными, где верхняя полоса меньше, чем средняя и нижняя.

1 Ответ

0 голосов
/ 17 февраля 2011

Вам нужно преобразовать трехмерный вектор формы (X, Y, 0), используя эту матрицу. К сожалению, у Matrix3D нет подходящего метода, поэтому вам придется писать умножение матрицы на вектор вручную. В любом случае, когда вы выполните преобразование, новые координаты X, Y будут соответствовать преобразованной позиции в экранном пространстве, а координата Z будет глубиной.

...