- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 解读——SuperMap iClient3D for Cesium使用柱体截面绘制河流
综上所述,通过使用圆的参数方程和给定的半径参数,我们可以计算出圆形截面的每个顶点的x和y坐标。这些坐标将用于创建多段线体积的截面形状。computeCircle方法是生成一个圆形截面的顶点位置数组,用于创建多段线体积的截面形状。其中,(x, y)是圆上的一个点,θ是该点与圆心的连线与x轴正方向的夹角。弧度 = 角度 * (π / 180)首先,我们需要了解一些基本几何概念:-将截面设置为面片模拟河流。
2024-01-31 14:48:33
799
原创 cesium——加载3DTiles,模型的选中,高亮效果
这种切片和分层的方式使得数据可以根据需要按需加载,从而降低了网络传输和计算资源的需求。它的开放性和普及性使得很多GIS软件和服务已经支持3DTiles标准,从而为用户和开发人员提供了丰富的工具和资源。使用3DTiles,开发人员可以加载和呈现各种地理数据,如建筑物、地形、植被和其他点云数据等。3DTiles是一种用于组织和传输大规模地理数据的规范,旨在提供一种高效、可扩展的方式来加载和显示复杂的3D模型。总之,3DTiles为地理数据的可视化和交互提供了一种全新的方式。
2023-07-21 10:55:27
4365
1
原创 计算几何——gitf-wrapping算法
请注意,该算法的时间复杂度是O(nh),其中n是点的数量,h是凸包的顶点数。此外,如果有多个点具有相同的最小极角,可以选择距离最远的点作为下一个顶点,以避免出现重复的顶点。4. 遍历所有未被访问的点,计算当前点到每个未访问点的极角(相对于水平轴的夹角)。5. 找到具有最小极角的点R,将其标记为下一个顶点,并将其添加到凸包的顶点集合中。3. 从当前点开始,选择一个未被访问过的点Q作为下一个顶点,并将其标记为当前点。2. 将P标记为当前点,并将其添加到凸包的顶点集合中。6. 将R作为新的当前点。
2023-06-29 17:39:58
475
原创 java常见注解
需要特别注意的是,由于使用`@Data`注解会自动生成所有的常用方法,这包括`equals`和`hashCode`方法。如果在实际应用场景中需要重写`equals`和`hashCode`方法以满足自定义的业务需求,建议使用`@EqualsAndHashCode`注解和`@Override`注解分别替代`@Data`注解中生成的方法。`@Data`是一个Lombok注解,它用于自动生成类的常用方法,如`toString`、`equals`、`hashCode`、`Getter`和`Setter`等。
2023-06-29 11:00:08
581
原创 Covex combination和affine combination
在仿射组合中,不同权重的向量按照权重进行线性加权求和,得到一系列点的平均值或加权平均值。也就是说,对于给定的一组向量或点集合,通过调整每个向量的权重,可以通过凸组合的方式得到该点集合内的任意一个点。这些例子只是为了说明概念。因此,通过仿射组合,我们得到了一个新向量 [2.2, 3.2],它是向量 a 和向量 b 的线性加权平均值。因此,通过凸组合,我们得到了一个新向量 [2.4, 3.4],它位于向量 a 和向量 b 之间。当我们有两个向量 a 和 b 时,我们可以通过凸组合和仿射组合来生成新的向量。
2023-06-28 10:20:19
524
原创 4528坐标系
该坐标系采用的是克吕格投影,中央经线为 120°,贴片范围为 102°E-126°E,纬带范围为 0°-60°N,自西向东每 3°或 6°为一带,纬带宽度为 3°或 6°,并以 0°为地理起算经线。4528 坐标系是中国国家标准中确定的大地坐标系,也称为 1975 年版“国家基准坐标系”或“1975 国家坐标系”,其地理坐标系名称为“Xian 1980”,也被称为“西安 1980 坐标系”。- λ_0 是中央经线经度;- X,Y 是投影坐标;- B,λ 是经纬度;- e 是椭球偏心率。- C 是缩放因子;
2023-05-26 17:53:03
1954
原创 cesium加载4528投影坐标
具体来说,你需要修改的是 ArcGisMapServerImageryProvider 的构造函数中的 url 参数,将其修改为具有空间参考 4528 的 ArcGIS 服务 URL。需要注意的是,以上代码中假设该 ArcGIS 服务的 URL 为 'http://gis.server.com/arcgis/rest/services/ImageryService/ImageServer',空间参考为4528,格式为jpg。请根据具体情况进行修改。
2023-05-25 17:45:39
982
2
原创 5种div 内容水平垂直居中方法
以上五种方法都能实现 div 中内容的水平垂直居中,具体使用哪种方法可以根据具体的项目需求和适用场景来决定。容器中的内容水平、垂直居中。容器中的内容水平、垂直居中。容器中的内容水平、垂直居中。容器中的内容水平、垂直居中。容器中的内容水平、垂直居中。
2023-05-25 14:38:05
20903
1
原创 div 随着内容撑开
将父元素设置为 display: flex,并使用 flex-direction: column 让子元素纵向排列。父元素设置为 display: table,子元素设置为 display: table-cell,父元素将会自动适应子元素的高度。将父元素设置为 display: grid,使用 grid-template-rows: auto 让子元素按照内容自动撑开,而不是在网格中固定高度。将父元素设置为 overflow: hidden,内部子元素将以正常方式撑开,但是父元素将隐藏溢出的部分。
2023-05-25 13:42:46
7724
原创 cesium——源码解读相机飞行
三个工具方法,分别计算欧拉角的yaw、pitch和roll值。这段代码实现的是将摄像机的方向向量和上方向量转换为欧拉角(heading、pitch、roll)。具体做法是:先根据当前摄像机位置和地球椭球体,计算出将东北天坐标系转换为固定坐标系(fixed)的变换矩阵。这样做的目的是为了确保欧拉角的计算是相对于场景的东北天坐标系的。进行转换,使它们相对于场景的东北天坐标系(east-north-up)。最后将计算出的yaw、pitch和roll值存储到。首先将摄像机的方向向量和上方向量分别存储到。
2023-04-23 15:17:08
728
原创 cesium——相机飞行定位原理
参数时,相机需要在飞行过程中既要到达目标位置,又要按照指定的朝向进行旋转。这个问题可以通过计算相机的旋转矩阵来解决。参数设置为旋转矩阵Rf,即可实现相机在飞行过程中保持朝向不变的效果。参数时,相机以当前位置为起点,沿着指定的朝向方向飞行。参数时,相机保持当前朝向不变,直接飞往目标位置。Cesium飞行定位方法中,参数设置为目标位置P1,将。
2023-04-23 14:41:34
1343
原创 透明与不透明物体共存
由于深度缓冲区的存在,不透明物体后面的物体,即使半透明的也不会显示,这是因为深度缓冲区的写操作被锁定了,所以在绘制不透明物体前面的透明物体时,也不会更新深度缓冲区。当我们按照上述步骤同时绘制透明和不透明物体时,在第一步和第二步结束后,所有不透明的物体都正确地绘制在了颜色缓冲区中,深度缓冲区记录了每个像素(最前面的片元)的深度。这样,当绘制完成时,颜色缓冲区中的所有像素都是最前面的片元,而且每个像素的z值都存储在深度缓冲区中。注意,所有这些操作都是在片元层面上进行的,所以如果两个面相交,也可以正常显示。
2023-04-23 14:11:08
413
原创 cesium——飞行定位
Cesium的飞行定位,主要通过Viewer、Camera这两个类实现的。其中这三个方法会有一个飞行动画的效果,所以会有飞行持续时间参数duration,默认是3秒。
2023-03-07 10:20:38
8058
原创 cesium——地形开挖
Globe类提供了removeAllExcavationRegion方法,可移除开挖面(这里还可以通过选用removeAllExtractRegion方法实现地形抽出显示效果)。注意地形开挖与地形修改的区别。
2023-03-06 09:05:50
2422
3
原创 图形学相关理论(shader)
仿射变换(affine transform)就是合并线性变换和平移变换的变换类型。仿射变换可以使用一个4x4的矩阵来表示,为此,我们需要把矢量扩展到四维空间下,这就是齐次坐标空间(homogeneous space)此外:旋转变换,绕不同轴的顺序结果也不一样,untity是zxy。注意:先缩放再旋转最后平移。
2023-03-03 15:21:01
94
原创 Cesium——PICK不同使用场景
拾取有多个方法,下面比较pick的不同使用场景pick方法参数场景ps鼠标位置拾取EntityPrimitive3D-Tiles对象只能获取一个对象,并且获取的是最顶部的对象鼠标位置拾取点击模型表面的Cartesian3坐标一定要开启深度检测鼠标位置获取所有对象的对象列表entity集合),列表按其在场景中的视觉顺序(从前到后)排序drillPick可以设置limit参数,限制获取的对象个数射线找到射线与渲染的地球表面之间的交点。
2023-03-02 16:22:55
1619
2
原创 线性代数——行列式
5.若行列式的某一行(列)的元素都是两数之和,例如第i行的元素都是两数之和。性质3 行列式的某一行(列)中所有的元素都乘同一数,等于用数k乘此行列式。推论:行列式中某一行(列)的所有元素的公因子可以提到行列式记号的外面。行列式的某一行(列)中所有的元素都乘同一数,等于用数k乘此行列式。4.行列式中如果有两行(列)元素成比例,则此行列式等于0。推论:如果行列式有两行(列)完全相同,则此行列式等于0。推论 如果行列式有两行(列)完全相同,则此行列式等于0。对换行列式的两行(列),行列式变号。
2023-02-15 16:53:23
680
原创 js算法——一串数字生成连续的数字
如果连续数字的话,就取连续的第一个数和最后一个数,中间用~隔开。如果不连续就用,隔开。输入:1,2,3,4,5,7,8。输出:1~5,7~8。
2023-02-15 10:34:58
603
原创 cesium——根据观察点、方向、距离,计算下一点
以position为原点建立局部坐标系。下一个点=点*方向*距离。根据角度,计算旋转方向。
2023-02-02 14:38:03
1209
3
原创 【官方】cesium结合threejs
例如,可以使用3D Graphing类来渲染在Three.js中创建的3D绘图对象网格,或使用Three.js创建的任何其他3D对象。因为Cesium和Three.js都是用于3D可视化的,并且都是用JavaScript从头开始构建的,所以它们具有相似之处,可以将这些惊人的库集成在一起。我们将克隆Three.js相机以匹配Ceium相机,因此不需要为Three.jss分配鼠标控制器,但我们仍然需要删除它,因为Three.jsDOM元素位于Ceium之上。Three.js是一个用于渲染3D对象的强大3D库。
2023-02-02 10:23:30
3575
原创 倾斜摄影分层分户数据制作
倾斜摄影分层分户数据制作_supermapsupport的博客-优快云博客SuperMap iClient3D for WebGL教程之分层分户_supermapsupport的博客-优快云博客
2022-11-01 13:54:22
318
原创 cesium 绘制面贴地形,超过一定高度面出现不完整现象
解决方案:修改Cesium中的asset/approximateTerrainHeights.json文件。在地形上,绘制面状贴地数据 ,超过一定高度后图形消失;找到对应地形的瓦片地址,如图上6-105-23,
2022-09-23 11:00:18
1323
原创 openlayer——图片重投影
由'EPSG:27700'投影到'EPSG:3857'main.jsimport 'ol/ol.css';import Map from 'ol/Map';import OSM from 'ol/source/OSM';import Static from 'ol/source/ImageStatic';import View from 'ol/View';import proj4 from 'proj4';import {Image as ImageLayer, Til...
2022-05-06 08:42:09
349
原创 三维服务的缓存机制
为提高三维数据应用的整体性能,在使用前需要先对数据进行预处理,即创建分层缓存。例如:对影像数据进行预处理,即将影像数据简化成不同分辨率图像的集合,通过重采样方法,建立一系列不同分辨率的图层,每个图层分割存储,并建立相应的空间索引机制,从而提高缩放浏览影像时的显示效率。因此,加载在三维场景中的数据推荐使用三维缓存数据而不是原始数据。对于 SuperMap iServer 的 三维服务来说,三维场景浏览时服务端向客户端传输的数据量更大,因此同样需要缓存机制来提升客户端访问效率。缓存机制SuperMa
2022-04-02 14:02:42
1594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人