提问一下OpenGL中座标变换的问题

首先我设置视口为320*480,视点设置为z轴上3.0的位置.在z=0平面上我贴了一张顶点在x,y轴1,-1的正方形.也就是说正方形边长为2.0显示出来一个居中的正方形,... 首先我设置视口为320*480,视点设置为z轴上3.0的位置.

在z=0平面上我贴了一张顶点在x,y轴1,-1的正方形.也就是说正方形边长为2.0
显示出来一个居中的正方形,但我想知道,如果恰好把整个屏幕填满,我的四边形的顶点分别是什麽?

如果我在z = -1的平面上贴相同的四边形,怎样恰好填满屏幕呢?

如果我修改视点的座标为z=2,或z=1,我的四边形的顶点又改是什麽呢?

我现在贴了一些图在我的程序中,当我修改了视点座标后,再想去精确选中某张图,就很难办到,视点改编後,我不知道该怎麼把ACTION_DOWN的x,y座标映射为OpenGL的座标.

请问这些值是怎麼计算的,有什麽函数吗?
展开
 我来答
sl65agm
2011-08-14 · TA获得超过1383个赞
知道小有建树答主
回答量:734
采纳率:0%
帮助的人:590万
展开全部
要刚刚填满,设置下投影矩阵即可,顶点的数值是否能填满屏幕,最终还是要看投影
追问
你好,我只是想知道投影矩陣和頂點數值的換算關係.當修改視點使得正方形放大到超出屏幕后,怎樣得到屏幕的四個角所對應于我所畫出的正方形內部的頂點.怎麼換算的?
追答
这个矩阵变换你可以参考任何一本图形学教程俺就不在这些权威著作面前班门弄斧了。
但是俺可以提供一个比较好用的方法:
承载纹理的矩形根本就不需要进行模视变换,他的坐标直接存在于观察坐标中。
假如:你的视点坐标为(0, 0, 20)
你的glFrustum参数为 (-100,100, -80, 80, 1, 1000)
那么(-100, -80, 18.9) (100, -80, 18.9) (100, 80, 18.9) (-100, 80, 18.9)这四点构成的矩形,将永远刚好填满屏幕,无论你怎么变换世界,怎么设置照相机的位置,只有当投影矩阵的大小发生改变时,你才需要改变它们。前提是不要对其进行模视变换。因为这四点本来就是在观察坐标系下确定的。对于FPS游戏而言,你拿着枪跑地图,向各个方向观察,都无需修改,只有你切换到狙击枪瞄准镜的时候才需要改改。
百度网友2a47eda
2011-08-16 · TA获得超过176个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:84.8万
展开全部
呵呵, 你的观察点坐标的(x,y,z)是多少呢?
追问
0,0,4.2f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式