anlingbin 发表于 2009-6-21 20:04:08

如何创建如同autoCAD的坐标轴

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

garyliyong 发表于 2015-11-10 10:48:39

代码上传,分享中,希望论坛人气越来越旺呀

anlingbin 发表于 2009-6-21 20:18:47

原帖由 anlingbin 于 2009-6-21 20:04 发表 http://bbs.osgchina.org/images/common/back.gif
autoCAD的视图左下角有一个坐标轴,表示XYZ方向。现在已有坐标轴的模型(axes.osg),我想请教一下,该如何是向该效果,即移动和缩放对坐标轴无效果,但旋转时,坐标轴跟着旋转。我现在只知道用多相机可以实现,但有 ...
http://www.caip8p8.com/GraffitiWork/AutoCAD/images/3b004.gif

array 发表于 2009-6-21 20:32:18

您完全可以从Transform类派生一个新的节点类型,重构computeLocalToWorldMatrix和computeWorldToLocalMatrix函数的内容,使之只接受旋转参数。这是我认为最高效的方法。

anlingbin 发表于 2009-6-22 18:20:39

再次请教

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

array 发表于 2009-6-22 19:43:24

给定一个平移的值,或者给它一个MatrixTransform父节点不就好了

wanghuisoftware 发表于 2011-9-14 17:12:40

请问这个坐标轴您实现了吗?如何重载上述两个方法的。

garyliyong 发表于 2011-9-14 20:19:20

给你个网址里面已经实现好了http://112.81.148.14/forum.php?mod=viewthread&tid=43&highlight=%D7%F8%B1%EA%D6%E1

mijue 发表于 2011-9-30 16:14:06

回复 7# garyliyong


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

garyliyong 发表于 2011-9-30 19:51:31

http://115.com/file/bwhxluof#
axes.rar
这个是我以前下载的直接给你下载好了那个网站打不开我也不知道为什么

mijue 发表于 2011-10-1 10:27:00

回复 9# garyliyong


    多谢您了,哈哈!!!

wanghuisoftware 发表于 2011-10-3 21:40:07

回复 9# garyliyong


    感谢达人。

garyliyong 发表于 2011-10-4 08:31:37

呵呵 资源是需要拿出来共享的

osg3d 发表于 2011-11-11 17:47:39

恳请重新分享一下。多谢

garyliyong 发表于 2011-11-12 08:17:16

osg3d 发表于 2011-11-11 17:47 static/image/common/back.gif
恳请重新分享一下。多谢

好的 我已经分享了

osg3d 发表于 2011-11-14 09:00:55

本帖最后由 osg3d 于 2011-11-14 09:06 编辑

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

wanghuisoftware 发表于 2011-11-21 11:45:16

本帖最后由 wanghuisoftware 于 2011-11-21 11:45 编辑

garyliyong 发表于 2011-9-30 19:51 static/image/common/back.gif
http://115.com/file/bwhxluof#
axes.rar
这个是我以前下载的直接给你下载好了那个网站打不开我也不知道 ...

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

garyliyong 发表于 2011-11-21 18:46:35

wanghuisoftware 发表于 2011-11-21 11:45 static/image/common/back.gif
此方法有个问题,就是当场景为空,root为空时,坐标轴x的方向是反的。

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

buaahc 发表于 2012-6-30 19:18:25

garyliyong 发表于 2011-11-12 08:17 static/image/common/back.gif
好的 我已经分享了

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

garyliyong 发表于 2012-7-1 09:49:15

buaahc 发表于 2012-6-30 19:18 static/image/common/back.gif
麻烦再发一遍 网址打不开~谢谢

见9楼

liuzhiyu123 发表于 2012-7-2 08:10:11

transform 实时根据住相机的viewmatrix更新自己,但是最后统一设置trans

kernus@gmail.co 发表于 2013-7-9 18:08:38

发现一个问题,窗口大小改变是,坐标轴的宽高比变形比较厉害啊,能解决吗?

liubo 发表于 2015-8-4 10:54:18

没有115, 求共享代码

玩儿微信的小鹿 发表于 2017-3-29 15:59:47

garyliyong 发表于 2015-11-10 10:48
代码上传,分享中,希望论坛人气越来越旺呀

这个方法坐标轴显示会变形(看起来不垂直了),请问有什么解决方法吗?
页: [1]
查看完整版本: 如何创建如同autoCAD的坐标轴