当前位置: 首页 > article >正文

osg 矩阵相关

下面结果是一样的 

    osg::Matrix mtrixx;
    mtrixx.makeRotate(90 / 180.f * osg::PI, osg::Vec3(1, 0, 0));

    osg::Matrix mtrixx12 = osg::Matrix::rotate(90 / 180.f * osg::PI, 1, 0, 0);

下面结果是一样

    osg::Matrix m1;
    m1.makeTranslate(osg::Vec3(18, 12,3));

    osg::Matrix m2= osg::Matrix::translate(osg::Vec3(18, 12, 3));


下面结果是一样

    osg::Matrix mtrixxttt;
    mtrixxttt.makeScale(osg::Vec3(2, 3,3));

    osg::Matrix mtrixxppp = osg::Matrix::scale(osg::Vec3(2, 3, 3));



 下面两段代码是一样的,旋转90移动15,然后再转90然后再移动15

    osg::Matrix mtrixx;
    mtrixx.makeRotate(90 / 180.f * osg::PI, osg::Vec3(0, 1, 0));
    tr->setMatrix(mtrixx * tr->getMatrix());
    mtrixx.makeTranslate(osg::Vec3(15, 0, 0));
    tr->setMatrix(mtrixx * tr->getMatrix());
    mtrixx.makeRotate(90 / 180.f * osg::PI, osg::Vec3(0, 1, 0));
    tr->setMatrix(mtrixx * tr->getMatrix());
    mtrixx.makeTranslate(osg::Vec3(15, 0, 0));
    tr->setMatrix(mtrixx * tr->getMatrix());
    osg::Matrix mtrixx;
    tr->setMatrix(osg::Matrix::rotate(90 / 180.f * osg::PI, 0, 1, 0) * tr->getMatrix());
    tr->setMatrix(osg::Matrix::translate(osg::Vec3(15, 0, 0)) * tr->getMatrix());
    tr->setMatrix(osg::Matrix::rotate(90 / 180.f * osg::PI, 0, 1, 0) * tr->getMatrix());
    tr->setMatrix(osg::Matrix::translate(osg::Vec3(15, 0, 0)) * tr->getMatrix());




牛的局部坐标是这样的 


http://www.kler.cn/news/332760.html

相关文章:

  • springboot项目配置部分依赖从私服拉取,部分从阿里云拉取
  • docker安装kafka-manager
  • 物联网(二)——MDPI特刊推荐
  • 学习 CSS 新的属性 conic-gradient 实现环形进度条
  • lsblk和df列出的东西怎么不一样,df怎么看不了sdb
  • CUDA与TensorRT学习六:模型部署-CNN、模型部署-YOLOv8检测器、部署BEVFusion模型
  • 一天认识一个硬件之键盘
  • macos安装git并连接gitCode远程仓库
  • 使用C++的OpenSSL 库实现 AES 加密和解密文件
  • 【2022工业3D异常检测文献】BTF: 结合手工制作的3D描述和颜色特征的异常检测方法
  • 大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓
  • SpringBoot的数据访问
  • TCP Analysis Flags 之 TCP ZeroWindowProbe
  • 忘记 MySQL 密码怎么办:破解 root 账户密码
  • 【JavaEE】http/https 超级详解
  • 认知杂谈97《兼听则明,偏听则暗》
  • 考研日语 - 高频核心 2200 词(八)
  • 【py】python实现矩阵的加、减、点乘、乘法
  • 多线程-初阶(1)
  • QT系统学习篇(1)