Преобразование 3D-координат в 2D в 3ds max

Я пытаюсь преобразовать трехмерные координаты точки на плоском объекте в двухмерные координаты с учетом ширины и высоты области просмотра.
Я пишу код на C ++.

При просмотре документации 3Ds max я обнаружил функцию «MapViewToScreen»,
Этой функции будет достаточно? Если так, как это реализовать.
Если есть и другие методы, пожалуйста, предложите.

0

Решение

Проверьте ссылку Карта-мир-точка-видовых координат

В основном, что вам нужно сделать, это

//get Transfromation matrix of the plane
Matrix3 tmMatrix = inode->GetObjectTM( GetCOREInterface()->GetTime() );

ViewExp& vpt = GetCOREInterface()->GetActiveViewExp();
GraphicsWindow *gwindow= vpt.getGW();
gwindow->setTransform( Matrix3(1) );

//Your required point, consider only the X and Y part
IPoint3 out; // X and Y from the bottom left corner
Point3 in( your_3d_point * tmMatrix );
gwindow->hTransPoint(&in, &out);
0

Другие решения


По вопросам рекламы [email protected]