- 博客(321)
- 资源 (9)
- 收藏
- 关注

原创 WebGL学习资源汇总(持续更新)
WebGL学习资源汇总书籍书籍计算机图形图像处理基础《计算机图形图像处理基础》是2011年电子工业出版社出版的图书,作者是唐波。全书共分10章,主要内容包括了图形与图像处理的基本概念,图形图像处理的硬件与软件基础,基本图形的生成算法,图形显示技术,交互技术与图形软件标准,图像数字化与数学描述,图像正交变换,图像增强,图像恢复,图像分割。该书融合了计算机图形学与数字图像处理两门学科的知识...
2018-10-12 14:25:59
2553
原创 色板在数据可视化中的创新应用
在数据可视化领域,色彩编码系统的设计已成为决定信息传递效能的核心要素。根据《Nature》期刊2024年发布的视觉认知研究,人类大脑对色彩的识别速度比形状快40%,色彩对比度对数据解读准确率的影响可达37%。本文将基于色彩心理学、神经科学和信息可视化理论,系统探讨色板设计的创新路径。
2025-03-12 11:37:12
1148
原创 Three.js PBR 物理渲染
传统的渲染技术通常使用 ad hoc 光照模型,但这种方法存在一些问题。例如,在不同的光照条件下,材料的外观可能会发生变化。PBR 算法通过使用更真实的材质属性、光照计算和环境地图来模拟材料与现实世界之间的相互作用。这使得渲染的结果更加逼真,同时也更容易管理。PBR 是 Three.js 中非常强大的功能之一。它可以让开发者创建更逼真的场景,使用户获得更好的体验。在实际操作使用 PBR 时要注意材质属性的设置,以实现你所期望的效果。
2024-02-01 17:14:59
841
1
原创 浅谈RxJS WebSocket
通过利用 RxJS Observables 的功能,开发人员可以轻松地创建前端和后端系统之间的实时连接,提高用户体验,并创建更有吸引力的Web应用程序。与遵循请求-响应模型的HTTP不同,WebSocket提供了一个持久的、低延迟的通信渠道,允许服务器在需要时向客户端推送数据。RxJS WebSocket是一个强大的库,使开发人员更容易在Web应用程序中使用WebSocket。如何在Angular中使用RxJS WebSocket 使用RxJS WebSocket与Angular的第一步是安装包。
2024-02-01 17:12:58
907
原创 Three.js 阴影效果
在本文中,我们介绍了 Three.js 中的三种常见阴影算法,包括 Shadow Mapping、PCF Shadow Map 和 Raytraced Shadows,并讲述了如何使用 Three.js 创建阴影效果。阴影可以为 3D 场景增加真实感和可交互性,但同时也需要权衡计算量和视觉效果。通过适当地配置阴影参数和算法,我们可以在 Three.js 中轻松地创建各种高质量的阴影效果。
2024-01-24 10:54:31
882
原创 mxGraph 教程
客户端事件:mxGraph支持很多事件(如鼠标单击、双击、拖拽等)的处理,在客户端完成前台处理,减少后台交互数据,提升用户体验。数据绑定:mxGraph支持将数据绑定到图形元素上,以实现数据和图形之间的同步,并实时更新图形。打印:mxGraph包含了有用的打印功能,可让您生成高质量的打印输出,适合各种场合,如报告、演示文稿等。Views: 它们管理与绘制图形相关的所有信息,如滚动条、缩放级别、选择状态和当前显示的区域。Cells: 表示图形中的节点或连接线,并可以具有各种属性,例如标签、样式和几何位置。
2024-01-24 10:45:49
1061
原创 Angular main 中的enableProdMode
在TypeScript中,enableProdMode是Angular框架提供的一个函数,通常在Angular应用程序的main.ts文件中调用。在这个例子中,我们从@angular/platform-browser-dynamic模块导入platformBrowserDynamic,并使用它来引导我们的MyModule。总体而言,platformBrowserDynamic是Angular开发Web浏览器的关键部分,因为它允许我们创建一个平台来运行我们的应用程序,并确保它在基于Web的环境中正常工作。
2023-10-16 10:38:00
1003
原创 mxGraph 入门教程
客户端事件:mxGraph支持很多事件(如鼠标单击、双击、拖拽等)的处理,在客户端完成前台处理,减少后台交互数据,提升用户体验。数据绑定:mxGraph支持将数据绑定到图形元素上,以实现数据和图形之间的同步,并实时更新图形。打印:mxGraph包含了有用的打印功能,可让您生成高质量的打印输出,适合各种场合,如报告、演示文稿等。Views: 它们管理与绘制图形相关的所有信息,如滚动条、缩放级别、选择状态和当前显示的区域。Cells: 表示图形中的节点或连接线,并可以具有各种属性,例如标签、样式和几何位置。
2023-10-16 10:27:19
573
原创 RxJS基本概念入门
RxJS代表响应式扩展JavaScript。它是一个用于处理事件流和异步数据流的库,可以将这些流组合起来以产生更复杂的结果。
2023-09-01 10:52:10
1479
原创 Three.js GLTF模型加载
在Three.js中,要加载三维模型文件,可以使用GLTF格式。GLTF是一种基于JSON的开放标准,用于3D模型的交换和运行时加载。在上述代码中,`GLTFLoader()`函数会加载'model.gltf'文件,并在加载完成后将模型添加到场景中。如果模型具有动画效果,则可以使用Three.js提供的`AnimationMixer()`和`AnimationClip()`函数控制它。3. 接着,我们需要使用`GLTFLoader()`函数加载GLTF模型,并给它提供一个回调函数来处理加载完成后的动作。
2023-09-01 10:48:45
1308
原创 three.js 场景中如何彻底删除模型和性能优化
在three.js场景中,要彻底删除外部模型,需要执行以下几个步骤:从场景中移除模型你可以使用或者将模型从场景中移除。如果是多个模型,可以用循环来处理。移除所有材质和纹理模型通常会包含材质和纹理,即使你把它们从场景中移除了,它们也仍然存在于内存中,所以你需要将它们全部移除。如果模型有多个材质和纹理,同样需要使用循环来处理。释放几何体和缓冲属性在 WebGL 中,几何体和缓冲属性是直接存储在 GPU 中的,所以你需要手动释放它们以释放内存。
2023-09-01 10:39:21
3208
原创 使用 KeyValueDiffers 检测Angular 对象的变化
ngDoCheck是 Angular 生命周期钩子之一。它允许组件在 Angular 检测到变化时执行自定义的变化检测逻辑。当任何组件或指令的输入属性发生变化、在组件内部发生了变更检测周期或者当主动触发变更检测策略(例如通过方法)时,Angular 会调用ngDoCheck方法。可以利用ngDoCheck钩子来执行自定义检测逻辑,但是需要注意不要滥用它。由于该钩子会频繁触发,所以应该尽量减少其内部逻辑的复杂性和资源消耗。在上面的示例中,实现了DoCheck接口,并使用ngDoCheck方法更新。
2023-08-29 18:41:21
699
原创 JavaScript数值计算时精度问题处理
Big.js 是一个 JavaScript 的 “任意精度” 数字库,能够处理普通数字无法表示的大数字计算。当使用 JavaScript 进行数值计算时,会面临一些精度问题,这些问题可能会导致不正确的结果。解决方案:可以使用 BigInt 类型进行更大范围的整数运算,但是要注意支持性不够广泛,需在浏览器和 Node.js 环境中提供额外的支持。Luckily, Big.js 提供了相关方法。在处理大数值时,使用 big.js 这样的高精度库可以避免 JavaScript 中 Number 类型的精度问题。
2023-08-29 18:34:00
4142
原创 ImageMagick 免费开源图片批处理利器
ImageMagick 是图像处理的重量级利器,主要特点是多样化、跨平台、开源免费等。我们可以通过各种命令轻松地完成绝大多数图像处理任务,也可以与各种编程语言(如 Python、PHP 等)搭配使用,极大地增加了其应用场景及扩展性,无论是初学者还是高级用户都值得探索和使用。
2023-08-17 13:48:01
1109
原创 关于angular router-outlet
是一个Angular内置的指令,用于在我们的模板中显示路由器(router)加载的组件。在点击链接或使用编程式导航时,它会根据当前的URL动态地插入相应的组件。它可以嵌套在其他组件中,以创建更复杂的布局。可以使用name属性来定义多个命名的,以便同时显示多个组件。下面是一个基本的示例,展示了如何在你的应用程序中使用
2023-08-16 11:38:30
2112
3
原创 Angular中的ActivatedRoute和Router
在Angular中,和Router是两个核心的路由服务。他们都提供可以用来检查和操作当前页面路由信息的方法和属性。
2023-08-15 13:30:04
1658
原创 35岁,体能断崖?你需要健康的生活习惯
大厂裁员,称35岁以后体能下滑,无法继续高效率地完成工作;体重上涨,因为35岁以后新陈代谢开始变慢;甚至坐久了会腰疼、睡眠困扰开始加重,在众多的归因中,35岁的到来,为一切的焦虑埋下伏笔。实际上,生理年龄不代表全部,体能素质的下降更与日常行为相关。我们需要健康的生活习惯。
2023-08-14 12:05:09
300
原创 Angular enableProdMode
在TypeScript中,enableProdMode是Angular框架提供的一个函数,通常在Angular应用程序的main.ts文件中调用。在这个例子中,我们从@angular/platform-browser-dynamic模块导入platformBrowserDynamic,并使用它来引导我们的MyModule。总体而言,platformBrowserDynamic是Angular开发Web浏览器的关键部分,因为它允许我们创建一个平台来运行我们的应用程序,并确保它在基于Web的环境中正常工作。
2023-08-14 11:14:18
324
原创 从安全角度分析Angular本地存储
本地存储是指将数据存储在客户端(即用户的计算机内存或文件系统)而非服务器上。利用本地存储,可以更快地访问已缓存的数据,减轻服务器压力,提高用户体验。常见的本地存储技术有Cookie、Web Storage API和IndexedDB等。
2023-08-14 10:33:06
1368
原创 Angular 独立组件入门
通过将应用程序拆分为小型,独立的组件,我们可以更好地管理代码库,并实现更可读,可维护的代码。顾名思义,独立组件就是可以独立使用和管理的组件,它们能够被包含在其他组件中或被其他组件引用。我们进一步探索了Angular CLI如何帮助我们轻松地创建新的独立组件,并讨论了如何使用输入,输出和事件来使组件更加灵活和通用。借助章节中的代码示例,我们可以开始构建自己的独立组件并为我们的应用程序增加更多的功能和复用性。当使用组件时,我们通常需要传递一些数据给它,这些数据可以通过组件的输入属性来实现。
2023-08-14 10:30:45
1835
1
原创 Angular中的管道Pipes
Angular中的管道(Pipes)是一种强大的工具,它可以处理和转换数据,然后将其呈现在视图中。它们可以被用于排序、格式化和过滤数据等任务。在本文中,我们将介绍Angular中的管道以及如何使用它们来简化开发过程。
2023-08-14 10:27:40
1547
原创 Vite打包和发布项目
Vite是一个现代化的构建工具,可以快速构建现代化的Web应用程序。您可以使用Vite将您的项目打包,并将其发布到npm。下面是一个简单的案例,展示如何使用Vite打包项目并发布到npm。以上是一个简单的案例,展示了如何使用Vite打包项目并发布到npm。使用Vite能够快速高效地打包您的项目,并让您方便地将其发布到npm,从而让更多用户使用您的代码。在您的项目中创建一个新的index.js文件,编写您的JavaScript代码。首先,您需要安装Vite。接下来,您需要安装Vite的依赖项。
2023-05-26 11:32:56
2621
原创 TensorFlow 多层感知机
TensorFlow是一个开源的机器学习框架,由Google Brain团队开发。它允许开发人员构建和训练机器学习模型,包括神经网络。TensorFlow的基本概念是使用数据流图来表示数学计算模型。数据流图由节点(表示数学操作)和边(表示数据)组成。TensorFlow使用张量(Tensor)来表示数据,其中张量是一种多维数组。张量可以在计算图中流动,从而实现数据的处理和转换。TensorFlow支持很多机器学习算法,包括深度神经网络,卷积神经网络,循环神经网络,自编码器和强化学习等。
2023-05-26 11:25:23
831
原创 30道Angular经典面试题,背就完事了
在Angular应用程序中,每个组件和服务都可以作为一个注入器的提供者,从而将其依赖项注入到其他组件和服务中。每种类型都有不同的功能和用途。您可以使用Observable和操作符来创建和转换数据流,使用Subject和BehaviorSubject来创建和处理事件流,以及使用Subscription来管理订阅。它允许您将可重用的代码封装成一个可注入的类,并在应用程序的多个组件中共享。通过使用依赖注入,您可以将组件和服务分离,并将它们的依赖关系委托给Angular框架,从而使代码更具可读性和可维护性。
2023-04-12 14:24:27
7625
原创 blender简单关键帧动画
切换到该视图image.png选中模型,按下I 插入关键帧。image.png选一个通用的位置旋转缩放。image.png此时界面变成下面这样,留意箭头所指位置。image.png拖动指针到20的地方再次添加关键帧,image.png可以通过移动缩放旋转来改变物体位置,改变的会变成黄色image.png右键会出现插入关键帧,...
2023-02-02 14:33:33
993
原创 g6 Dagre Layout VS dagre
左图连线更加粗暴,右图更加智能,但导致弯曲也更多,也导致当节点和连线增多的时候 画布区域更大。层级划分有区别,连线不同。
2022-11-17 18:18:49
799
原创 babylon.js gltf scene hierarchy
babylon gltf nodes children scene hierarchy
2022-08-25 16:17:07
617
原创 SVG filters feColorMatrix
SVG filters feColorMatrixfeColorMatrixThe SVG filter element changes colors based on a transformation matrix. Every pixel’s color value [R,G,B,A] is matrix multiplied by a 5 by 5 color matrix to create new color [R’,G’,B’,A’].| R' | | r1 r2 r3 r4 r
2022-04-12 18:26:21
802
原创 2022-03-29
https://github.com/Microsoft/vscode-generator-code图片.png联想软件商店 壁纸路径C:\ProgramData\Lenovo\devicecenter\Wallpaper图片.png
2022-03-29 17:39:45
79
原创 SVG制作说明
SVG制作说明SVG制作说明我们公司所做的系统,不仅只是展示在电脑上,大多还会用在大屏展示上。因此我们需要得图片格式不仅仅只是ipg或者png,而是需要一种任何种设备上展示都不会失真的格式,这种格式就是SVG格式。如果你不接触大屏设计这块领域,可能就不会熟悉SVG,那么作为设计师该如何制作SVG呢?制作SVG可以在AI或者Sketch中绘制所要得形状就可以,只是导出得时候有几种不同的方式,导出方式的不同对应的图片文件代码也不同。本篇文档会分三部分(SVG制作要求、导出及遇到一些问题得解决方法)进行说明
2022-03-17 15:47:44
3994
3
原创 SVG文件使用操作
SVG文件使用操作制作方法使用 illustrator 生成svg文件,选择”文件”—"导出”存储为svg格式,弹出svg选项框,生成svg代码。动画格式2.1 三种动画状态 svg文件一般有三种动画状态,包括静止状态、告警状态、运转状态。有些文件还包括离线在线状态(如风冷热泵、空气源热泵)、开启关闭(如灯泡、灯开关)。每个svg代码里的状态统一设置:静止:<g id=”BASE"> ,没有动画显示控制。运转:控制运转状态的不显示。告警:控制告警状态的不显示。与运转
2022-03-17 15:42:17
2175
原创 墨卡托投影和高斯-克吕格 (Gauss-Krüger) 投影
高斯-克吕格 (Gauss-Krüger) 投影高斯-克吕格也称作椭圆体版本的横轴墨卡托投影,因为它与墨卡托投影类似,不同之处在于高斯-克吕格的圆柱体沿经线而不是赤道接触球体或椭圆体。通过这种方法生成的等角投影不会保持真实的方向。中央经线位于感兴趣区域的中心。这种中心对准方法可以最大程度减少该区域内所有属性的变形。此投影最适合于南北分布的地区。球体版本的投影由 Johann H. Lambert 于 1772 年提出。使用椭圆体校正的第一个公式由 Carl F. Gauss 于 1822 年开发。高斯-
2021-12-16 16:37:30
25217
3
原创 three.js元宇宙开发实战
three.js开发元宇宙计划书什么是元宇宙?这不重要,重要是我们在做。你搞个网站,你说这不是网站,这是元宇宙,他就是。你搞个游戏,你说这不是游戏,这是元宇宙,他就是。你吹个牛逼,你说这不是吹牛逼,这就是元宇宙,他真的就是。我就用3D写几行代码,我说他是元宇宙,他就是!话不多说,直接开整。虽然不知道要做什么,但是不重要,重要的是我们在做。 1:新建文件夹。 2:选择框架前端就Angular吧,3D就three.js。Babylon.js也不错,作为备选方案。 3:新建项目 4: 挖
2021-12-09 15:36:56
21414
7
原创 Angular12 + Angular Material
creates new Angular application.ng new library -s -t -S --routing–inline-style -s–inline-template -t–routing-skip-tests -SInstalling packages (npm)...Ten years later……
2021-11-19 11:20:16
523
原创 20个更好的数据可视化想法
20个更好的数据可视化想法我们设计的应用程序正变得越来越受数据驱动。对高质量数据可视化的需求与以往一样高。我们周围到处都是令人困惑和误导性的图形,但我们可以通过遵循这些简单的规则来改变这一点。1. 选择正确的图表类型选择错误的图表类型或默认使用最常见的数据可视化类型可能会混淆用户或导致数据误解。相同的数据集可以以多种方式表示,具体取决于用户希望看到的内容。始终从您的数据集和用户需求开始。四组图表应用分组:关系、比较、组合、分布2.根据正负值使用正确的绘图方向不要在基线的同一侧绘制负值和正值。
2021-11-12 15:19:25
370
3d-force-graph.rar
2020-08-05
机器学习及其相关算法综述_陈凯
2019-01-02
基于WebGL的交互平台设计与实现_汪浩
2019-01-02
webgl-reference-card-1_0
2018-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人