- 博客(113)
- 资源 (8)
- 收藏
- 关注
原创 el-tree动态添加子节点的问题
如果我们需要动态往el-tree里面某一个节点添加子节点,追加或删除,我跟你讲,一定要显式地调用el-tree的方法,不然的话,后面调用setChecked这种方法看不到效果的。这时候,如果你没有显示地调用el-tree的append方法的话,页面当中的el-tree仍然会正常地显示新加元素,于是我还以为好了呢。[{id:"1“,label:"父1”,children:[id:“1-2”,label:“子”,children:[]]}][{id:"1“,label:"父1”,children:[]}]
2024-07-18 15:51:06
1110
1
原创 基于Cesium的日照覆盖率分析
基于Cesium的日照覆盖率分析,成果录屏如下,其中以冬至日为分析日期,越接近红色代表日照覆盖率越高,越接近蓝色代表日照覆盖率越低。
2023-10-19 15:13:59
847
3
原创 用简单例子讲清楚webgl模板测试
通过实践,我发现模板测试是这样的一个思路,总结如下:在各种绘制语句之前加入一些配置项,这些配置项的目的是修改stencilbuffer以及决定这次的绘制是不是能通过模板测试,因为只有通过模板测试和深度测试的片源才能最终被绘制出来,而修改后的stencilbuffer里面的值会影响下次绘制是否能通过模板测试,所以模板测试并不会修改绘制出的东西的颜色啥的,他是一种高级裁剪。
2023-09-26 20:12:00
720
1
原创 Cesium 3dtileset Clip&Cesium 3dtileset Flatten
cesiumbased_clipCesium 3dtileset flattern
2023-07-03 10:08:07
171
1
原创 Cesium Material Fire
Cesium material fireCesium Material fire2Cesium material fire3Cesium Material fire4
2023-06-21 17:09:11
228
原创 cesium中绘制面片
在cesium平台上绘制面片,可以实现颜色的rgb随高度渐变,网格间隔数,网格大小,高度范围自定义,并且使用样条曲线公式进行了平滑处理,可自定义样条数量,实现任意阶数的二维样条曲面自动构建。
2022-11-14 16:45:29
1576
2
原创 cesium3dtiles自定义shader的实现之一
cesium自定义的shader实现改变3dtiles显示,感觉还行吧。但纯粹是误打误撞的,瞎调的参数,shader真是个神奇的东东啊。
2021-11-19 15:21:17
5050
4
原创 记录一些学习资料
按照《3D》书中的资源链接,在此整理一些学习资料,后续更新,所有的书籍或者文章看起来都挺耗费时间,只是列入书单,因为许久之前的书单正在阅读,等阅读完后才能提上日程:Real-Time Rendering :http://www.realtimerendering.com/Interactive Computer Graphics还没找到Opengl Shading language 已经下载pdf,还没看有个网站:http://www.neubert.net/...
2021-10-06 11:46:31
213
原创 《3D Engine Design for Virtual Globes》第四章笔记
第四章属于基础理论中的最后一章,大致且完整第介绍了球面绘制算法的简洁版本。其中包括椭球体的三角格网曲面细分,并将书中提倡的多次迭代方法和传统的圆心角细分、cube细分方法进行了对比。指出提倡方法的好处,为了便于理解,我自己实验了一下该方法,多次迭代效果见博客链接:用四面体中点三角网迭代法进行椭球体曲面细分的实践还包括shading(渲染部分),包括椭球体贴纹理,混合黑暗夜景球纹理和白天纹理实现白天黑夜不同渲染,主要经线和纬线的高亮显示实现方法。最后又加入了一个ray casting细分方法,该方法的核
2021-10-06 11:12:24
305
原创 用四面体中点三角网迭代法进行椭球体曲面细分的实践
按照《3D Engine Design for Virtual Globes》书上4.1.1和4.1.2中介绍的方法,使用webgl从头到尾撸一波,效果如下(录制gif分辨率问题请忽略其中阴影线):迭代层数为0(原始四面体):迭代次数为1:迭代次数为2:迭代次数为3:迭代次数为4:书中说到4已经可以了,但是我觉得到5还是有区别,更加圆,但是5以后确实看不到什么区别了,迭代次数为5:方法大致思路是:1.用四个点绘制一个四面体:2.对四面体每条边取中点投影到椭球体上,对于每个三角
2021-08-28 13:30:56
438
原创 js输出数组全排列代码
/** 输出字符串全排列* 例如:* 入参:abc* 出参:abc acb bac bca cab cba* */function main() { let ttt=getquanpailie("abcd"); console.log(ttt);}function getquanpailie(str) { let strlist=[]; for(let i=0;i<str.length;i++){ strlist.push(str[i]
2021-08-01 13:40:32
519
原创 垂直滚动条挤占子元素宽度的解决方法
html如下所示:假设子元素的高度超过的父元素的自定义高度,那么父元素会出现垂直滚动条,但是这里的垂直滚动条会占用子元素的原本的宽度空间,导致子元素内部的元素排列混乱,解决这个问题的方法:.father{overflow-y:overlay;}这样就可以了,简单吧,正因为简单,所以要记录下来,防止以后忘记了。...
2021-07-27 17:13:09
1005
2
原创 vue forceupdate强行刷新组件
先记录,如果我在一个页面里面用到了类似el-checkbox并且绑定了v-model,然而这个model所属绑定的对象是动态生成的,也即是说,该对象的并不是在data中定义过的,于是vue会出现一种坑爹情况:也就是你更新了model,而页面却没有任何改变,原因在于vue没有监测该对象,所以这里使用 this.$forceUpdate();在model改变后强行让vue刷新一遍。...
2021-06-25 15:05:05
504
原创 Cesium开源water材质和粒子效果示例代码研究
文章目录关于本文的说明水特效水特效示例代码水特效属性设置说明水特效实际应用代码火特效火特效实现代码位置的设置重力(Gravity)的控制粒子喷射间歇的强度的控制其他属性设置总结感想关于本文的说明 最近看到国内一位cesium大牛的博客,讲材质material(材质)的,于是对照源码看了下,发现很有研究的意义,首先,源码的项目搭建用的是dojo,所有的样式业务绘制前端都是良好分离,关键是不存在多份拷贝,方便调试,相较于傻瓜式且过度模块化封装的vue而言,这点好很多,不过这些不是本文的重点,本文涉及到的水
2021-05-30 07:50:38
5409
1
原创 读书笔记随感
看《3D Engine…》一书突然冒出来一个问题,为嘛顶点出现缓冲区而Uniform就没有,可能有些引擎为了优化啥的针对后者建立了缓冲区,但少,为什么呢?后来一想,估计是在应用中顶点是很多的而后者是在逐顶点渲染中保持不变的很少数量,所以才这样的吧,建立缓冲区的好处是可以建立索引,然后减少每个顶点的开销,估计是这样吧。...
2021-04-27 18:47:02
134
原创 《3D Engine Design for Virtual Globes》3.5.1节 学习笔记
opengl标准参照网页:https://www.khronos.org/registry/OpenGL-Refpages/gl4/ 书中3.5.1节中记录了VertexBuffers的一些实现。在C#的示例代码OpenGlobe中以VertexBuffer类存在,抽象类,书中列举了一张图对比VertexBuffer和IndexBuffer: 都是从SystemMemory中读取或写入原始二进制数据,区别是前者没有Datatype,后者有,在示例代码中,datatype有两种UnsignedS
2021-04-26 08:29:31
485
原创 cesium加载超图iserver发布的map对其中子layer实现单独控制显隐的实现
使用超图的iserver发布了多个map图层,每个map中包括多个layer子图层,然后我们尝试使用iClient For WebGL去加载这些图层,于是使用SuperMapImageryProvider去加载单独的map,需求是既能够单独控制map的显隐,也能够单独控制layer的显隐。 单独控制map显隐的方法是加载完成后设置图层的show属性即可,立即生效。然而单独控制其中layer的显隐,试了试其中的setLayerStatusParameters方法,发现虽然能够实现,然而却不能立即生效
2021-04-22 16:25:25
1496
2
原创 关于el-tree左侧展开指示小图标自定义的方法
在el-tree中,其左侧有个小小的指示是否折叠的图表,要是想自定义这个图标,又能用它原来的动画效果,怎么办呢?这里只需要指定el-tree的icon-class属性为我们自定义的class名称,然后我们在自定义的class中写css样式,类似这种: background:url(".*****.svg/png/..."); width:16px; height:10px; padding:0px; box-sizing:
2021-04-19 14:22:38
4217
原创 设置前端元素失去焦点的方法记录
假如在前端vue界面中有一个元素,假设是checkbox吧,被点击后自动获取焦点,只读属性document.activeElement指向该元素,然而要想让它失去焦点,除非点击一个别的能自动获取焦点的元素,比如input之类,要不然就无法做到,好像这些能自动获取焦点的元素是有什么优先权似的,凌驾于其他千千万万普普通通的div至上,且占座完后还不礼貌地让开,真是不够绅士。为了让它能够文明一点,有个小小的方法就是,在其他普通的div中,定义tabindex,随便定义其值是多少,于是在你需要让这些自以为是的家伙
2021-03-12 15:53:42
2088
1
原创 Object.prototype.toString研究
使用Object.prototype.toString方法判断function是否为方法。比如:function f(){}console.log(Object.prototype.toString.call(f);以上代码则会打印:[Object Funtion]之所以不用:f.toString(),是因为后者会重写对应的toString方法,实际上大多数js对象都会重写该方法,比如,方法本身的toString方法重写后则直接输出方法内容本身。function fn(){consol
2020-12-31 18:39:19
290
原创 一次闭包缓存示例程序理解记录
闭包缓存功能程序理解分析偷空看一本讲Javascript的书,里面有一个关于用闭包记录函数缓存的程序。第一次看过去发现绕得很,本来想大致在头脑中留个印象就直接放过去,等以后要用再回头理解,但后来觉得还是认真消化一下比较好,于是稍微分析了一下,在此记录理解过程。程序选自《Secrets of the JavaScript Ninja》示例代码5.14Function.prototype.memoized=function (key) { this._values=this._values||{};
2020-12-28 19:50:32
137
原创 cesium莫名其妙报render normalize错误问题解决
这又是一次依靠直觉解决bug的经历,由于不会吹牛皮,所以一直从事一线开发,bug排查,扫坑工作,名副其实的搬砖一枚,哈哈,虽然刚开始很累,说出来也没觉得高大上,感觉技术也没什么提升,但是正是由于没多少人愿意做,反而有个自由自在没多少人指手划脚的环境,时间久了,倒是内心乐意起来,日积月累,竟然形成了一种排查bug的直觉,或者说是第六感吧,已经多次从中受益,起到事半功倍的效果。本文提到的bug即为其中之一,错误如下图所示: 从表面上来看这是一个参数错误带来normalize(归一化)操作无法进行下去的
2020-08-18 11:59:18
4055
原创 《计算机图形学》第四版练习题——BresenHam算法适配所有斜率情况
阅读《计算机图形学》接触到bresenham画线算法,该算法的核心是用精确的化简后结果衡量每次递增单元格后另一个方向要不要相应递增,书中列举了斜率m绝对值小于1的情况算法,本文完善书中代码使之适配所有斜率情况。代码如下:#include <stdlib.h>#include <math.h>#include <Windows.h>void drawpixel(int x, int y){ HDC hdc = GetWindowDC(GetDesktopW
2020-05-21 08:01:56
1458
原创 openlayer加载本地kml的方法
openlayer官网上有kml加载显示的方法:openlayer官网加载kml示例只是其中url是相对前端服务器根目录路径:然而开发过程中出现需要加载本地文件的需求,本来是想通过上传ftp曲线救国,但是考虑到现在很多浏览器放弃了对ftp的支持,故而放弃ftp思路,决定直接选择本地kml文件加载。 由于直接使用file://协议会出现跨域问题,所以使用js的fileReader方式读取...
2020-04-14 16:23:51
2826
drawball.html
2021-08-20
基于DEM的淹没区域随时间推演程序
2019-02-21
洪水风险实时分析与制图系统
2018-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人