在这个项目里面想用Three.js做出一个点云三维模型,之前有用cesium做的三维点云模型,但是cesium对点云数据的处理不让Three.js这样强大,所以启用Three.js进行点云的可视化,框架用VUE的框架,用JavaScript语言在前端平台制作这么一个点云三维模型可视化项目。
1、先简单介绍一下Three.js,就是一个可视化开发的API,是一个开源的类库,有很强的计算机几何数据处理的能力。它由五部分组成基本的视图结构,之后可以在基础视图上添加内容,达到自己想要的效果,我之前并不了解Three.js,是在CSDN上查阅资料学习的,这个博主写的很好,网页在此: 第十一节:点云Point Cloud(第4部分,Three.js加载.pcd点云实例)【Three.js整理】_web搅拌机的博客-CSDN博客_threejs 点云模型
搭建一个Three.js的场景,需要五个部分构成:场景Secnce、相机camera、渲染器renderer、创建的内容和动画animate。这些是必须要有的,每一个Three.js的场景都需要这些基础部分构成。
除此之外,一个复杂的场景还有控制器、灯光、调试插件、状态等各种部分:
场景是Three.js的核心,你创建的所有内容和所有的相机、调试插件、状态等都要在Sence里添加;相机决定了屏幕显示的视角;渲染器是为了把内容渲染到屏幕上;动画是为了使渲染器循环渲染内容。
而控制器是为了鼠标以什么样的速度,什么样的方式控制这些内容的显示、旋转、缩放;灯光是场景内以什么样的灯光照射在物体上;调试插件是为了不依靠修改代码,在场景内就可以改变内容;状态是显示当前渲染的FPS;重中之重的是创建的内容,Three.js的丰富的API和开发帮助都可以用不同的数据创建不同类型的物体,有gltf格式、ply格式、mesh等等,调用不同的接口就可以使用不同的数据创建内容了。
这是three.js搭建的效果图:
前面的是mesh,后面的是points,注意:Three.js在开发过程中最难受的是它不同版本的一些接口、关键类会有重大的变化,改名、改写甚至有的环节很重要的接口在版本更新之后就找不到了,这些都很影响代码。