社区
图形处理/算法
帖子详情
opengl中三维点如何转化为屏幕坐标?
linkfunlee
2009-08-20 11:29:36
opengl中三维数据点如何转化为屏幕坐标?我想知道三维点对应的屏幕区域
...全文
580
11
打赏
收藏
opengl中三维点如何转化为屏幕坐标?
opengl中三维数据点如何转化为屏幕坐标?我想知道三维点对应的屏幕区域
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
_Kwekwe_
2010-07-16
打赏
举报
回复
回帖后终于可以了
_Kwekwe_
2010-07-16
打赏
举报
回复
发现MSDN一个Bug,明明已经登录成功了,并且已经可以回帖了,还是提示
"如需要阅读该回复,请登录或注册CSDN!"
fanyyu
2010-04-04
打赏
举报
回复
正在找这方面的资料,谢谢!
liliangke
2009-09-07
打赏
举报
回复
GLint viewport[4];
GLdouble modelview[16];
GLdouble projection[16];
GLdouble winX, winY, winZ;
GLdouble posX, posY, posZ;
glPushMatrix();
glGetIntegerv(GL_VIEWPORT, viewport);
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
glGetDoublev(GL_PROJECTION_MATRIX, projection);
posX = vIn->x;posY = vIn->y; posZ = vIn->z;
gluProject(posX,posY,posZ,modelview,projection,viewport,&winX,&winY,&winZ);
Pout->x = (long)winX;
Pout->y = viewport[3]-(long)winY;
glPopMatrix();
Wadejr
2009-09-05
打赏
举报
回复
物体坐标
------->模型视图矩阵:视图变换和模型变换组成(同时,用于从场景中删除某些物体或者提供物体的裁剪视图其他裁剪平面也生效)
------->视觉坐标
------->投影矩阵:定义了视景体的大小,视景体之外的物体被裁剪掉。
------->裁剪坐标
------->透视除法:坐标(x,y,z,w)---->(x/w,y/w,z/w)
------->规范化的设备坐标
------->视口变换:可以控制视口大小从而放大缩小拉伸图形。
------->窗口坐标。
看看我的博客:http://beta.hi.csdn.net/link.php?url=http://blog.csdn.net%2Fwadejr
fandh
2009-08-20
打赏
举报
回复
投影,还要计算投影的方向!以及投影的平面!然后才能计算出!
WooSir
2009-08-20
打赏
举报
回复
视矩阵*投影矩阵*模型矩阵的变换
郑恪文
2009-08-20
打赏
举报
回复
概括地说有三步:
(1)经过MODELVIEW矩阵的变换(Translate, Rotate, Scalar,变换),这一步是在世界坐标系内调整顶点的位置。
(2)经过PROJECTION(投影)矩阵的变换,这一步把三维空间的点投影到进剪裁面上。
(3)投影后获得的图像在视口(Viewport)显示。这一步决定了得到的图像与窗口客户区之间的映射关系。
不知道我说清楚了没有。
如果想要直接找到一个坐标已知点映射到屏幕上以像素为单位的坐标,理论上是可行的,实际上是困难的。因为你要获得这些变换矩阵,要模拟OpenGL的流水线看起来不是很容易的,而且OpenGL在剪裁的时候好像把透视投影也经过一个畸变转换成了平行投影。
就算得到了投影后的坐标,很可能映射到客户区以后并非恰好对应着一个点。
就算得到了客户区的坐标区域,这也只是逻辑坐标,还要转换成设备坐标才行~~~
feilinhe
2009-08-20
打赏
举报
回复
LZ可以找些简单的例子看看
yayafu
2009-08-20
打赏
举报
回复
投影变换,视图变换,ok
feilinhe
2009-08-20
打赏
举报
回复
三维点对应的屏幕区域是由你投影坐标变换决定的,是你计算的不是固定的
OpenGL
绘制
三维
坐标
图
自制的基于MFC、
OpenGL
平台的
三维
坐标
图程序,在vc2008编译通过
使用
OpenGL
实现
三维
坐标
的鼠标拣选_-_Y___Y的专栏_-_CSDN博客
使用
OpenGL
实现
三维
坐标
的鼠标拣选_-_Y___Y的专栏_-_CSDN博客
OpenGL
-自主高性能
三维
GIS平台架构与实现-第二季
OpenGL
-自主高性能
三维
GIS平台架构与实现/第二季:实现
三维
GIS球体+ 高程数据 章节名称 DEM基础 1 DEM基础知识 1.介绍基本的DEM知识2.什么是DEM,作用是什么 2 DEM数据 1.如何获取/ 传统测量/激光扫描/无人机测量/ ...
使用
OpenGL
实现
三维
坐标
的鼠标拣选
使用
OpenGL
实现
三维
坐标
的鼠标拣选,本文提出并实现一种用于
三维
坐标
拣选的RIP(Ray-Intersection-Penetration)方法。介绍了如何在已经渲染至窗口的
三维
场景
中
,使用鼠标或者相关设备拣选特定
三维
对象的方法。此方法...
Android
OpenGL
ES 绘制
三维
/空间
坐标
系透明
Android
OpenGL
ES (二) 绘制
三维
/空间
坐标
系 透明的立体图加
三维
向量和xyz
坐标
轴 源代码包,直接倒入eclips修改packadge便可用
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章