社区
图形处理/算法
帖子详情
OpenGL中的glUnproject函数获得的三维坐标,其坐标原点是什么
jillll
2009-05-20 07:31:22
OpenGL中的glUnproject函数获得的三维坐标,这个三维坐标的坐标原点是什么。
比如画一个球,将鼠标点击在球面时的屏幕坐标用上面的函数转化为了实物三维坐标,这个坐标的原点是什么啊。
我真的不是不给分,而是尝试了以后,发现自己没分可给,很抱歉。。。但是还是请大家帮忙一下,我运行了程序之后,出来的三维坐标令自己很迷惑。请指点迷津。谢谢!^_^
...全文
620
9
打赏
收藏
OpenGL中的glUnproject函数获得的三维坐标,其坐标原点是什么
OpenGL中的glUnproject函数获得的三维坐标,这个三维坐标的坐标原点是什么。 比如画一个球,将鼠标点击在球面时的屏幕坐标用上面的函数转化为了实物三维坐标,这个坐标的原点是什么啊。 我真的不是不给分,而是尝试了以后,发现自己没分可给,很抱歉。。。但是还是请大家帮忙一下,我运行了程序之后,出来的三维坐标令自己很迷惑。请指点迷津。谢谢!^_^
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lufudan2010
2012-06-15
打赏
举报
回复
用这个方法怎么得的结果总是不变呢?
driverstudent
2009-05-22
打赏
举报
回复
MAMM
jillll
2009-05-22
打赏
举报
回复
55555....
jillll
2009-05-21
打赏
举报
回复
呼唤太平洋。。。上面那个程序是按照太平洋给出的程序做的。。。
jillll
2009-05-21
打赏
举报
回复
我的程序是这样的,鼠标右键按下时,将按下处的鼠标屏幕坐标变为三维实物坐标,其中已经对view matrix处理过了啊,不明白为什么之后还要再乘view matrix的逆,而且获得的三维坐标到底是以什么为原点坐标的啊,请各位好心人指教。谢谢 ^_^.真的很迷惑。。。。
void CRobotView::OnRButtonDown(UINT nFlags, CPoint point)
{
GLfloat pixels;
GLdouble ObjX,ObjY,ObjZ;
GLint ViewPort[4];
GLdouble ProjMatrix[16];
GLdouble ModelMatrix[16];
glGetIntegerv(GL_VIEWPORT,ViewPort);
glGetDoublev(GL_MODELVIEW_MATRIX,ModelMatrix);
glGetDoublev(GL_PROJECTION_MATRIX,ProjMatrix);
glReadPixels(point.x,ViewPort[3]-point.y,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&pixels);
gluUnProject((GLdouble)point.x,(GLdouble)(ViewPort[3]-point.y),(GLdouble)pixels,ModelMatrix,ProjMatrix,ViewPort,&ObjX,&ObjY,&ObjZ);
CCommandView *pView = (CCommandView *)GetCommandView();
pView->m_xcur = (GLfloat)ObjX;
pView->m_ycur = (GLfloat)ObjY;
pView->m_zcur = (GLfloat)ObjZ;
GetCommandView()->UpdateData(FALSE);
CView::OnRButtonDown(nFlags, point);
}
jillll
2009-05-20
打赏
举报
回复
请问View matrix是一个2乘2的矩阵,而得到的坐标是1乘3的,应该以什么方式相乘呢?谢谢你^_^
chiwa737
2009-05-20
打赏
举报
回复
unproject了以后, 再乘以 view matrix的逆,就是你原来最初始的坐标点了
jillll
2009-05-20
打赏
举报
回复
发现我是菜鸟。。。别人的贴都回不了。。都不会回答。。。5555
jillll
2009-05-20
打赏
举报
回复
我攒够了分一定会给的。。今天去努力回帖
PickDemo
试着用鼠标拖动
三维
空间里的一条直线(或其端点)...本演示程序希望能为
OpenGL
爱好者带来些什么,也希望
OpenGL
高手们给予评价。gl
Project
和
glUn
Project
是一对被众多
OpenGL
书籍所"遗忘"的
函数
,本例程专为...
OpenGL
由屏幕
坐标
转换
三维
坐标
因此我们是求屏幕上点在近裁剪面上的
三维
坐标
,因为近裁剪面的Z
坐标
是一定的,因此我们只要求出x'和y'就行(x',y',Z),注意这个
三维
坐标
是在相机的视图空间
中
,此时相机的
坐标
为(0,0,0),因此我们可以得到视图...
OpenGL
中
屏幕
坐标
转为
OpenGL
坐标
在
opengl
中
我们经常碰到需要把屏幕
坐标
转换成
opengl
坐标
,例如我们做拾取,旋转,平移等操作。网上有很多相关代码: 原理: 鼠标点击屏幕
中
的某点,然后获取该点屏幕
坐标
对应的
OpenGL
坐标
。鼠标点的
坐标
很...
屏幕
坐标
向
OpenGL
坐标
的转换(完整版)
屏幕
坐标
向
OpenGL
坐标
的转换(完整版) 字号:大
中
小 很多人用
OpenGL
绘图会遇到一个问题即屏幕
坐标
向
OpenGL
坐标
转换,在网上流传着如下类似的代码: GLint viewport[4]; GLdouble ...
Opengl
入门,学习网站,常用
函数
详解 (glu
project
,gluUn
Project
,glReadPixels)
Opengl
学习网站、入门理解、常用
函数
理解
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章