jt格式文件与网格压缩
jt格式文件与网格压缩
介绍
jt是一种3D数据格式,主要用于工业,产品可视化,数据交换,并且西门子在2012推动jt成为ISO国际标准。在文件尺寸方面,采用了不少专门的压缩方法,比较轻量化。
jt文件基本组织结构
- 分段(Segment),分元素(Element),并以GUID做记录与标识,方便扩展
- 网格数据以延迟特性的元素记录在另外的段,与主体内容不干扰,可以依需要才予以解析
- 支持网格数据分 LOD
- 可嵌入x_t拓扑几何数据,PMI等,从而可以保持和MCAD数据源的数据同步,这些数据也是以延迟加载特性存在的
网格压缩
3D网格数据一般分为两部分,一部分为拓扑(哪些顶点组成三角形/多边形);另一部分为几何(顶点数据)。
Google的draco库介绍
谷歌开源3D数据压缩算法 Draco 在线看片再也不用缓冲了?,相比通用压缩算法,针对3D数据的特点而开发的压缩可以有更大比率的压缩,这一领域现在也已经被研究二三十年了。
draco 支持输入点云与网格,分别为ply,obj输入格式,压缩后变为draco自身的格式,可解压输出为ply,obj。在拓扑的压缩上,draco里边有一个非常经典 EdgeBreaker编码过程,(draco还支持设置压缩程度,当最高为10时,似乎变换成为一种序列模式,这个是什么样的原理不大清楚),EdgeBreaker方面的国产论文是满天飞的;在几何的压缩上,没有细看draco的处理模式,可能采用了有损的压缩方式。点云的特点是只有几何而没有拓扑,所以draco可以省略掉拓扑方面的处理。
Simens的jt
jt文件还支持装配、部件的组织结构,这是ply,obj,cml,...等等一系列文件所不具备的。jt8.0版本的没有对拓扑的专门处理,而9.0版开始采用了一种对偶网格的方法进行压缩,对偶网格方面的国产论文很少,只找到2~3篇提高对偶网格的,自身并不介绍该方法,相比EdgeBreaker,对偶网格除支持三角形网格之外,还同时支持四边形,五边形等多边的模式。在其他方面,jt采用位长度编码,算术编码,8.0版还有一个Huffman编码,此外在位长度压缩上,9.0版与8.0版有所不同。
搞不大清楚为什么对偶网格方面的论文会比较少,不过如果仅依靠论文,掌握这些算法估计很难。
支持解析jt的库
可解析 jt格式文件 的osg插件
在文末提供一个我自己写的支持解析jt文件的osg插件,基于OpenSceneGraph 3.4.0开发,不过还比较简陋,jt8.1版的支持度相对好一些,9.0~9.5版还缺少Chopper解码,测试也还不够,大批9.0以上的文件估计无法支持,当前主要特性如下:
- 仅显示解析网格数据,未应用颜色
- 尚不支持多线程,延迟加载网格数据
- 代码架构与TKJT不同,理论上可以支持jt格式的写入,TKJT仅考虑显示jt
- 在解码编码方面为规避TKJT的版权约束,采用jt iso文件所提供的代码为蓝本改进,这个过程有点蛋疼,不过除解码外,还支持编码
此外仅提供Debug版的插件,还只算是Demo级别,之所以现在就发出来,是因为出于时间与精力的考虑,准备暂时中止这一方面的探索,想对前面这好几个月在这方面的花费时间与精力做一个备份,以后再视情况与机会改进。
jt格式文件与网格压缩的更多相关文章
- jt格式文件读取,osg显示插件更新
osgdb_jt 最近还是更新了一下 osgdb_jt 插件.解码jt格式核心库jt_toolkit,通过静态链接到Plugin jt产生osgdb_jt插件,使得osg可以可视化jt格式文件. 用法 ...
- jt格式文件与3D数据压缩
介绍 JT是西门子公司推出的PLM通用三维格式,设计为一个开放.高效率的.紧凑,持久性存储的产品数据格式,用于产品可视化.协作和CAD数据共享.JT文件格式包括多方面的数据,以及对曲面边的精准表示,产 ...
- 对TextFile格式文件的lzo压缩建立index索引
转自:http://blog.csdn.net/yangbutao/article/details/8519572 hadoop中可以对文件进行压缩,可以采用gzip.lzo.snappy等压缩算法. ...
- 使用C#压缩解压rar和zip格式文件
为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar.zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库. 在C#. ...
- Linux下zip格式文件的解压缩和压缩
Linux下zip格式文件的解压缩和压缩 Linux下的软件包很多都是压缩包,软件的安装就是解压缩对应的压缩包.所以,就需要熟练使用常用的压缩命令和解压缩命令.最常用的压缩格式有.tar.gz/tgz ...
- RTF格式文件浅析
ps:这两天在分析从微软的word复制一个绕排环绕的表格到openoffice的writer中去的bug,需要了解RTF... RTF是Rich TextFormat的缩写,意即多文本格式.这是一种类 ...
- 【NLP】Tika 文本预处理:抽取各种格式文件内容
Tika常见格式文件抽取内容并做预处理 作者 白宁超 2016年3月30日18:57:08 摘要:本文主要针对自然语言处理(NLP)过程中,重要基础部分抽取文本内容的预处理.首先我们要意识到预处理的重 ...
- Zip文件压缩(加密||非加密||压缩指定目录||压缩目录下的单个文件||根据路径压缩||根据流压缩)
1.写入Excel,并加密压缩.不保存文件 String dcxh = String.format("%03d", keyValue); String folderFileName ...
- linux专题一之文件归档和压缩(tar、file、zip)
本文主要从以下几个方便来说明文件的归档和压缩,同时比较几种不同压缩方法的压缩比率及特点. 文件归档命令tar,tar.gz源码包的安装管理 创建tar包-解压-查询tar包内容 zip命令的用法 为 ...
随机推荐
- 01.Nodejs入门之Helloworld
说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...
- ajax 实现修改功能
这段时间在做项目,发现自己忘得好快呀,幸亏有博客园帮我记着呢,整理博客园简直不要太重要了哦 因为做的是一个内部管理系统,只用了一个主页面,所有的都不允许整个网页刷新,所以我们只能用ajax 来做,当 ...
- 老李分享:接电话扩展之uiautomator 1
老李分享:接电话扩展之uiautomator poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq ...
- 老李分享:Mac快捷键
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- CSS3——复杂选择器
今天把视频里的CSS3复杂选择器部分看完了,来整理一下学到的知识点. 1.兄弟选择器:同一位置级别,可称为兄弟元素 a.相邻兄弟选择器:next紧紧跟在[当前元素之后的](一个),指定选择器的元素 ...
- (iOS)私有API的使用(原创)
最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api. 调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教 ...
- Git 更新本地代码
先用git remote -v 查看远程仓库的分支: 我分支远程仓库就只有一个分支master 比较本地仓库和远程仓库的不同 我本地仓库和远程仓库的代码是一样的所以没有区别 更新远程代码到本地 合并本 ...
- 2017携程Web前端实习生招聘笔试题总结
考察encodeURI encodeURI(), decodeURI()它们都是Global对象的方法. encodeURI()通过将某些字符的每个实例替换代表字符的UTF-8编码的一个或多个转义字符 ...
- Unity 检测物体是否在相机视野范围内
需求: 类似NPC血条,当NPC处于摄像机视野内,血条绘制,且一直保持在NPC头顶. 开始: 网上查找资料,然后编写代码: public RectTransform rectBloodPos; voi ...
- ADO.NET 获取SQL SERVER数据库架构信息
1.确定可用字段数目 sqlDataReader类提供了FieldCount属性,可确定查询反悔了多少个字段. 2.确定返回行的数目 sqlDataReader中没有指示可用行的属性. 3.确定字段的 ...