空间坐标和屏幕坐标相互换
来源:互联网 发布:土木工程需要的软件 编辑:程序博客网 时间:2024/06/11 22:48
d3d中操作
可以用D3DXVec3Project从3D坐标转换到屏幕坐标
同时可以用D3DXVec3UnProject将屏幕坐标转换成3D坐标!
gl里的操作
CPoint D3DToScreen2D(CPoint3d pt3D ,/
const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4])
{
GLdouble x,y,z;
gluProject( pt3D.x, pt3D.y, pt3D.z,
modelMatrix, projMatrix, viewport,
&x, &y, &z);
CPoint ptOut;
ptOut.x = int(x);
ptOut.y = viewport[3]-int(y);
return ptOut;
}
应用:
CPoint CCityPlanView::GetPoint3DTo2D(CPoint3d pt3D)
{
GLdouble modelview[16];
GLdouble projection[16];
GLint viewport[4];
wglMakeCurrent(m_hDC,m_hRC);
glGetDoublev (GL_MODELVIEW_MATRIX, modelview);
glGetDoublev (GL_PROJECTION_MATRIX, projection);
glGetIntegerv (GL_VIEWPORT, viewport);
CPoint ptOut = D3DToScreen2D(pt3D,modelview,projection,viewport);
wglMakeCurrent(m_hDC,NULL);
return ptOut;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qianlima888/archive/2007/10/24/1840984.aspx
- 空间坐标和屏幕坐标相互换
- unity屏幕空间坐标shader
- 屏幕坐标和客户区坐标
- 地理坐标和屏幕坐标互转
- osg 屏幕坐标和世界坐标转换
- ogre世界坐标与屏幕坐标相互转换
- 客户区坐标与成屏幕坐标的相互转换
- unity 世界坐标 屏幕坐标和ngui坐标转换
- 坐标空间和映射模式
- 【转载】坐标空间和转换
- 坐标空间
- ArcEngine下投影坐标和经纬度坐标的相互转换
- ArcEngine下投影坐标和经纬度坐标的相互转换
- 百度坐标和火星坐标的相互转化
- View-屏幕坐标 Content-网页(内容)坐标 mScrollX和mScrollY-屏幕坐标偏移
- 在屏幕坐标和窗口坐标之见的转换
- 一个屏幕坐标和地图坐标转换的js代码
- Android屏幕坐标和LCD坐标的转换
- [转贴]GIS的喜与悲:有感骆驼人的十年思考
- 关于Flash CS5 自己编写组件的教程
- Ogre 安装 配置 问题
- 危险的售前技术工程师
- 求大数余数方法
- 空间坐标和屏幕坐标相互换
- VS2010 AppCode文件夹问题
- 周末
- 职场潜规则一、别威胁你的老板
- 著名的三次握手(three-way handshake)
- Windbg使用串口进行local kernel debug
- 职称潜规则二、能力是否真的很重要
- Wrap Office(VBA Wrap Window API)
- 如何得到数组中字符串的位置