自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

碳学长的博客

GIS相关

  • 博客(66)
  • 收藏
  • 关注

原创 Rust 数据结构与算法:5栈:用栈实现前缀、中缀、后缀表达式

Rust 数据结构与算法:5栈:用栈实现前缀、中缀、后缀表达式

2024-02-15 17:14:34 713

原创 Rust 数据结构与算法:4栈:用栈实现进制转换

Rust 数据结构与算法:4栈:用栈解决进制转换问题

2024-02-15 17:12:18 612

原创 Rust 数据结构与算法:3栈:用栈实现符号匹配

Rust 数据结构与算法:3栈:用栈解决符号匹配问题

2024-02-15 17:09:51 688

原创 Rust 数据结构与算法:2线性数据结构 之 栈

Rust 数据结构与算法:2线性数据结构 之 栈

2024-02-15 17:06:55 884 1

原创 Rust 数据结构与算法:1算法分析之乱序字符串检查

Rust 数据结构与算法:1算法分析之乱序字符串检查

2024-02-15 11:11:05 998

原创 数据治理之法读书笔记

数据治理之法

2024-01-31 09:39:19 1267

原创 数据治理之路读书笔记

数据治理之路

2024-01-30 17:07:42 1309

原创 数据治理之论读书笔记

数据治理可以用五个关键词来描述:数据危机、价值释放、规则秩序、安全底线、学科交叉

2024-01-29 10:18:28 1398

原创 城市信息模型平台顶层设计与实践-CIM-读书笔记

CIM

2024-01-15 22:49:18 920

原创 我最喜欢的趣味几何书-读书笔记

趣味几何

2024-01-02 08:59:00 883

原创 Serverless架构:无服务器应用与AWS Lambda-读书笔记

Serverless 架构

2023-12-28 13:05:08 1402 1

原创 大数据技术基础-读书笔记

大数据技术基础-读书笔记

2023-12-21 23:15:06 972

原创 数据压缩入门-读书笔记

数据压缩:让世界变得更小

2023-12-20 21:15:45 802

原创 云原生架构总结-读书笔记

云原生架构

2023-12-14 22:34:36 143

原创 湖仓一体架构理论与实践汇总

软件研发本质上属于“手工业”。软件研发在很大程度上还是依赖于个人的能力。当软件规模较小时,依赖“手工业”可以解决问题,但是当软件规模大了之后再依赖“手工业”就不行了。软件的复杂度包含两个层面:软件系统层面的复杂度和软件研发流程层面的复杂度。对于大型软件来讲,复杂才是常态,不复杂才不正常。软件系统很难一开始就做出完美的设计,只能通过功能模块的衍生迭代让软件系统逐步成型,然后随着需求的增加再让功能模块进行衍生迭代,因此本质上软件是一点点生长出来的,其间就伴随着复杂度的不断累积。

2023-12-13 21:27:13 405

原创 数据结构与算法-Rust 版读书笔记-2线性数据结构-双端队列

deque又称为双端队列,双端队列是与队列类似的项的有序集合。deque有两个端部:首端和尾端。deque不同于队列的地方就在于项的添加和删除是不受限制的,既可以从首尾两端添加项,也可以从首尾两端移除项。在某种意义上,这种混合线性结构提供了栈和队列的所有功能。虽然deque拥有栈和队列的许多特性,但其不需要像它们一样强制地进行LIFO和FIFO排序,这取决于如何添加和删除数据。

2023-12-11 22:28:39 156 1

原创 数据结构与算法-Rust 版读书笔记-2线性数据结构-队列

队列是项的有序集合,其中,添加新项的一端称为队尾,移除项的另一端称为队首。一个元素在从队尾进入队列后,就会一直向队首移动,直到它成为下一个需要移除的元素为止。

2023-12-11 22:03:52 165

原创 数据结构与算法-Rust 版读书笔记-2线性数据结构-栈

数组、栈、队列、双端队列、链表这类数据结构都是保存数据的容器,数据项之间的顺序由添加或删除时的顺序决定,数据项一旦被添加,其相对于前后元素就会一直保持位置不变,诸如此类的数据结构被称为线性数据结构。线性数据结构有两端,称为“左”和“右”,在某些情况下也称为“前”和“后”,当然也可以称为顶部和底部,名称不重要,重要的是这种命名展现出的位置关系表明了数据的组织方式是线性的。这种线性特性和内存紧密相关,因为内存就是一种线性硬件,由此也可以看出软件和硬件是如何关联在一起的。

2023-12-11 21:28:41 188

原创 数据结构与算法-Rust 版读书笔记-1语言入门

Rust中并不存在内置库函数,一切都需要自己定义。但是Rust实现了一套高效的宏,包括声明宏、过程宏,利用宏能完成非常多的任务。比如,使用derive宏可以为结构体添加新的功能,常用的println!、vec!、panic!等也是宏。Rust中的宏有两大类:一类是使用macro_rules!声明的声明宏;另一类是过程宏,过程宏又分为三小类——derive宏、类属性宏和类函数宏。声明宏的格式:macro_name!{}。首先是宏名,然后是感叹号,最后是()、[]或{}。

2023-12-10 16:18:24 968

原创 分布式架构原理与实践读书笔记

架构设计师的理性模型架构设计切割架构设计师、系统设计师、系统安全设计师和用户体验设计师之间的沟通。

2023-12-09 19:19:40 83

原创 生成式人工智能笔记-AIGC笔记

ChatGPT的“前世”与Transformer(变换器)模型关系紧密,而Transformer模型诞生于2017年。2017年,谷歌大脑团队在神经信息处理系统大会发表了一篇名为《注意力是你所需要的全部》(Attention Is All You Need)的论文。这篇论文的作者在文章中第一次提出了一个基于注意力机制的Transformer模型,并且把这个模型首次用在理解人类的语言上,这就是自然语言处理。

2023-12-07 22:16:16 330

原创 秒懂设计模式笔记

在面向对象软件系统中,优秀的设计模式一定不能违反设计原则,恰当的设计模式能使软件系统的结构变得更加合理,让软件模块间的耦合度大大降低,从而提升系统的灵活性与扩展性,使我们可以在保证最小改动或者不做改动的前提下,通过增加模块的方式对系统功能进行增强。相较于简单的代码堆叠,设计模式能让系统以一种更为优雅的方式解决现实问题,并有能力应对不断扩展的需求。随着业务需求的变动,系统设计并不是一成不变的。在设计原则的指导下,我们可以对设计模式进行适度地改造、组合,这样才能应对各种复杂的业务场景。然而,

2023-12-07 12:15:43 75

原创 软件平台架构设计与技术管理之道笔记

领导软件平台各方面的工作,对技术底蕴、思维模式、决策能力、工作风格、文化铸造等方面都有极高的要求,可以称之为“领域智慧”。认知盲区的代价是巨大的,“不知”比“不会”的后果更严重,可能导致方向性的错误。庞大的科技队伍,可谓千人千面,管理工作中出现举棋不定、迷茫不清时,唯有以扎实的认知作为心理的定海神针,切不可做无根之水。在繁冗、枯燥的IT技术工作中,埋头干活不能忘记抬头看路,主动发现更多的“艺术”细胞,增加更多的抽象领悟,终会拨云见日。在工作陷入僵局时,回到认知上去审视自我,助力破茧而出。

2023-12-04 21:25:43 323

原创 跨越鸿沟-颠覆性产品营销指南笔记

竞争性定位罗盘罗盘提供的方向以纵横两个标记轴的形式呈现,横轴表示客户对高科技产品问题的兴趣和理解范围。一般来说,早期市场的客户主要是技术专家,既然是技术专家,他们的兴趣更多在于技术和产品,而不是市场和企业。相比之下,主流市场的客户主要是普罗大众,他们更关心的是市场领导力和企业稳定性,而不是具体产品的参数或者性能。纵轴表示另一个衡量标准,即市场对于产品价值主张的态度,分为怀疑和支持两种。刚开始的时候,市场的态度都是怀疑的,随着时间的推移,市场逐渐变成支持态度。在早期市场,技术狂热者是持怀疑态度的看门人;

2023-12-01 22:38:58 224

原创 中台战略思想与架构总结

中台

2023-11-30 12:20:51 267

原创 程序员必读之软件架构书摘

软件开发的敏捷方法是指:快速行动,拥抱变化,持续交付,接收反馈,不一而足。因此给软件架构打上"敏捷"一词,表示它能够应对所处环境中的变化,适应不断变化的需求。但以敏捷方式交付软件并不能保证得到的软件架构是敏捷的,往往可能是因为团队更关注交付功能,而非架构。概括来说,架构就是结构和愿景,这个过程的关键在于理解重要设计决策。敏捷和架构并不冲突。考虑架构的驱动力不需要花很长时间,却能为软件设计的其他部分提供一个开始。经验就是:小方向有大用场。

2023-11-27 22:52:18 87

翻译 Cesium中的图形渲染技术-一帧的渲染

这篇文章追溯了 Cesium 的来解释Cesium 1.9是如何使用其WebGL渲染器渲染帧的。在 Scene.render 处设置断点,运行Cesium应用程序,并遵循以下步骤。考虑到Cesium专注于地理空间内容的可视化,具有许多不同光源的场景并不常见,因此Cesium使用传统的前向阴影管道(traditional forward-shading pipeline)。Cesium 的管道是独特的,因为它使用多个视锥来支持大规模的视野距离,而不需要z-fighting伪影[Cozzi13]。

2023-11-24 22:52:34 152

翻译 CesiumJS中新的glTF架构之旅

CesiumJS和glTF有着悠久的历史。CesiumJS是最早的glTF加载器之一,早在2012年,glTF还被称为WebGLTF。此后发生了很多事情:glTF 1.0发布,glTF 1.0内嵌的着色器变成了glTF 2.0的PBR材质,扩展生态系统迅速发展。最近,引入了glTF扩展,用于在每个像素粒度上编码元数据,并允许tilesets直接引用glTF。多年来,我们已经了解到社区如何在实践中使用glTF和3D Tiles,现在我们正在使用这些知识来指导CesiumJS的未来。

2023-11-24 21:57:43 125

翻译 在 Cesium for Unreal 中通过抖动不透明遮罩/蒙版实现更平滑的LOD过渡

我们最近在Cesium为虚幻添加了一个选项,以实现抖动不透明度遮罩下的细节层次之间的平滑过渡。启用此选项将以最小的渲染开销为最终用户提供更无缝的查看体验。20231121遮罩平滑过渡。

2023-11-24 08:38:19 168

翻译 CesiumJS中的模块化结构提供了更好的依赖管理

随着CesiumJS 1.100在12月1日的发布,我们可以下载整个CesiumJS发行版,也可以通过较小的包下载CesiumJS库的一部分。这一改变使得仅使用Cesium功能子集的应用程序可以访问更小、更特定的包。CesiumJS是一个具有很多功能的扩展库,可以满足广泛的用例。

2023-11-14 09:02:10 61

翻译 QGIS 现已支持 3D Tiles

该团队开发了一个3D Tiles格式的解析器和一个3D渲染器,该渲染器根据适当的3D视图细节级别动态加载和显示3D Tiles的特征、要素。“地理空间社区正在通过发展开源经济来合作,这是一项接近我们的本心和我们的核心业务的合作方式。通过在商业软件和开源软件之间的合作,Cesium认可了开源软件作为地理空间标准操作程序使用的合法性,促进了开放性和互操作性,”North Road的产品经理/高级GIS分析师Emma Hain说。随着3D地理空间的不断发展,总会有创新的空间:有影响力的集成、开源贡献和教育机会。

2023-11-09 11:04:08 536 1

翻译 Cesium ion 在亚太地区的主要性能改进

接下来,请求将被发送到我们在Amazon CloudFront上运行的CDN,它会检查URI中的区域并将请求代理到适当的区域以获取原始请求。在我们降低每个图块延迟和提高流媒体性能的倡议中,我们复制了从us-east-1到ap-northeast-1(日本东京)的新的和现有的资源。复制将允许新上传的资源在上传后大约15分钟内从ap-northeast-1检索,现有的对象将立即受益,而不会对现有的Cesium ion 客户端进行更改。立即生效,现有的Cesium ion 应用在这一区域的性能得到了显著提高。

2023-11-08 09:04:36 43

翻译 为摄影摄影和现实模型而生的优化后的真实感贴图已纳入3D Tiles

今天,我们宣布为摄影摄影和现实模型而生的优化后的真实感贴图已纳入3D Tiles 渲染管线,包括Cesium ion 和本地产品。3D地理空间社区在来自摄影测量和现实扫描的3D模型的捕获、处理、流媒体和消费方面经历了爆炸性的增长。由于用户比以往任何时候都更频繁地捕获更高分辨率的数据,我们的3D Tiling Pipeline 被设计为为流处理、运行时可视化和分析生成最优化的3D 瓦片集。

2023-11-07 09:23:41 104

翻译 CesiumJS 中的大范围面要素

然而,一旦三角化,任何分割的多边形将在稍后的管道中重新组合,作为几何批处理(geometry batching)步骤的一部分,以确保与之前相同的渲染性能。对于超过180度的范围,投影到切平面总是会产生不正确的结果,因为在2D中查看、浏览时,看上去位置是“wrapped back”的。问题是,由于三角函数在小角度上的精度问题,这些投影只适用于略大于一个半球的情况。但是对于每一次我们投影到不同的空间,我们需要运行分割算法的次数越多,对运行时性能的要求也越大,越不利于性能的表现。我们的多边形渲染管道出了问题。

2023-11-06 13:12:31 70

翻译 Cesium for Unreal 2.0 现在已经可用

更加组件化和灵活的设计。Cesium for Unreal 2.0是与Unreal Engine 5集成的一个重大飞跃的插件,包括3D Tiles 1.1元数据支持,改进的工作流程,地理参考,子级别系统等。今天我们很自豪地发布Cesium for Unreal 2.0,这是我们免费的、开源的Unreal Engine 3D地理空间插件的最新版本。从那时起,3D地理空间和虚幻引擎的创建工具的强大结合激发了跨行业的创新,如建模,仿真和培训,房地产,能源和航空航天。,以了解新的API并学习如何升级您的项目。

2023-11-06 09:59:25 391

翻译 DiscovAR Dublin 用 Cesium for Unity 突出了这座城市隐藏的宝藏

Cesium for Unity,谷歌的地理空间创造者,和通过 Google’s Map Tiles API的真实感的 3D Tiles,Peel X设计了DiscovAR Dublin 来流送大规模3D数据集作为3D瓦片到用户的iOS和Android设备,平衡流畅的渲染过程与带宽节约。DiscovAR Dublin 为用户提供真实的3D数据,让他们沉浸在城市的文化中,无论是在都柏林本地还是在世界各地的家中。它们是关于用户体验和推动技术的边界,”巴里·罗杰斯说,他是都柏林市议会成员,负责监督旅游技术项目。

2023-11-01 10:28:28 79

翻译 谷歌地图中逼真的三维瓦片(3D Tiles)数据现在已包含在 Cesium ion 中

现在,用逼真的3D Tiles和Cesium ion 更容易构建了!Cesium ion 以及 逼真的 3D Tiles为开发者提供了一个开放的3D Tiles运行时软件生态系统,包括CesiumJS、虚幻引擎(Unreal Engine)、Unity和NVIDIA Omniverse。使用Cesium ion将您自己的3D地理空间数据与逼真的3D Tiles相结合,以构建身临其境的虚拟世界体验。逼真的3D Tiles使用由Cesium创建的开放地理空间联盟(OGC)的3D Tiles标准。

2023-10-31 09:29:49 342

原创 五、WebGPU Vertex Buffers 顶点缓冲区

在上一篇文章中,我们将顶点数据放入存储缓冲区中,并使用内置的vertex_index对其进行索引。虽然这种技术越来越受欢迎,但向顶点着色器提供顶点数据的传统方式是通过顶点缓冲和属性。顶点缓冲区就像任何其他WebGPU缓冲区一样。它们保存着数据。不同之处在于我们不直接从顶点着色器访问它们。相反,我们告诉WebGPU缓冲区中有什么类型的数据,以及它在哪里以及它是如何组织的。然后它将数据从缓冲区中取出并提供给我们。让我们以上一篇文章中的最后一个示例为例,将其从使用存储缓冲区更改为使用顶点缓冲区。首先要做的是改变着

2023-10-18 00:08:14 223

原创 四、WebGPU Storage Buffers 存储缓冲区

存储缓冲区 storage buffers 在许多方面 uniform buffers 缓冲区相似。如果我们所做的只是在JavaScript中将UNIFORM改为STORAGE,WGSL 中的 var 改为 var,上一节的示例代码同样可以运行并达到同样的效果。实际上,还是有不同之处,不需要将变量重命名为更合适的名称。${${仅需要以上少量的修改,就可以达到同样的效果。代码及效果如下:

2023-10-09 22:10:29 113

原创 三、WebGPU Uniforms

接下来,正如第一篇文章中的图表所示,为了告诉着色器我们的缓冲区,我们需要创建一个绑定组,并将缓冲区绑定到我们在着色器中设置的@binding(?到目前为止,我们在着色器中使用的所有数据要么是硬编码的(顶点着色器中的三角形顶点位置,以及片段着色器中的颜色)。现在,在我们提交我们的命令缓冲区之前,我们需要设置uniformValues的剩余值,然后将这些值复制到GPU上的缓冲区。另外,我们的着色器可能会引用另一个统一的缓冲区,它只包含特定于这个对象的东西,比如它的世界/模型矩阵和它的正常矩阵。

2023-10-08 22:56:43 57

游戏引擎效果演示,用于展示 Vue + UE4

游戏引擎效果演示,用于展示 Vue + UE4

2023-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除