自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

求上得中,求中得下

流水不争先,争的是滔滔不绝

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

原创 从翻CSDN到写Prompt,我们还是那群人

本文反思了AI时代下程序员工作方式的变迁。作者回忆了传统编程中解决难题的艰辛过程——翻阅文档、熬夜调试、攻克技术挑战带来的成就感,指出这些经历塑造了开发者独特的直觉和经验。如今AI工具虽能高效完成基础编码,但无法替代人类对项目背景的深刻理解、对潜在风险的预判以及追求完美的职业精神。作者主张理性看待AI:将其视为得力助手而非威胁,通过精准的指令引导(prompt)发挥其效能,同时保留人类开发者的问题解决能力和质量意识。最终强调,真正的竞争力不在于编码速度,而在于将AI工具与专业经验结合,创造更大价值的能力转变

2026-06-30 23:11:09 158

原创 JS中??和||的区别

?

2026-05-31 23:57:30 55

原创 Video核心术语

本文整理了视频处理领域的核心术语表,包含帧率(fps)、刷新率(Hz)、帧间隔时间(1000/fps)等基础概念,以及可变帧率(VFR)、固定帧率(CFR)等编码特性。同时涵盖丢帧、帧步长等处理参数,PTS/DTS时间戳机制,以及隔行扫描(i)、帧采样等技术方法。通过计算公式和简明定义,系统呈现了视频时序控制、帧率转换及编解码过程中的关键指标关系,为视频技术分析提供术语参考。

2026-05-31 23:33:27 251

原创 广度优先搜索 (BFS)

摘要:BFS(广度优先搜索)的核心思想是层层推进,适合处理层序遍历和最短路径问题。JS实现中,队列是关键数据结构,使用push()和shift()操作。注意按层处理时需缓存当前层节点数量,避免遗漏;图遍历时需用Set记录已访问节点,防止重复入队。树结构无需去重,但图结构必须处理,否则可能导致内存爆炸。BFS在3D场景遍历、空间算法等场景中直接影响性能。

2026-05-31 23:00:09 258

原创 图像标注:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理

前端图像标注偏移问题终极解决方案 摘要:本文揭示了前端图像标注中常见的缩放偏移问题根源:CSS缩放与Canvas绘制采用不同的渲染管线,导致亚像素处理、坐标原点、像素对齐和DPR适配四大核心差异。当缩放倍数增大时,这些差异会被放大,造成标注框严重漂移。文章提出根本解决方案:放弃img+CSS方案,改用单一Canvas架构,将图片和标注统一在同一坐标体系下绘制。这种方案通过共享变换矩阵,确保缩放平移时标注与图像完美同步,彻底解决错位问题,同时提升性能和兼容性。文末提供了完整的实现代码示例,支持滚轮缩放和拖拽平

2026-04-30 20:17:30 462

原创 原生 WebGL + Canvas 实现鱼眼图像去畸变(Shader逐像素计算)

本文介绍了一种基于WebGL和Shader的前端鱼眼图像去畸变方案。该方案采用OpenCV标准的鱼眼畸变模型,通过GPU并行计算实现实时校正。核心内容包括:鱼眼径向畸变原理、相机内参矩阵和畸变参数的应用、WebGL渲染流程以及Shader算法实现。文章提供了完整的HTML代码实现,支持用户自定义相机参数,无需服务器即可在浏览器中运行。方案亮点包括GPU加速计算、高精度校正、纯前端实现和参数可配置性。同时,文章还分析了常见问题及解决方案,如参数错误、图像颠倒、边缘黑边等。该技术适用于各种鱼眼相机拍摄的图像校正

2026-04-30 19:47:16 463

原创 H.265 (HEVC) 视频解码转逐帧图像 完整实现方案

本文详细介绍如何实现 H.265/HEVC 编码格式视频的解码、逐帧图像提取功能,针对原生浏览器不支持 H.265 视频硬解码的行业痛点,采用WebCodecs API(现代浏览器高性能解码)+ libde265.js(Wasm 兼容旧浏览器) 双兼容方案,从零到一实现视频上传、解码、帧渲染、帧导出全流程。文中解析核心技术原理、实现步骤、代码细节及常见问题,

2026-04-30 19:26:11 552

原创 【离散数学】核心二元关系梳理

本文系统阐述了离散数学中的二元关系理论。首先定义了二元关系的基本概念,即集合笛卡尔积的子集,重点讨论同一集合上的二元关系。其次详细分析了五大核心性质(自反性、反自反性、对称性、反对称性、传递性)及其组合特征。随后分类介绍了三类基础关系(空关系、恒等关系、全关系)和三类应用核心关系(相容关系、等价关系、偏序关系),通过表格对比了各类关系的性质特征。最后以归纳表形式总结了主要二元关系类型的性质组合,为理解特殊二元关系提供了系统性框架。全文150字。

2026-03-29 00:59:28 878

原创 【离散数学】核心量词公式汇总

本文系统梳理了谓词逻辑中的量词运算规则,主要包括:1.基础量词(全称∀和存在∃)的定义;2.量词否定等价式(¬∀xP(x)⇔∃x¬P(x)等);3.量词辖域收缩与扩张规则;4.量词分配等价式(仅∀对∧、∃对∨可分配);5.核心永真蕴含式(如假言推理、三段论);6.嵌套量词处理规则;7.特性谓词使用规范;8.前束范式转换步骤。通过表格汇总了各类关键公式,为谓词逻辑的公式变形和推理提供了完整的运算规则体系。

2026-03-29 00:39:17 557

原创 【计算机系统原理】进制转换全攻略 一篇搞定所有进制互转

本文系统介绍了计算机中常用的进制转换方法,涵盖二进制、八进制、十进制和十六进制之间的相互转换。主要内容包括:1. 进制核心概念(基数与位权)及计算机使用多种进制的原因;2. 任意进制转十进制的位权展开法;3. 十进制转任意进制的分治方法(整数部分除基取余逆序排列,小数部分乘基取整顺序排列);4. 二进制与八/十六进制间的快捷分组转换法(3位二进制对应1位八进制,4位二进制对应1位十六进制);5. 常见错误提醒。通过具体实例详细演示了各类转换的操作步骤,帮助读者掌握进制转换的核心原理和实用技巧。

2026-03-29 00:15:44 2257

原创 【计算机系统原理】Intel 与 AT&T 汇编指令格式转换

本文摘要: Intel与AT&T汇编语法转换核心规则对比:操作数顺序相反(目标,源 vs 源,目标),寄存器前缀差异(ebp vs %ebp),立即数标记(255 vs $255),内存寻址格式不同([基址+偏移] vs 偏移(基址))。通过5个典型指令示例演示转换过程,包括pushl%ebp(保存栈帧)、movl8(%esp),%edx(读取参数)、movb$255,%al(字节传送)、movw%cx,20(%ebp)(字存储)和leal4(%ecx,%edx,2),%eax(地址计算),清晰展示

2026-03-28 23:35:56 337

原创 【计算机系统原理】 直接映射(模映射) Cache 地址划分与访问过程

本文介绍了直接映射Cache的基本原理和地址划分方法。主存地址被划分为8位标记位、4位行号和6位块内偏移。主存块通过取模运算固定映射到Cache的特定行,硬件实现简单但冲突率高。以访问地址0240CH为例,详细说明了Cache初始为空时的访问流程:地址分解、行定位、标记比较、缺失处理和数据读取。直接映射Cache的特点是映射规则固定、访问速度快,但存在多个主存块竞争同一Cache行的问题。

2026-03-28 23:17:44 472

原创 【计算机系统原理】 组相联 Cache 地址划分与访问过程

标记位 = 地址总位数 - 组号位数 - 块内偏移位数 =,用于唯一标识主存块。,用于定位块内字节。

2026-03-28 23:10:09 499

原创 【计算机系统原理】 全相联 Cache 地址划分与访问过程

本文分析了全相联Cache的地址划分与访问流程。首先计算主存地址为18位,块内偏移6位,标记位12位。CPU访问0240CH时,将地址拆分为标记位024H和偏移0CH,并行比较所有Cache行的标记。命中时直接读取数据;缺失则从主存加载64B块到Cache,更新标记并读取目标字节。全相联映射冲突率低但实现复杂,需掌握地址划分和访问流程这两个核心要点。

2026-03-28 22:57:34 406

原创 【离散数学】证明(Z,∘) 是阿贝尔群(交换群)

摘要:交换群(阿贝尔群)是在满足群的四条公理(封闭性、结合律、单位元存在、逆元存在)的基础上,额外满足交换律的群。具体表现为对任意群元素a、b,有a∗b=b∗a。例如整数集Z在特定运算∘下满足所有群公理和交换律,因此(Z,∘)构成阿贝尔群。要证明一个群是阿贝尔群,需验证其同时满足群的五条基本性质。

2026-03-14 00:13:45 101

原创 【高等数学】计算曲面积分

本文系统介绍了曲面积分的解题步骤:首先确定曲面方程及其在坐标平面的投影区域,然后将曲面积分转化为二重积分进行计算。核心要点包括:将z表示为x,y的函数以建立积分关系,正确确定投影区域D的范围,以及掌握"曲面积分本质是投影区域上的二重积分"这一关键概念。通过典型例题的演示,完整展现了从问题转化到最终求解的全过程。

2026-02-28 23:52:34 89

原创 【高等数学】对坐标的曲线积分 附与弧长的曲线积分差异

两类曲线积分的核心差异在于:第一类(对弧长)关注曲线长度,使用弧长元素ds;第二类(对坐标)关注位移,使用dx/dy。第二类积分解题三步法:1)代入曲线方程消元;2)按方向确定积分限(起点→终点);3)计算定积分。特别注意:两类积分计算逻辑不可混淆,第二类积分与弧长无关,方向决定积分限顺序。掌握"看积分元素定类型"原则即可区分。

2026-02-28 23:14:07 731

原创 【高等数学】一文搞懂对弧长的曲线积分:从 ds 的本质到实战计算

本文系统介绍了弧长元素ds的本质及其在曲线积分中的应用。首先阐明ds的几何意义是曲线微段的斜边长度,其基本表达式为ds=√(dx²+dy²)。针对三种常见曲线表示形式(参数方程、显函数y=y(x)等),详细推导了相应的ds转换公式。通过直线段例题演示了分别以x和y为积分变量的两种计算方法,验证了结果的等价性。最后总结指出:1)所有ds表达式都是通用公式的特例;2)应根据曲线方程灵活选择积分变量;3)正确计算时不同方法结果必然一致。

2026-02-28 22:23:44 939

原创 【高等数学】格林公式及其在曲线积分中的应用

摘要:格林公式是高等数学中连接曲线积分与二重积分的重要工具,它通过建立封闭曲线上第二类曲线积分与所围区域二重积分的关系,简化了复杂积分路径的计算问题。

2026-02-26 00:04:55 99

原创 【高等数学】 计算对弧长的曲线积分

参数方程法是求解弧长曲线积分的通用方法,适用于任意可参数化的曲线。其核心步骤为:首先建立曲线的参数方程,将积分变量转换为参数变量;然后计算导数并确定积分限;最后将原积分转化为关于参数的定积分进行计算。该方法不受曲线形状限制,只要曲线能表示为参数方程即可求解。

2026-02-25 23:29:46 92

原创 3D渲染分层机制 Layers 的原理分析(Threejs)

Three.js的Layers机制是控制对象可见性的高效解决方案。它通过32位掩码实现物体与相机的标签匹配,只有两者有交集时才会渲染。相比visible属性,Layers更侧重"谁能看到"而非"是否存在",特别适合多相机场景、辅助线渲染和精确拾取控制。使用时需注意set方法会覆盖原有层级,建议用enable追加。该机制在渲染收集阶段生效,几乎无性能开销,是处理分层渲染的理想选择,但不适合单纯的对象显示开关或逻辑分组场景。

2026-01-31 23:17:40 800

原创 计算机图形学 模型矩阵的逆矩阵:如何从“世界”回归“局部”?

摘要:本文探讨了3D开发中模型矩阵逆矩阵的核心作用。通过几何解释和数学推导,阐明逆矩阵如何将世界坐标转换回局部坐标。重点分析了在射线拾取等交互场景中的实际应用:通过逆矩阵将复杂的世界坐标系检测简化为局部坐标系中的简单AABB检测。文章提供了Three.js中的两种实现方式(封装API与手动计算),并对比了两种方法的性能差异。最后通过点击检测案例,展示了如何利用逆矩阵优化3D交互中的坐标转换问题。

2026-01-30 19:32:07 946

原创 买卖股票的最佳时机(动态规划)

摘要:本文介绍如何解决股票买卖最大利润问题(LeetCode 121题)。算法核心思路是遍历价格数组,记录历史最低价作为买入点,计算当前价格与最低价的差值作为潜在利润,并持续更新最大利润值。通过一次遍历(时间复杂度O(n))和常数空间(O(1))即可解决问题。示例展示了[7,1,5,3,6,4]数组的处理过程,最终在第2天1元买入、第5天6元卖出获得最大利润5。关键点包括初始化最大利润为0(保证不亏损)、按顺序更新最低价和利润值。

2026-01-04 21:39:33 204

原创 Threejs 点材质的sizeAttenuation属性 底层原理分析

摘要:本文对比了正交相机和透视相机实现缩放效果的原理。正交相机通过调整zoom值直接缩放视体范围,而透视相机可通过移动相机位置或改变fov值实现缩放。正交相机的zoom值等比例缩放视体,保持近/远裁剪面距离不变;透视相机改变fov则调整视野角度,小fov产生放大效果。文章还指出sizeAttenuation属性控制点大小是否随距离变化,与相机类型无关。两种相机在缩放实现上各有特点,正交相机直接缩放视体,透视相机则通过位置或视野调整实现不同视觉效果。

2025-12-29 01:11:18 895

原创 二叉树的中序遍历

摘要:二叉树的中序遍历遵循左子树-根节点-右子树的访问顺序。算法采用递归实现:若节点为空则返回,否则先遍历左子树,访问当前节点值,再遍历右子树。示例中,对于二叉树A(B(D,E),C),遍历结果为D,B,E,A,C。代码实现使用TreeNode定义节点结构,通过递归函数inorderTraversal完成遍历,将节点值按顺序存入数组返回。该算法是解决力扣第94题的标准解法。

2025-12-27 17:52:19 392

原创 搜索插入位置(二分查找)

摘要:本文介绍了二分查找算法在LeetCode第35题中的应用。题目要求在排序数组中查找目标值或确定其应插入的位置,必须使用O(logn)时间复杂度。二分查找通过每次循环将搜索范围减半来实现高效查找。代码实现中,通过维护left和right指针来缩小搜索范围,最终返回left作为插入位置。该方法确保在最坏情况下仅需log₂n次循环即可完成查找。

2025-12-25 22:40:32 324

原创 爬楼梯(动态规划)

摘要:爬楼梯问题要求计算爬到第n阶台阶的方法数,每次可爬1或2阶。采用动态规划解法,定义dp[i]表示到第i阶的方法数。基本情况为dp[0]=1和dp[1]=1。递推关系为dp[i]=dp[i-1]+dp[i-2],因为到达第i阶可从i-1阶爬1步或i-2阶爬2步。该方法时间复杂度O(n),空间复杂度O(n)。代码实现初始化数组后,通过循环计算dp[n]并返回结果。

2025-12-23 22:28:23 363

原创 有效的括号(栈)

摘要: 题目要求判断由括号组成的字符串是否有效,即括号需正确闭合且顺序匹配。解法采用栈结构:遍历字符串,左括号入栈;遇到右括号时检查栈顶是否匹配,匹配则弹出栈顶,否则无效。最终栈为空则有效。时间复杂度O(n),空间复杂度O(n)。代码使用数组模拟栈,通过循环和条件判断实现验证逻辑。

2025-12-20 13:57:23 291

原创 动态规划算法

动态规划是一种通过分解问题为重叠子问题并存储子问题解来提高效率的算法思想。其核心特征包括:最优子结构(整体最优解由局部最优解组成)、重叠子问题(子问题被反复计算)和无后效性(未来状态仅依赖当前状态)。本文通过爬楼梯和最大子数组和两个实例详细说明动态规划的实现步骤:定义状态、初始状态、状态转移方程及JS实现方式(递归+记忆化/迭代优化)。动态规划适用于具有重叠子问题和最优子结构特征的问题,如最值、计数和存在性问题。

2025-12-20 01:19:17 479

原创 最大子数组和(动态规划)

Kadane算法通过动态规划思想高效求解最大子数组和问题。算法维护两个变量:当前子数组和sum和最大和ans。遍历数组时,若sum>0则继续累加当前元素(说明当前子数组有增益效果),否则重置sum为当前元素。每次迭代更新ans为最大值。该算法时间复杂度O(n),空间复杂度O(1),能处理含负数的数组。例如数组[-2,1,-3,4,-1,2,1,-5,4]的最大子数组和为6。核心思想是仅保留对后续有贡献的子数组,体现了贪心与动态规划的结合。

2025-12-20 00:18:19 335

原创 ImageBitmap 将图像数据转换为GPU可用的纹理

摘要: ImageBitmap是一种高性能位图图像对象,支持异步解码和直接渲染到Canvas/WebGL,避免主线程阻塞。相比传统Image对象,它通过createImageBitmap()从Blob、ImageData等源创建,支持裁剪、缩放等选项,适用于WebGL纹理上传、WebWorker图像处理及高效Canvas绘制。需注意手动调用.close()释放内存,并考虑浏览器兼容性。其核心优势在于低延迟解码与GPU高效交互,是图形密集型应用的理想选择。

2025-12-13 23:59:58 443

原创 不同电脑GPU的配置执行着色器代码的情况分析

本文介绍了查看电脑GPU配置的方法和不同GPU类型的性能特点。通过任务管理器可查看GPU信息,其中GPU0通常是核显,GPU1是独显。文章对比了高端独显、集成显卡和CPU软件渲染三种方式的性能差异:独显适合游戏和专业渲染,核显能满足日常办公需求,而CPU软件渲染效率极低且功能受限。最后指出,集成显卡可正常执行着色器但性能较差,完全无GPU时需通过软件模拟,但会严重影响运行效率。

2025-12-13 21:43:46 420

原创 前端实时渲染性能优化 使用cocoRLE编码进行图像传输并着色绘制

摘要 针对实时绘制mask图像的性能优化问题,本文提出采用COCO RLE编码方案替代传统像素遍历方法。该方案通过二值掩码和行程编码(RLE)显著减少存储空间,解码时可直接赋值颜色而无需完整存储像素数组。文章详细介绍了从Base64编码的COCO RLE字符串到最终图像数据的完整解码流程,包括核心解码函数、RLE字符串解析、掩码数组转换等关键步骤。实验结果表明,该方法有效解决了实时渲染场景中因CPU满载导致的卡顿和延迟问题,大幅提升了渲染流畅性和用户体验。相比传统像素遍历方案,COCO RLE编码在内存占用

2025-12-13 20:40:19 394

原创 Pixijs shader 传入多张图片到片段着色器的方法

pixijs shader 传入多张图片到片段着色器的方法。

2025-10-30 23:22:38 255

原创 前端本地存储数据库IndexedDB

IndexedDB 是一种底层 API,用于在客户端存储大量的结构化数据(也包括文件/二进制大型对象(blobs))。该 API 使用索引实现对数据的高性能搜索。虽然 Web Storage 在存储较少量的数据很有用,但对于存储更大量的结构化数据来说力不从心。而 IndexedDB 提供了这种场景的解决方案。意思就是IndexedDB主要用来客户端存储大量数据而生的,我们都知道cookie、localstorage等存储方式都有存储大小限制。

2025-08-31 23:59:15 2317

原创 模型优化——在MacOS 上使用 Python 脚本批量大幅度精简 GLB 模型(通过 Blender 处理)

本文介绍了一种使用Blender和Python脚本批量优化GLB模型文件的方法。通过配置Blender环境变量并运行Python脚本,可以实现自动批量处理:将纹理转换为JPEG格式(质量设为30)、启用文件压缩功能,从而显著缩小模型体积(可减少50%-90%)。脚本支持递归处理子目录中的GLB文件,并生成处理报告,包括成功/失败数量及平均体积缩减比例。该方法无需人工干预即可完成模型优化,特别适合需要批量处理大量3D模型的场景。

2025-07-31 21:58:15 1087 1

原创 Python脚本批量将usdz文件转为glb文件

摘要:本文介绍了一个基于Python和Blender的USDZ转GLB批量转换脚本。该脚本提供两种转换模式:单个文件转换(convert_usdz_to_glb)通过清空Blender场景后导入USDZ再导出GLB;批量处理(batch_convert)递归扫描目录并保持原始目录结构。脚本包含成功/失败统计功能,支持不应用变换的原始数据导出。使用时需配置输入/输出路径,自动处理子目录结构并生成转换报告。该工具适合需要保持3D模型原始属性的格式转换需求。

2025-07-31 21:36:26 460

原创 Three.js 直线拐角自动圆角化(圆弧转弯)

本文介绍了使用三点法绘制圆弧的计算过程。首先通过p1-p2和p3-p2两个向量确定角平分线方向,计算圆心坐标需要确定夹角和半径。关键步骤包括:计算两向量夹角、圆心到交点距离L=R/sin(θ/2)、确定圆心位置。还涉及垂足计算、与x轴夹角修正,以及通过向量叉乘判断绘制方向(顺时针/逆时针)。最后指出多圆弧应用中需注意特殊情况处理,如直线情况(夹角0°或180°)无需绘制圆弧。整个过程基于向量运算和几何原理,适用于WebGL等图形系统。

2025-05-28 23:45:47 898 2

原创 Threejs 透明模型渲染嵌套以及深度测试解决共存问题

透明模型嵌套渲染问题可通过调整深度测试或渲染顺序解决。当两个透明模型嵌套时,距离相机更近的内部模型可能因深度测试被舍弃。解决方案包括:禁用外部模型写入深度缓冲区、内部模型禁用深度测试,或通过three.js的renderOrder强制改变渲染顺序。透明模型默认从后向前渲染,而renderOrder可在组内自定义绘制顺序,确保正确显示嵌套的透明结构。实验表明,调整渲染顺序或深度测试能有效恢复内部模型的可见性。

2025-05-25 19:19:08 714

原创 3d世界坐标系转屏幕坐标系

文章摘要:介绍了坐标转换的三个关键步骤:从世界坐标到NDC标准设备坐标,再到屏幕坐标。重点讲解了.project方法如何将世界空间向量投影到相机的标准化设备坐标(NDC)空间,并提出了手动实现HTML元素定位到模型位置的方法,以达到模型标签效果,其原理与css2Render类似。(98字)

2025-05-25 15:46:45 689

反弹效果.zip

反弹效果.zip

2024-04-18

1_24_Pointer_Advanced.zip

1_24_Pointer_Advanced.zip

2023-11-11

24_Pointer_Advanced.zip

24_Pointer_Advanced.zip

2023-11-09

examples.zip

examples.zip

2023-09-13

Module loading FBX

Module loading FBX

2023-05-28

3DMax Scroll official website

3DMax Scroll official website

2023-04-28

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

TA关注的人

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