- 博客(28)
- 资源 (5)
- 收藏
- 关注
原创 点云数据转pnts二进制数据
/分布式处理+ForkJoin并行处理生成pnts。* input文件对应输入字段名称。* PointModel对应字段。//组装pnts的二级制文件。* Pnts输出字段名称。
2023-10-19 11:49:13
344
原创 3dtiles之点云pnts文件详解
例如,在最高层级的瓦片中,每个像素都可能对应于一个三维模型中的一个面,而在最低层级的瓦片中,每个像素只对应于一个三维模型中的一个点。在其中,PNTS格式用于存储点云数据,具有高效、紧凑、可扩展等优点,可以为3DTiles提供更好的处理能力。3DTiles是一种用于在WebGL环境中渲染大规模三维地理数据的规范,它允许开发者将复杂的三维数据以高效的方式传输、存储和呈现。它的核心思想是将三维数据分层组织,以便在不同的层级上呈现不同的细节。它基于二进制格式,并使用了一些特定的技术来实现高效的点云数据存储和传输。
2023-04-24 12:11:34
2776
原创 使用java代码执行exe程序并模拟用户输入参数
使用java代码执行exe程序,并在cmd命令窗口中模拟用户输入参数,让exe程序执行并返回执行结果。
2023-04-24 12:04:47
1021
原创 空间三角形顺逆时针判断方法
在计算机图形学中一个三角面的法线朝向决定了 该三角面的光照渲染等一系列的操作。在建模的时候,法线朝向也决定了建模的效果。譬如在CSG库中对模型进行布尔运算就需要模型的三角面都是法线朝外的。自定义建模则需要计算三角面的顺序,并调整三角面的顺序public boolean needChangTrangles(List<Vector3d> vertices, Vector3d refer) { boolean retHasChange = false; //求三角形的
2021-09-24 18:04:44
1023
原创 EarCut针对Polygon进行三角剖分支持多边形内含有洞
polygon triangulation如果你想对一个封闭的区域进行三角剖分譬如一个省份的行政区域进行三角剖分譬如你想对一个省份进行三角剖分,但是又需要排除点该省的某一个市的区域 那么你需要用到Earcut维基百科地址:https://en.wikipedia.org/wiki/Polygon_triangulationUsage/** * Triangulates the given polygon * * @param data is a flat
2021-02-07 14:44:50
3507
原创 openLayers加载CAD的图元数据
加载示例//渲染地图let layers = [ new TileLayer({ source: new OSM() }), new TileLayer({ extent: [-13884991, 2870341, -7455066, 6338219], source: new TileArcGISRest({ url: 'https://sampleserver1.arcgisonline.com/Ar.
2021-01-21 18:15:07
1912
原创 netDxf实现对cad文件的读取与写入
工程项目中CAD作为常用的设计软件有大量的设计数据及信息需要在项目中使用,cad文件的解析与读取变的十分重要对cad的解析,尝试过多种方式,java的读文件流 安装dxf的文件格式进行解析,费时又费力,果断还是重回C#的netDxf库。github地址:https://github.com/haplokuon/netDxf代码示例:写入dxf public static void Main() { // your DXF file nam...
2021-01-15 14:25:52
2861
原创 三维地质隧道
地质建模的几种方式1、基于CAD纵断面2、基于钻孔数据3、基于虚拟数据话不多说 先上图CAD纵断面图:CAD纵断面图生成的两层地质模型剖面图随着隧道的施工进度,往前推进2、基于钻孔数据的顶面隧道开挖效果图多层地质模型的剖面图公司介绍:成都天佑智隧有限公司联系人:本人联系方式:QQ:467164721...
2021-01-04 10:45:58
919
原创 JCSG基于java的模型布尔运算入坑指南
目前模型做布尔运算的库大多是C++或C语言的,基于java的几乎没有某日在github上找到一个java做CSG的,看了下介绍其核心算法是基于csg.js该算法翻译而来。threejs的bsp也是基于csg.jsJavaScript的好多前端的布尔运算的核心库基本上都是基于csg.js,有一定的了解,隧入坑。...
2020-12-04 10:49:52
480
原创 SampledPositionProperty控制模型沿轨迹运动
利用Cesium的SampledPositionProperty来动态控制模型的位置,达到模型沿轨迹平滑移动的目的本文中引用了第三方一个js库 turf.jsfunction initTrain() { let newPositions = [ {"x": 6358638.974849774, "y": -498978.751542005, "z": 0}, {"x": 6358638...
2020-09-25 14:19:53
6686
6
原创 Cesium批量加载gltf模型
let cameraUrl="../model/model.gltf";letnewPositions= [{"x":6358638.974849774,"y":-498978.751542005,"z":0},{"x":6358638.973079549,"y":-498978.75154201075,"z":149.5383532969183}];let instances = []; for (let i = 0; i < newPositions.le...
2020-09-25 13:46:17
2578
5
原创 cesium有地球与无地球模式切换
cesium在使用的过程中可能会出现不需要显示地球只需要显示模型的场景 这个时候就需要关闭地球function onlyModel(flag) { let viewer = new Cesium.Viewer('cesiumContainer', {}); //1.移除地形 if (flag) { terrainCommon.removeTerrain(viewer, vueInstance); } else { terrainCommo
2020-09-17 16:28:00
2642
原创 Potree使用指南
Potree为加载海量点云及其他数据提供了一个解决方案,使用potree.js对potreeConvert转换后的数据进行加载显示。PotreeConverter可以按照官网或如下方式进行编译,github上提供了相关的源码需要自己编译打包成可执行的PotreeConverter.exe,也可使用github官方提供的已编译的PotreeConverter.exePotreeConverter的github地址https://github.com/potree/PotreeConverte.
2020-07-13 21:04:09
6849
8
原创 las数据的读写及注意事项总结
1.C#使用laslib或liblas读写las数据2.Python使用laspy或pylas读写las数据3.C++使用laslib读写las数据
2020-06-28 15:56:36
8699
6
原创 Cesium中使用CesiumMeshVisualizer进行布尔运算
1、github上下载资源2、使用CesiumMeshVisualizer进行模型布尔运算3、输出计算效果并与threeBSP进行对比
2020-05-22 15:17:57
2421
1
原创 Cesium之las数据生成3dtiles并选取单个点云
1.las数据转化成3dtiles(pnts)2.cesium加载3dtiles3.依据可视域与相机的距离动态调整点云点的大小4.点击某一点云,通过读取该点云所在的tile块的原始数据(pnts),解析pnts中的点云的点 并计算cesium点选的那个点与pnts中点云集中最近的那个点即为被选中的点5.输出选中的点云点的属性信息(如 xyz,强度等)...
2020-05-21 14:24:40
8790
12
原创 基于钻孔数据的地质体建模
一. 导入钻孔数据二.通过kriging插值生成虚拟钻孔三.使用真实钻孔与虚拟钻孔数据,生成基于GTP的三维地质模型
2020-05-21 11:22:19
4978
9
原创 基于CAD纵断面图生成地质体模型
1.通过java读取cad图元数据2.分析出图元数据中的地层分界线与及地层分界线之间的地层代号等地层信息3.沿线路隧道走向 向两侧扩展一点宽度4.依据地形与地层分界线生成一个区域的三维地质模型5.基于广义三棱柱(GTP)生成可用于有限元分析的四面体模型...
2020-05-21 11:22:08
1053
原创 cesium之3dtiles数据规范及在点云数据上的应用
由于点云数据的量非常大,cesium在显示海量数据的时候就非常的吃力,因此需要用到3dtiles。3D Tiles=lod+gltf,专门为大量数据流式传输和海量渲染而设计的一种格式。点云格式主要有一下几种1.b3dm(批量3D模型) 大型异构3D模型,包括三维建筑物、地形等2.i3dm(实例3D模型) 3D模型实例,如树、风力发电机等3.pnts(点云) 点云数据其中b3...
2020-05-20 22:33:40
2719
原创 objTo3d-tiles的使用
将obj模型转换为3DTiles的Node命令行工具以及Node模块,基于obj2gltf。1、确保已经安装Node,然后npminstall-gobj23dtiles2、有多种用法a.转换.obj为.b3dm,同时导出默认的属性表(一个JSON文件)。可以从这个表中获取相关信息以便制作自定义属性表。obj23dtiles-iD:...
2020-04-24 20:40:50
3252
原创 kriging插值在web端的应用含kriging.js下载地址
1.在项目的过程中往往由于用户提供(或自己搜集)的原始数据数据量不够,作出的一些曲线效果或者gis效果达不到效果,此时需要使用插值的方式完善数据,提升效果本文主要讲述web端克里金插值的使用步骤kriging.js 是一个Javascript库,它通过kriging算法提供空间预测和映射能力。github地址:https://github.com/oeo4b/kriging...
2020-04-14 21:52:31
2783
1
原创 d3.js svg 中zoom的开启与暂停
d3.js zoom使用的高级进阶 一、应用场景描述假设我们在绘制svg图形的时候,需要将一个地方放大后再添加一些图标或者拖拽图标到其他位置的时候,我们需要先将svg通过放大与平移操作找到svg上的图标,然后拖拽某一图标到其他位置。然后继续通过缩放与平移操作找到其他的图标继续执行拖拽功能。此时在这一系列的操作上就存在两个主要功能。1、svg的zoom功能,包括scale与translate功能2、...
2018-02-08 16:30:13
3551
1
Cesium.rar
2020-10-27
echart markArea.rar
2019-07-11
D3.js SVG进阶
2018-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人