首页 > 其他分享 >osg,objectarx及occt之间矩阵的转换

osg,objectarx及occt之间矩阵的转换

时间:2024-08-14 13:15:59浏览次数:11  
标签:gp int occt 矩阵 ++ objectarx mVPW osg

osg的矩阵表达形式为osg::Matrix

ObjectArx的矩阵表达式为AcGeMatrix3d

occt的矩阵表达式分gp_Trsf及支持变形的gp_GTrsf

 

osg矩阵转化为ObjectArx

osg::Matrix mVPW;
TcGeMatrix3d matrix;
for (int i = 0; i < 4; ++i)
{
    for (int j = 0; j < 4; ++j)
    {
        matrix(j, i) = mVPW(i, j);
    }
}

注意行列是要反一下的

osg矩阵转换为gp_Trsf,必须是等比矩阵可用

    gp_Trsf aTrsf;
    aTrsf.SetValues(mVPW(0, 0), mVPW(1, 0), mVPW(2, 0), mVPW(3, 0),
                    mVPW(0, 1), mVPW(1, 1), mVPW(2, 1),    mVPW(3, 1),
                    mVPW(0, 2), mVPW(1, 2), mVPW(2, 2), mVPW(3, 2));

osg矩阵转换为gp_GTrsf

gp_GTrsf aGTrsf;
for (int i = 0; i < 3; ++i)
{
    for (int j = 0; j < 4; ++j)
    {
        aGTrsf.SetValue(i + 1, j + 1, mVPW(j, i));
    }
}

注意行列是反的

 

标签:gp,int,occt,矩阵,++,objectarx,mVPW,osg
From: https://www.cnblogs.com/unicornsir/p/18358754

相关文章

  • OSGI
    OSGI基础概述概述:OSGI是OpenServicesGatewayinitiative的缩写,叫做开放服务网关协议,通常可能指OSGi联盟、OSGi标准或者OSGi框架。OSGI:OSGI联盟现在将OSGI定义为一种技术,该技术是指一系列用于定义Java动态化组件系统的标准。这些标准通过为大型分布式系统以及嵌入式系统提供一......
  • Apache COC闪电演讲总结【OSGraph】
     大家能看到我最近一直在折腾与OSGraph这个产品相关的事情,之前在文章《妙用OSGraph:发掘GitHub知识图谱上的开源故事》中向大家阐述过这个产品的设计理念和应用价值。比方说以下问题就可以在OSGraph上找到明确的答案。 从技术角度说,我们是用GitHub开放数据结合图技术(TuGrap......
  • ObjectARX 判断实体是否是在位编辑块对象简单例子
    判断使用acdbIsInLongTransaction应该就可以。ads_nameent;ads_pointpt;if(RTNORM!=acedEntSel(_T("\n选择对象:"),ent,pt)){return;}AcDbObjectIdobjId;acdbGetObjectId(objId,ent);//直接判断//if(acdbIsInLongTransaction......
  • 一种倾斜摄影网格简化方式:指定LOD层级裁剪输出为FBX/OBJ/OSGB/3DTiles
    工具OSGB源数据灵易智模·倾斜摄影编辑平台(下称OPEditor)引言指定LOD层级与网格简化的关系倾斜摄影模型本身就是通过逐级简化点云得到的分页金字塔数据,因此它每一级都是下一级的网格简化结果,且算法成熟、结果可控;通过在导出即输出数据时,设置源数据的最大参考层级来直接......
  • win系统 python 安装 osgeo库安装(最简单)
    Python osgeo库安装用法介绍安装使用osgeo库,本质是安装gdal一、下载对应python版本压缩包下载地址在结尾二、解压压缩包在解压之后的文件夹当中,找到这两个文件夹三、复制文件夹到python安装目录当中如python环境文件夹路径为D:\Local\Programs\miniconda3\envs\py31......
  • Windows下,在Qt中使用OSG
    安装直接用vcpkg安装vcpkginstallosg:x64-windows这样可能会报错:error:whileloadingD:\vcpkg\ports\netcdf-c\vcpkg.json:$.default-features[1]:mismatchedtype:expectedanidentifier这个问题有人遇到,并且在github上提出了:【[netcdf-c]buildfailure#38449......
  • 渲染引擎实践 - OSG引擎窗口创建过程
    目录一:概述二: OSG中创建窗口用到了哪些类?三:OSG图形窗口建立过程(上面类之间的调用关系):一:概述       一个3D应用程序,要想显示渲染结果,首先要创建一个图形窗口,本节就分析下OSG源码中窗口创建的过程。二: OSG中创建窗口用到了哪些类?      1.Graph......
  • 【0295】Posgres内核 dynahash table 之 hash_search 实现原理(2)
    相关文章:【0294】Postgres内核dynahash之hash_search实现原理(1)0.前言在【0294】Postgres内核dynahash之hash_search实现原理(1)一文中,从Postgres内核源码角度详细讲解了dynamichashtable中hashsearch的实现原理。具体内容:如何确定segment位置如何确定bu......
  • osg使用整理(12):SSAO屏幕空间环境光遮蔽
    一、基础概念1、SSAO:通过将褶皱、孔洞和非常靠近墙面变暗的方法,近似模拟间接光照。SSAO称为屏幕空间环境光遮蔽,使用屏幕空间场景的深度而不是真实的几何体数据来确定遮蔽量,速度快效果好。2、实现原理:根据物体表面法线方向生成一个半球随机深度采样,主要看物体周围深度值大小,通......
  • 三维模型OSGB格式轻量化
    在三维模型应用中,轻量化处理是提高数据传输效率、减少渲染时间和优化用户体验的重要手段。而OSGB格式是一种常见的三维模型格式,在进行轻量化处理时,顶点压缩是一种常用的技术方法。本文将分析OSGB格式顶点压缩的主要技术方法。1、顶点量化顶点量化是一种常用的数据压缩技术,可......