查看: 5253|回复: 23

如何创建如同autoCAD的坐标轴

[复制链接]

该用户从未签到

发表于 2009-6-21 20:04:08 | 显示全部楼层 |阅读模式
autoCAD的视图左下角有一个坐标轴,表示XYZ方向。现在已有坐标轴的模型(axes.osg),我想请教一下,该如何是向该效果,即移动和缩放对坐标轴无效果,但旋转时,坐标轴跟着旋转。我现在只知道用多相机可以实现,但有时候会出错,不知道还有没有其它方法。希望哪位高手予以解答,谢谢!

该用户从未签到

发表于 2015-11-10 10:48:39 | 显示全部楼层
代码上传,分享中,希望论坛人气越来越旺呀

axes.rar

4.85 KB, 下载次数: 94, 下载积分: 威望 1

该用户从未签到

 楼主| 发表于 2009-6-21 20:18:47 | 显示全部楼层
原帖由 anlingbin 于 2009-6-21 20:04 发表
autoCAD的视图左下角有一个坐标轴,表示XYZ方向。现在已有坐标轴的模型(axes.osg),我想请教一下,该如何是向该效果,即移动和缩放对坐标轴无效果,但旋转时,坐标轴跟着旋转。我现在只知道用多相机可以实现,但有 ...

该用户从未签到

发表于 2009-6-21 20:32:18 | 显示全部楼层
您完全可以从Transform类派生一个新的节点类型,重构computeLocalToWorldMatrix和computeWorldToLocalMatrix函数的内容,使之只接受旋转参数。这是我认为最高效的方法。

该用户从未签到

 楼主| 发表于 2009-6-22 18:20:39 | 显示全部楼层

再次请教

谢谢你的解答!我试了以后,发现模型是只能旋转了,但坐标轴模型会在视点上,遮住视线(出现一叶障目的情况)。这种情况,是不是坐标轴的初始Vec3Array的位置不对,该如何将坐标轴移至屏幕左下角。期待您的解答,多谢了!

该用户从未签到

发表于 2009-6-22 19:43:24 | 显示全部楼层
给定一个平移的值,或者给它一个MatrixTransform父节点不就好了

该用户从未签到

发表于 2011-9-14 17:12:40 | 显示全部楼层
请问这个坐标轴您实现了吗?如何重载上述两个方法的。

该用户从未签到

发表于 2011-9-14 20:19:20 | 显示全部楼层
给你个网址里面已经实现好了http://112.81.148.14/forum.php?m ... =%D7%F8%B1%EA%D6%E1

该用户从未签到

发表于 2011-9-30 16:14:06 | 显示全部楼层
回复 7# garyliyong


    您好,请问这个网站为什么现在上不去了,能否重新给个链接,多谢了。。

该用户从未签到

发表于 2011-9-30 19:51:31 | 显示全部楼层
http://115.com/file/bwhxluof#
axes.rar
这个是我以前下载的直接给你下载好了  那个网站打不开我也不知道为什么

该用户从未签到

发表于 2011-10-1 10:27:00 | 显示全部楼层
回复 9# garyliyong


    多谢您了,哈哈!!!

该用户从未签到

发表于 2011-10-3 21:40:07 | 显示全部楼层
回复 9# garyliyong


    感谢达人。

该用户从未签到

发表于 2011-10-4 08:31:37 | 显示全部楼层
呵呵 资源是需要拿出来共享的

该用户从未签到

发表于 2011-11-11 17:47:39 | 显示全部楼层
恳请重新分享一下。多谢

该用户从未签到

发表于 2011-11-12 08:17:16 | 显示全部楼层
osg3d 发表于 2011-11-11 17:47
恳请重新分享一下。多谢

好的 我已经分享了

该用户从未签到

发表于 2011-11-14 09:00:55 | 显示全部楼层
本帖最后由 osg3d 于 2011-11-14 09:06 编辑

多谢,这是用HUD相机实现的,不是用的array说的重载Transform两个函数实现的,但效果很好,效率问题应该可以忽略不计的呵呵,非常感谢楼主再次分享

该用户从未签到

发表于 2011-11-21 11:45:16 | 显示全部楼层
本帖最后由 wanghuisoftware 于 2011-11-21 11:45 编辑
garyliyong 发表于 2011-9-30 19:51
http://115.com/file/bwhxluof#
axes.rar
这个是我以前下载的直接给你下载好了  那个网站打不开我也不知道 ...


此方法有个问题,就是当场景为空,root为空时,坐标轴x的方向是反的。

该用户从未签到

发表于 2011-11-21 18:46:35 | 显示全部楼层
wanghuisoftware 发表于 2011-11-21 11:45
此方法有个问题,就是当场景为空,root为空时,坐标轴x的方向是反的。

这是因为osg本身在场景为空的时候坐标就是这样的,你可以做些改进

该用户从未签到

发表于 2012-6-30 19:18:25 | 显示全部楼层
garyliyong 发表于 2011-11-12 08:17
好的 我已经分享了

麻烦再发一遍 网址打不开~谢谢

该用户从未签到

发表于 2012-7-1 09:49:15 | 显示全部楼层
buaahc 发表于 2012-6-30 19:18
麻烦再发一遍 网址打不开~谢谢

见9楼

该用户从未签到

发表于 2012-7-2 08:10:11 | 显示全部楼层
transform 实时根据住相机的viewmatrix更新自己,但是最后统一设置trans

该用户从未签到

发表于 2013-7-9 18:08:38 | 显示全部楼层
发现一个问题,窗口大小改变是,坐标轴的宽高比变形比较厉害啊,能解决吗?

该用户从未签到

发表于 2015-8-4 10:54:18 | 显示全部楼层
没有115, 求共享代码

该用户从未签到

发表于 2017-3-29 15:59:47 | 显示全部楼层
garyliyong 发表于 2015-11-10 10:48
代码上传,分享中,希望论坛人气越来越旺呀

这个方法坐标轴显示会变形(看起来不垂直了),请问有什么解决方法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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