查看: 1464|回复: 6

想做一个显示比例的功能

[复制链接]

该用户从未签到

发表于 2010-5-14 10:30:16 | 显示全部楼层 |阅读模式
我的想法就是先求下增个场景的bb 然后求一下视景体的裁剪后的bb 然后计算显示比例.
现在的问题是经过视景体裁剪后的剩下的场景怎么获取它的bb
或者大家有没有什么其他新的方法?
谢谢

该用户从未签到

发表于 2010-5-14 12:58:35 | 显示全部楼层
这个设想不太正确,注意“视景体的裁剪后的包围体”,也就是视锥体,它不是包围盒,而是一个棱台(除非您使用了正交投影的方式)
求取视锥体可以使用osg:: Polytope类,并且用它的transformProvidingInverse方法来随时更新观察和投影矩阵,具体您可以看一下OSG内部的代码实现

该用户从未签到

 楼主| 发表于 2010-5-14 15:26:29 | 显示全部楼层
2# array 那请问您有没有实现显示比例的其他方法呢??
这个显示比例的意思就当前窗口中所显示的部分场景在整个场景中的位置。
就类似于一个框(#1)框住了所有的场景,另一个框(#2)框住了当前经过缩放平移之后的所显示的那部分场景。问题是如何确定#2在#1中的位置
谢谢

该用户从未签到

发表于 2010-5-14 17:16:00 | 显示全部楼层
这个概念本身有些问题?因为三维场景是不应当用二维“框”去界定的。这样计量可能会很不准确。您不妨用包围“视锥体”的包围球去界定可见的场景,以及整个场景的包围球去计算显示比例;这样至少会比二维框要精确一些

该用户从未签到

 楼主| 发表于 2010-5-15 10:11:47 | 显示全部楼层
4# array
谢谢array
开辟一个新视图,这个视图的框想用的是hud做,这样讲是不是概念恰当些。
请问bs中的center是不是世界坐标系中的位置?

该用户从未签到

发表于 2010-5-16 23:15:19 | 显示全部楼层
开辟一个新视图,这个视图的框想用的是hud做
我不明白这句话的意思
请问bs中的center是不是世界坐标系中的位置
是它在父节点坐标系中的位置

该用户从未签到

 楼主| 发表于 2010-5-17 10:00:04 | 显示全部楼层
[url=http://bbs.osgchina.org/redirect.php?goto=findpost&pid=19926&ptid=3521]6#[/url] array

"开辟一个新视图,这个视图的框想用的是hud做"
建立一个新视图,这个视图中显示所有的场景,同时在这个视图上创建hud镜头,hud上画两平面的框。通过这内嵌框在外围框的位置,大小来反映显示的部分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表