查看: 1351|回复: 5

矩阵相减,急

[复制链接]

该用户从未签到

发表于 2011-5-18 11:50:53 | 显示全部楼层 |阅读模式
本帖最后由 nononono 于 2011-5-18 13:05 编辑

相对于世界坐标的两个矩阵(移动之前和移动之后),如果想减,会是什么效果,能不能获得平移分量,用在matrix::translate命令里面呢

该用户从未签到

发表于 2011-5-18 12:15:32 | 显示全部楼层
您想的到什么样的效果?

该用户从未签到

发表于 2011-5-18 12:25:28 | 显示全部楼层
这个是当然可以了,没有问题,只是想减之后效果当然还是矩阵

该用户从未签到

 楼主| 发表于 2011-5-18 13:04:06 | 显示全部楼层
这个问题是接着昨天的问题问的http://bbs.osgchina.org/viewthread.php?tid=5541
起初通过在运动前和运动后取得selector->getbound().center()的值,来形成一条检测线,进行碰撞检测,但发现这样总是不准。把这两点坐标带入osg::Geometry* geometry绘制直线,发现每次移动后都有一个固定的偏移。我想可能需要通过nodePath来累加矩阵才能得到准确的坐标。

也就是,已知移动前的矩阵,移动后的矩阵,形成一条osg::ref_ptr<osg:ineSegment> line=new osg::LineSegment(osg::Vec3 start,osg::Vec3 end);该怎么做

该用户从未签到

 楼主| 发表于 2011-5-18 14:08:18 | 显示全部楼层
http://hi.baidu.com/%BF%D5%B5%C4 ... dd6103d8f9fdfb.html
发现这篇博客上有所介绍,我先试试

该用户从未签到

发表于 2011-5-21 23:33:00 | 显示全部楼层
已知移动前的矩阵,移动后的矩阵,形成一条osg:: LineSegment
您这里所说的矩阵指得是物体的位置姿态矩阵?如果是这样的话,您可以直接用getTrans()取得局部坐标系的平移值。此外LineSegment是用于IntersectVisitor中的,这个类本身早已被废弃,请使用LinesegmentIntersector和IntersectionVisitor替代
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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