摘要: BufferAttribute BufferGeometry InstancedBufferAttribute InstancedBufferGeometry InstancedInterleavedBuffer InterleavedBuffer InterleavedBufferAttribut 阅读全文
posted @ 2024-04-16 12:13 李煎饼_GISer 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 本节主讲相机的Heading\Pitch和Roll。 Cesium的相机主要是通过局部坐标的偏航角、俯仰角和翻滚角确定相机姿态的。 上一节我们知道,Cesium在获取这三个角度的时候,会将以地球球心为原点的地心地固坐标ECEF转为ENU东北天坐标系,ENU坐标系中,X轴指向正东,Y轴指向正北,Z轴指 阅读全文
posted @ 2024-03-26 18:25 李煎饼_GISer 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Cesium相机内部保存着相机的基本信息,主要有以下几个属性: _transform:对外只读,变换矩阵 _invTransform:对外只读,变换矩阵的逆 _actualTransform:对内,实际变换矩阵 _actualInvTransform:对内,实际变换矩阵的逆 position:对外, 阅读全文
posted @ 2024-03-26 09:09 李煎饼_GISer 阅读(25) 评论(0) 推荐(0) 编辑
摘要: THREE.js中控制物体的显隐有多种方式,在不考虑使用材质、剖切等使用着色器的方式控制显隐的情况下,还有两种代码级别的方式,或者说通过物体的属性,可以控制显隐。 一种是使用Object3D基类的visible属性。当visible设置为true时,物体显示,当visible设置为false时,会跳 阅读全文
posted @ 2024-03-20 09:22 李煎饼_GISer 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Cesium的tilingScheme Cesium的tilingSchme决定了瓦片的组织方式。内部实现了两种tilingScheme方式:GeographicTilingScheme和WebMercatorTilingScheme。 tilingScheme类有以下一些成员变量 ellipsoi 阅读全文
posted @ 2024-02-29 16:04 李煎饼_GISer 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 二维向量的基础运算主要有以下几种 矢量的加法 矢量的减法 矢量的乘法 矢量的除法 矢量的模 矢量的点乘 矢量的叉乘 矢量的归一化 针对不同的场景,我们为二维矢量类提供对应的实例方法,但是由于这些实例方法会修改对象内部的数值,因此还提供对应的静态方法,在不改变原来的向量的情况下,返回一个新的向量。 1 阅读全文
posted @ 2024-01-25 18:22 李煎饼_GISer 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 本系列文章主要使用typescript手动实现GIS算法,其目的并不在于能够在正式生产中直接使用,而是可以通过对这些算法的实现,了解一些GIS方法的具体原理。本系列文章一定程度上与计算机图形学关系密切,也可以更好地了解图形学中相关知识点。 本文作为本系列文章的第一篇,首先实现一些基础的几何实体的构造 阅读全文
posted @ 2024-01-25 18:20 李煎饼_GISer 阅读(3) 评论(0) 推荐(0) 编辑
摘要: # Cesium地形数据解析 Cesium地形数据采用了一种扩展名为`.terrain`的二进制文件结构,该结构为`quantized-mesh-1.0`格式的、简单多重采样的四叉树金字塔结构。每个瓦片的地形数据包含了当前瓦片的顶点信息、三角网信息、索引信息以及扩展信息等。访问每个瓦片的服务地址为: 阅读全文
posted @ 2023-07-26 20:42 李煎饼_GISer 阅读(288) 评论(0) 推荐(0) 编辑
摘要: # 清除缓冲区并绘制图形 前文中已经准备好了webgl程序和绘制所用的数据,但是在绘制图像之前,还要对画布进行处理。 ## 清除缓冲区 由于图像的绘制是一帧一帧绘制,每一帧针对当前的状态,计算屏幕上每个像素的颜色,得到最终的绘制结果。这些状态被保存在一个叫帧缓冲区的地方。帧缓冲区不仅能存储颜色数据, 阅读全文
posted @ 2023-07-24 13:33 李煎饼_GISer 阅读(101) 评论(0) 推荐(0) 编辑
摘要: # 获取shader变量地址及赋值 上一节创建了WebGL程序对象,创建好program对象后,对象中包含顶点着色器和片元着色器,着色器中含有变量,我们需要对其进行赋值后才能够进行绘制。 着色器代码如下: ```javascript const VSHADER_SOURCE = /* glsl */ 阅读全文
posted @ 2023-07-24 13:32 李煎饼_GISer 阅读(24) 评论(0) 推荐(0) 编辑