全面了解事物_3dbody解剖「建议收藏」

全面了解事物_3dbody解剖「建议收藏」一、3DTiles介绍Cesium是一个虚拟地球三维平台,可视化范围上至太空中每一颗卫星,下至地面上每一幢建筑物

一、3D Tiles介绍

Cesium是一个虚拟地球三维平台,可视化范围上至太空中每一颗卫星,下至地面上每一幢建筑物。为了实现数字地球(Digital Earth vision)的蓝图,使连接世界上的地理空间数据成为可能,就要用到3D-Tiles。

3D-Tiles是一个用于流式(stream)传输大规模、异构的三维空间数据集的开放规范(open specification)。为了在Cesium地形和影像成流技术的基础上拓展功能,需要用3D Tiles成流三维数据,包括建筑物,树,点云和矢量数据。

简单点说,3D Tiles是在gltf的基础上,加入了分层LOD的结构后得到的产品,专门为大量地理3D数据流式传输和海量渲染而设计的一种格式,是webGL框架Cesium的专用格式。

主要有以下几个特点:

  1. Open

    3D Tiles是一个开放式规范,在Cesium中具有开源实现。

  2. Optimized for streaming and rendering(针对流和渲染进行了优化)

    3D Tiles主要是对大规模异构数据集的成流和渲染进行优化。3D Tiles的基础是一种空间数据结构,它支持层次结构细节级别(HLOD),只有可见的图块才会被流式传输。
    在这里插入图片描述

  3. Interactive(交互式)

    3D Tiles支持交互式选择和样式,可以单独进行模型交互。比如鼠标悬停显示建筑物、使用ID查询数据。

  4. Styleable(设置样式)

    单个模型的元数据可以在运行时用于着色而无需编写代码,样式可以即时更改。

  5. Adaptable(适应性)

    为了满足灵活性的需求,树可以是任何具有空间相干性的空间数据结构,包括k-d树,四叉树(quadtrees),八叉树(octrees),格网(grids)。

  6. Flexible(灵活)

    传统的2D地图图块,当用户放大时,可见的地图图块将被更高分辨率的地图图块替换,这称为细化。

    而3D数据集则可以在子图块下载时呈现,这称为添加剂细化,具有更大的灵活性。

  7. Heterogeneous(异构的)

    3D数据集没有可以适合所有的尺寸,批量模型需要来自实例模型的不同表示,以及来自点云的不同表示等。

    3D Tiles通过启用自适应细分,灵活细化和可扩展的切片格式集支持异构数据集。

  8. Precise(精确)

    3D Tiles提供全精度几何,避免抖动伪像,无需存储双精度值。

  9. Temporal(时间动态)

    Cesium专为时间动态可视化设计,例如卫星、无人机。

3D Tiles数据集(又称为tileset)是由一系列tile组成的树状结构。每一个tile都有一个包围体完全包围它的内容(content)。树具有空间相关性,子tile的内容完全包含在父tile的包围体内。

一个tile代表一个要素或者一个要素集,如建筑物为代表的3D模型、点云中的点和向量数据集中的点。每个tile可以引用以下四种格式中的一种:

  • Batched3DModel
  • Instanced3DModel
  • PointCloud
  • Composite

tile的内容(tile格式的一个单独实例)是一个二进制块,具有特定于格式的组件,包括功能表(Feature Table)和批处理表(Batch Table)。

批处理3D模型和实例3D模型格式基于glTF建立,glTF是为有效传输3D内容而设计的开放规范。这些格式的图块内容在二进制主体中嵌入了glTF资源,其中包含模型几何和纹理信息。点云格式未嵌入glTF。

tile以树形结构组织,其中结合了详细层次结构(HLOD)的概念,可最佳呈现空间数据。每个tile都有一个包围体积(bounding volume)属性,一个对象定义了一个完全包围其内容的空间范围。树具有空间连贯性;子tile的内容完全在父级的包围体积之内。

树可以是任何具有空间相干性的空间数据结构,包括k-d树,四叉树(quadtrees),八叉树(octrees),格网(grids)

二、3D Tiles的文件规范和单位

1. 扩展名

  • Tileset使用.json扩展名;
  • Tile的内容使用上述的四种类型(b3dm,i3dm,pnts,cmpt等);
  • 样式文件也使用.json扩展名

2. JSON的编码规范

  • JSON必须使用没有BOM的UTF-8编码。

  • 所有字符串(属性名称,枚举)仅使用ASCII字符集,并且必须以纯文本形式编写。

  • JSON对象中的名称(键)必须唯一,即不允许重复的键。

3. URIs

  • 3DTiles中的tiels使用URIs来指向外部引用,也可以将资源嵌入JSON的数据,和glTF引用二进制文件或者直接包含数据在JSON中的方式一样。

4. 单位

  • 所有线性距离的单位是米。

  • 所有角度均以弧度为单位

5. 坐标系

  • 3D Tiles使用右手笛卡尔坐标系,整体坐标系为WGS 84坐标系,但是WGS 84坐标系并不是必须的,也可以只有自己局部坐标系,不定义全局坐标系。

今天的文章全面了解事物_3dbody解剖「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/78911.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注