在3ds max中将3D坐标转换为2D

时间:2015-01-23 00:51:00

标签: c++ 3dsmax

我正在尝试将平面对象中某点的3D坐标转换为考虑视口宽度和高度的2D坐标。 我正在用c ++编写代码。

在浏览3Ds max文档时,我找到了“MapViewToScreen”功能, 这个功能够用吗?如果是这样,如何实现它。 如果还有其他方法,请建议。

1 个答案:

答案 0 :(得分:0)

检查链接map-world-point-to-viewport-coordinates

基本上你需要做的是

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