DasViewer V3.3全新升级 | 新增点云数据浏览、点云关联全景照片、3DTiles在线数据浏览...

近日,DasViewer迎来3.3版本更新,新增点云数据浏览展示、点云关联全景照片、3DTiles在线数据浏览等功能,为用户带来多源数据可视化极速浏览全新体验。

一起来先睹为快↓

新增功能

1,点云数据浏览

在新版本中,DasViewer增加了点云数据浏览功能,支持.las和.xlas等多种数据格式,可将实景三维模型与点云数据叠加展示。同时支持真彩色、强度、高程三种点云显示模式,以及点云大小、点云密度、点云透明度调整功能。

· 点云与模型数据叠加展示

用户可以导入同一坐标系的点云与实景三维模型数据,实现点云与模型叠加展示,实现不同类型的数据浏览。

图片

实景三维模型叠加点云数据展示-大势智慧总部大楼

· 真彩色、强度、高程三种显示模式

真彩色显示:

如果点云数据包含RGB颜色信息,可以在DasViewer中选择真彩色模式显示,直观地展示场景的真实颜色,点云数据更加生动和具有现实感,能够帮助用户更快速准确地识别和分析目标,提高数据的可视化效果和分析准确性。

图片

强度显示:

在DasViewer强度模式下,点云数据的每个点都根据其回波强度进行着色,可以帮助用户了解目标物体的反射特性,进行更深入的数据分析、目标识别和定量测量。

图片

高程显示:

高程模式以点的高度(Z坐标)为基础进行着色。通过高程显示,可以直观地呈现地表或物体在垂直方向上的位置信息,帮助用户理解地形、地貌或物体的高度变化情况,进行地图制图、地形分析、建筑物高度评估、三维建模等应用。

图片

·点云大小、密度、透明度——灵活调整

新版本支持对点云及叠加在实景三维模型上的点云数据进行大小、密度及透明度的调整,调节结果实时展示。

图片

图片

大小:调节视图中点云的大小,使点云细节展示更为清晰

图片

图片

密度:调节点云密度,展示或隐藏清晰的几何信息

图片

图片

透明度:调节透明度,让点云显示更具穿透性

2,点云关联全景照片

通过将点云数据与全景照片关联,用户可以直接在点云数据中查看对应场景的全景照片,帮助用户更好地理解和分析点云数据,提高数据处理效率和准确性。

在菜单栏点云图层中右键选择“关联全景照片”,选择照片、姿态文件(支持txt、csv、bin格式)后,即可在展示视图中进行照片联动。

图片

升级后的DasViewer可以直接关联智影R100手持SLAM三维激光扫描仪的工程文件,也可使用第三方相机的全景照片(目前支持四元数方式)。需注意的是,用户在使用第三方相机关联全景照片时,需设置全景照片参数信息,选择照片位置、姿态文件、相机坐标轴向、姿态参数关联即可。

图片

PositionX、PositionY、PositionZ表示全景照片中心点坐标;

RotationX、RotationY、RotationZ、RotationW表示全景照片旋转方向;

3,EyeDomeLight显示模式

3.3版本中,DasViewer支持用户选择EyeDomeLight显示模式,便于观察点云的局部细节与轮廓。

4,3DTiles在线服务数据浏览

过去,大规模的三维地形、建筑和点云数据往往需要下载至本地进行浏览查看。现在通过DasViewer V3.3,用户只需一键粘贴3DTiles在线服务URL,即可直接访问数据,省去下载步骤,让数据浏览更便捷。

图片

重点优化

·水印设置功能及界面优化

支持用户自定义水印字体及大小,以满足不同场景数据的版权需求和模型美观度要求。

问题修复

· 加载多分幅数据时可能出现的影像图层错位问题;

· gltf2模型加载时偶现无法显示的问题

目前,DasViewer V3.3已上线大势智慧官网,您可点击此处前往免费下载使用,也欢迎您与我们反馈产品相关意见,帮助我们优化您的使用体验!

可以按照以下步骤来实现全景视频: 1. 安装three.js和vue-threejs插件: ``` npm install three vue-threejs --save ``` 2. 在Vue组件中引入three.js和vue-threejs插件: ```javascript import * as THREE from 'three' import { VueThreeJS, Object3D } from 'vue-threejs' ``` 3. 在组件中定义场景、相机和渲染器: ```javascript export default { components: { VueThreeJS }, data () { return { scene: new THREE.Scene(), camera: new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight, 0.1, 1000), renderer: new THREE.WebGLRenderer() } } } ``` 4. 在mounted钩子中初始化渲染器并将其添加到DOM中: ```javascript mounted () { this.renderer.setSize(window.innerWidth, window.innerHeight) this.$refs.container.appendChild(this.renderer.domElement) } ``` 5. 加载全景视频并创建球体展示: ```javascript const texture = new THREE.VideoTexture(video) texture.minFilter = THREE.LinearFilter texture.format = THREE.RGBFormat const sphereGeometry = new THREE.SphereGeometry(500, 60, 40) const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture }) const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial) sphere.material.side = THREE.BackSide this.scene.add(sphere) ``` 6. 创建灯光: ```javascript const ambientLight = new THREE.AmbientLight(0xffffff) this.scene.add(ambientLight) const directionalLight = new THREE.DirectionalLight(0xffffff, 0.5) directionalLight.position.set(0, 1, 0).normalize() this.scene.add(directionalLight) ``` 7. 在animate函数中更新场景和相机: ```javascript animate () { requestAnimationFrame(this.animate) this.renderer.render(this.scene, this.camera) } ``` 完整代码示例: ```javascript <template> <div ref="container" style="width: 100%; height: 100%;"></div> </template> <script> import * as THREE from 'three' import { VueThreeJS, Object3D } from 'vue-threejs' export default { components: { VueThreeJS }, data () { return { scene: new THREE.Scene(), camera: new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight, 0.1, 1000), renderer: new THREE.WebGLRenderer() } }, mounted () { this.renderer.setSize(window.innerWidth, window.innerHeight) this.$refs.container.appendChild(this.renderer.domElement) const video = document.createElement('video') video.src = 'path/to/video.mp4' video.autoplay = true video.loop = true const texture = new THREE.VideoTexture(video) texture.minFilter = THREE.LinearFilter texture.format = THREE.RGBFormat const sphereGeometry = new THREE.SphereGeometry(500, 60, 40) const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture }) const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial) sphere.material.side = THREE.BackSide this.scene.add(sphere) const ambientLight = new THREE.AmbientLight(0xffffff) this.scene.add(ambientLight) const directionalLight = new THREE.DirectionalLight(0xffffff, 0.5) directionalLight.position.set(0, 1, 0).normalize() this.scene.add(directionalLight) this.camera.position.set(0, 0, 0.1) this.animate() }, methods: { animate () { requestAnimationFrame(this.animate) this.renderer.render(this.scene, this.camera) } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值