自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1745)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++98→26:波澜壮阔的枚举类演进

C++98:给了我们枚举,但留下了类型安全和命名空间的隐患C++11enum class一举解决了作用域和类型安全两大痛点,是奠基性的改进C++14/17:在细节处打磨,列表初始化和std::byte展示了枚举类的设计哲学C++20using enum在安全与便利之间找到了优雅的平衡点C++23和补全了工具链C++26:静态反射让枚举获得了自省能力,彻底消除了手写样板代码的痛苦。

2026-03-11 17:21:38 369

原创 Qt渲染真相:CPU 软光栅、GPU 开洞与纯GPU

QWidget 默认走 CPU 软光栅。这不是落后,而是一种面向最大兼容性和稳定性的架构选择。Qt Quick / QML 默认走 GPU 硬件加速。这是面向现代视觉体验的架构选择。两者可以在同一个窗口中共存。通过或QRhiWidget,开发者可以在 CPU 绘制的 QWidget 主体中局部"开洞"嵌入 GPU 渲染区域。混合渲染通过 Framebuffer 隔离与合成机制实现,但需要为此支付 GPU → CPU 数据同步的性能代价。

2026-03-11 16:17:59 614

原创 从“窗口载体“与“图形 API“双维解构 Qt 的跨平台底层适配

平台QPA 插件窗口载体默认渲染 API (QRHI)主要胶水层WindowsqwindowsHWNDDXGIqxcbOpenGLGLX / EGLqwaylandwl_surfaceOpenGL ESEGLmacOSqcocoaNSViewMetalAndroidOpenGL ESEGLwasm<canvas>WebGLQt 极其庞大的跨平台源码库,实际上就是建立在这个“双维矩阵”之上的适配器集合。

2026-03-11 16:05:32 658

原创 心瞳泛函仿真(Xintong Functional Simulation): 今日正式开宗立派

论风洞与CFD的必然性 本文从经典力学完备性的理想假设出发,论证了风洞实验和计算流体力学(CFD)存在的根本原因。在理论上,若具备绝对精确的初始条件、完美的数学模型和无限计算能力,物理系统的行为确实可通过纯数学方程精确描述。然而现实存在三大障碍:(1)连续空间的无限维特性与计算机有限性的矛盾;(2)初始条件测量的不精确性,特别是湍流的混沌特性;(3)纳维-斯托克斯方程本身作为模型的近似性(连续介质假设、牛顿流体假设等)。这些限制迫使工程领域采用离散化数值方法和物理实验作为必

2026-03-10 11:33:57 284

原创 最好的语法书,就是极致的泛型 API: CGAL(Computational Geometry Algorithms Library)如何重塑你的肉身?

我们总是到处寻找“如何提升 C++ 编程水平”的教程,却忽略了最好的老师就在眼前。不需要去读晦涩的底层源码,只要你把 CGAL 加入你的项目中,尝试用它的 API 去求一个凸包、算一个德劳内三角剖分,并努力让代码编译通过、跑出正确结果。在这个过程中,你敲下的每一个using,传入的每一个,解析的每一个,都在潜移默化地重塑你的编程习惯。当你终于能行云流水地调用 CGAL API 时,你会发现,自己的 C++ 语法功底,早已蜕变。

2026-03-09 10:57:04 565

原创 程序员的数学法则:“三不必(不必证明,不必记住,不必手算)” 与 “四必须(理解概念,理解公式,拥有直觉,映射工程)”

不必证明 ──→ 信任定理,站在巨人肩上不必记住 ──→ 公式可以查,脑子留给思考不必手算 ──→ 计算交给机器但须理解概念 ──→ 概念是骨架,不可或缺理解公式 ──→ 能"读"公式,逐项翻译含义拥有直觉 ──→ 概念内化后的快速判断力映射工程 ──→ 数学落地为代码、性能、稳定性前三条为你减负,后四条为你赋能。程序员的数学不是数学家的数学,它不追求优美的证明,它追求的是——用数学解决实际问题的能力。但上述理论绝对吗?

2026-03-03 11:18:15 723

原创 低维碳基生物的倔强: 即使生为三维的尘埃,也誓要用逻辑的利刃,刻画出十维神明的面容

环顾四周,你的世界是由什么构成的?向前向后、向左向右、向上向下——这是一个完美的三维空间。几千年来,人类在这个长宽高构成的舞台上建立文明,推演万物。我们理所当然地认为,宇宙就是这样一个坚固的三维容器。然而,当现代物理学家的目光穿透原子的缝隙,或是望向宇宙的边缘时,他们惊恐地发现:在这个三维容器里,宇宙的法则充满了肉眼可见的裂痕与矛盾。引力为何如此微弱?量子世界为何如同幽灵?相对论与量子力学为何水火不容?

2026-02-28 11:35:58 911

原创 视界之外的宇宙:理解不了的几何,就写成代数

人类的想象力是有边界的。这个边界,被刻在我们视网膜的结构里,被锁在大脑皮层的神经元连接中。作为一个在地球表面进化了数百万年的物种,我们的“出厂设置”被严格限制在三维空间内。我们能轻易预判一颗石子抛出的抛物线,能在大脑中旋转一个正方体,甚至能想象出壮丽的星系轮廓。但如果有人要求你闭上眼睛,在脑海中清晰地构建一个“四维超正方体”,或者一个“十一维的卡拉比-丘流形”时,你的大脑皮层会瞬间遭遇“蓝屏死机”。我们的视觉和几何直觉,走到了进化的死胡同。然而,人类的物理学和数学却在向着十维、百维甚至无限维的深渊狂奔。

2026-02-28 11:21:49 987

原创 蛮荒的燃烧:回望那个试图用“算力”暴力破解上帝密码的愚蠢年代

这是一篇来自历史学家的回顾文章。

2026-02-13 09:04:23 404

原创 API 只是时代的方言,数学才是时间长河的通用语

在 CG 与 CV 的世界里,API 就像是不同国家、不同时代的“方言”。OpenGL 是古罗马的拉丁语,严谨但繁琐;PyTorch 是现代英语,灵活且流行;Unreal Engine 是高度特化的行业黑话。作为开发者,学会这些方言能让你在当下找到一份好工作。但如果你想在技术的时间长河中不被淘汰,你想理解为什么 20 年前的算法今天依然有效,或者你想创造出下一个改变世界的算法(比如 NeRF),你需要掌握通用语。不要只记住,去理解旋转矩阵。不要只会调,去理解梯度下降。不要只懂。

2026-02-07 11:37:20 620

原创 一体双生: 计算机图形学与计算机视觉本就“同宗同源”

当我们站在现在回望,计算机图形学和计算机视觉的分野,更多是受限于早期算力和算法的无奈之举。算力不足时,CG 只能用光栅化骗过眼睛,CV 只能用边缘检测提取特征。算力充裕时,CG 开始用光线追踪模拟物理,CV 开始用 Transformer 理解全局。如今,随着3D AIGCXR(空间计算)和具身智能(Embodied AI)的兴起,两者正在回归它们的共同本质——对视觉信息的全链路处理。未来的工程师,或许不再自称“图形学工程师”或“视觉算法工程师”,而是。

2026-02-02 15:13:11 663

原创 G代码到底是不是NC码?——用C++继承关系揭开工业制造的“方言”之谜

如果我们把工业控制语言写成一段 C++ 代码,它们的关系简直就是教科书般的继承(Inheritance)// 抽象基类:所有数控指令的“父类”// 定义:数值控制代码 (Numerical Control Code)// 接口:任何能将数字化信息转化为机床机械运动的指令集public:// 纯虚函数:走直线// 纯虚函数:走圆弧// 派生类 A:最主流的实现(ISO 6983 标准)// 也就是我们在文本里看到的 G01 X10 Y10...

2026-01-27 12:42:33 615

原创 没有绝对完美的架构:架构因迭代而涅槃

一个在当前看来近乎完美的架构,随着时间的推移,外部技术的演进(新的语言、框架、中间件的出现)、业务需求的变更(市场扩张、用户行为变化)、以及系统内部复杂度的自然累积(代码的熵增),都可能使其逐渐变得臃肿、低效,甚至成为发展的桎梏。市场的反馈、运维的数据、开发团队的体验,都成为驱动架构演进的“选择压力”,促使其向更优的方向“突变”和“选择”。“涅槃”一词,本意指超越生死轮回的境界,在软件架构的语境下,它隐喻着架构通过不断的自我扬弃和重构,从旧的束缚中解脱,达到一种更高层次的适应性和生命力。

2025-05-08 19:30:41 445 12

原创 Qt故事会: 初识惊叹跨平台魔力 , 深入惨遭跨平台挑战

这就像是给了你一套能在各种道路上行驶的汽车零件(Qt),但如果组装汽车的人(原始开发者)按照越野车的标准加了很多只适用于崎岖山路的特殊装备(Windows 特有代码),那么当你想把这辆车开到平坦的公路上(移植到 Linux)时,就需要拆掉或改造那些特殊装备,这当然会很费劲。Qt 框架本身尽力提供了跨平台的基础,但如果最初的开发者没有严格遵守跨平台编码规范,大量使用了平台绑定的特性,那么后续的移植工作自然会非常痛苦,远非简单的“重新编译”就能解决。Qt 确实是一个强大的跨平台框架,它极大地简化了多平台开发。

2025-05-05 17:24:00 627 15

原创 QML对象更新机制与缓存问题的讨论

QML 很适合“首屏直观开发”,但一旦进入“动态组件管理阶段”,你必须自己设计组件的生命周期与状态控制机制,否则缓存机制会让你掉进“状态不同步”的坑里。用缓存要有意识;给组件设计 reset;不信赖生命周期钩子;优先重置,不轻言销毁;靠测试发现复用问题。

2025-05-01 20:42:52 1310 12

原创 QML进阶:deleteLater()延迟特性与图形资源即时清理的冲突

使用。

2025-04-13 17:42:26 852 7

原创 Qt界面流畅性的系统讨论: 多维度渲染性能优化

实际开发中应结合性能分析工具精准定位瓶颈,优先解决影响最大的问题(如算法复杂度从 O(n²) 优化到 O(n)),再逐步实施其他优化策略。四个维度提供系统化解决方案,涵盖从代码优化到硬件加速的完整技术链。,导致界面无法及时刷新(通常需保持 60 FPS)。合并多个绘制调用为单个调用(减少OpenGL状态切换)。强制固定刷新频率(如30 FPS)。仅保留最新数据,避免内存无限增长。降低数据密度,减少传输和计算量。合并高频刷新请求,避免冗余渲染。仅重绘界面中发生变化的区域。使用GPU硬件加速图形绘制。

2025-02-20 09:27:43 1855 37

原创 山外青山楼外楼 : 详解 Qt信号与槽的100种用法 (眼界篇)

在 Qt 信号与槽的应用中,基于其核心机制和可扩展性,理论上有无限种组合和变种。具体来说,常见的信号与槽用法和场景应用大约可以总结出以下 100 多种主要方式,分为几个大类:在自定义类中定义信号和槽,可以让你的类具备灵活的通信能力。2. Lambda 表达式作为槽在现代 C++(C++11及以上)中,可以使用 Lambda 表达式代替传统槽函数。这对于一次性处理或简化代码非常有用。3. 函数指针的使用Qt 5 引入了基于函数指针的信号与槽连接方式,比字符串形式更加安全和高效。4. 信号与槽的

2024-11-30 19:47:31 2006 38

原创 基于epoll ET模式 的 非阻塞IO服务器模型

你的这段代码整体设计非常扎实,目标明确——使用 `epoll` 的 **边缘触发 (ET) 模式** 实现一个高并发 TCP 服务器,模拟**接收小缓冲区**和**大数据压力**下的传输情景,细节处理得也比较完善,尤其是在非阻塞 I/O、缓冲处理和连接管理上都非常到位。即使你设了 `recv_buf[1]`,也可以把 `recv()` 调整为尽可能多地接收数据,比如设为 `recv_buf[512]`,然后 `memcpy` 进去,这样你仍然保有模拟小缓冲区的结构,但性能好很多。

2024-04-03 21:07:53 1137 18

原创 RTX 5090 硬件单元与可编程性全面分析

是深度学习爆发的产物。是视频处理需求的产物。视频编解码是高度标准化的算法流程,与其占用宝贵的 CUDA Cores,不如做一块专用 ASIC。光追的核心计算是光线与场景几何体的求交,传统上在 CUDA Cores 上计算太慢,无法实时。是 Blackwell 新引入的调度单元,专门解决 AI 推理和图形渲染混跑时的任务分配问题,让两条流水线互不阻塞。是图形渲染管线专用的固定功能单元,它们伴随 GPU 诞生,负责把三角形变成屏幕上的像素。GPU 的每一个硬件单元,都是为了解决一个具体的性能瓶颈而生的。

2026-03-14 10:16:55 308

原创 计算机科学中的「时空转换」,是否对应数学或物理学中的某处结构?

解决同一计算问题时,两种核心资源符号名称含义TTT时间复杂度(Time)算法执行的基本运算步数,衡量"算多久"SSS空间复杂度(Space)算法运行过程中同时占用的存储单元数,衡量"记多少"投入更多空间SSS→ 可以减少时间TTT(查表、缓存、记忆化)压缩空间SSS→ 需要付出更多时间TTT(重复计算、流式处理)# 方案A:空间极小,时间较长# S = O(1)(只存两个变量),T = O(n)(循环 n 次)return b# 方案B:用空间换时间。

2026-03-13 08:44:44 346

原创 C++ 代码通过 WebAssembly 在浏览器中运行的完整流程

C++ 通过 Emscripten(基于 Clang/LLVM)编译为.wasm二进制字节码,并由 Emscripten 运行时提供 libc、POSIX、虚拟文件系统等模拟层;浏览器内置的 Wasm 引擎将字节码编译为 CPU 原生机器码后直接执行,其数据存放在沙箱化的线性内存中(代码区与数据区严格隔离),通过 JS 胶水代码桥接浏览器 API(DOM、WebGL、网络等),从而让 C++ 程序在浏览器中——尤其在计算密集型场景下——以接近原生的速度运行。

2026-03-12 17:06:19 252

原创 3D 技术全景速查表

2026-03-12 14:55:23 329

原创 着色器语言二十年演化全史

全称:Standard Portable Intermediate Representation - V(标准可移植中间表示,第五版)。诞生:2015 年,由 Khronos 组织随 Vulkan 1.0 同时发布。SPIR-V 不是一门编程语言。它是一种二进制字节码格式,设计目的是作为"高级语言"和"GPU 硬件"之间的标准化中间层。领域程序员编写的语言中间字节码最终执行的机器码Java 生态.java源代码.class字节码(JVM 执行)CPU 原生指令.NET 生态.cs.vb源代码。

2026-03-12 13:40:19 440

原创 深入剖析:MSVC 编译器 /MP 与 /Yc 的冲突机制

在 Microsoft Visual C++ (MSVC) 编译器中,/MP(多处理器编译)与/Yc(创建预编译头)是两个被广泛使用的编译选项。/MP要求多个cl.exe进程同时独立地处理不同的翻译单元(Translation Unit),而/Yc则要求在所有其他翻译单元编译之前,率先且唯一地完成预编译头文件(PCH)的创建。本文将从 MSVC 编译器的进程调度模型、文件系统 I/O 竞争、PCH 的二进制结构依赖三个维度,深入分析这一冲突的根因、表现形式及工程实践中的规避策略。关键词:MSVC,/MP。

2026-03-12 04:07:07 349

原创 数域:从数手指头到无穷维的人类数学扩张史

数学的每一次进步,都不是天才灵感的闪现,而是被现实问题逼到绝路后的绝地求生。数域的扩张史,就是人类一次又一次发现"数不够用了"的历史。一个数域(Number Field),就是一个数的集合,在这个集合里你可以自由地做加减乘除,而且运算结果永远不会跑出这个集合。数域F满足:∀ab∈F⇒ab;a−b;a×b;a÷b;除数b≠0;∈F。

2026-03-10 20:50:52 325

原创 纯数学意义上 NURBS 能力范围的思考

非均匀有理B样条(Non-Uniform Rational B-Spline,简称NURBS)自20世纪中后期发展成熟以来,已经成为计算机辅助设计(CAD)、计算机图形学(CG)和数控加工(CAM)领域事实上的几何表达标准。在工业界,人们常常听到一种流传甚广的说法:“NURBS可以表示任何曲线和曲面”。这种说法在工程实践中几乎是正确的,但从纯数学的视角审视,它并不严谨,甚至可以说是错误的。本文试图以严格的数学语言,系统地回答一个核心问题:在纯数学意义上,NURBS究竟能精确表示什么,不能精确表示什么,又能在

2026-03-10 08:41:01 365

原创 详解 外代数(Exterior Algebra)与霍奇对偶(Hodge Duality)

这就是数学层面上的“强制降维”。这也完美解释了“把面积等同于长度”,本来就是人类为了在三维世界里方便计算(统一使用向量),而人为制造的一个“数学补丁”。而在真实的宇宙几何底层代码(外代数)中,面积就是面积,永远不会变成线段。这根竖起来的线段,根本不是面积本身,而是面积在三维世界里的“霍奇对偶化身”!因为在三维里,“面”和“垂直于它的线”是一一绑定的,物理学家为了计算方便(全用向量算),就用这根线代替了面。已经完美描述了面积,那为什么我们在大学物理和三维几何里,还要捏造出一个代表线段的叉积(

2026-03-09 20:15:55 320

原创 CGAL vs OCCT: 功能概览及对比

CGAL 几乎覆盖了计算几何的所有核心领域,其最大优势在于。

2026-03-07 22:14:10 764

原创 让互相卡脖子成为新常态: 全球知名 CAD/CAE/CAM 软件及其底层核心几何内核(Primary Geometric Kernel)全景图

西门子”和“达索”是真正的幕后大佬:你会发现不管你是买 Autodesk、买 ANSYS 还是买别的软件,你付的钱里,总有一部分作为“内核授权费”交给了西门子(Parasolid)或达索(ACIS)。这才是真正的生态级垄断。“买不如租”是工业界常态:开发一个类似 Parasolid 的内核需要至少 20 年和上亿美金的投入,而且充满 bug。所以像 Mastercam、COMSOL 这种身价几十上百亿的顶尖大厂,依然选择老老实实买西门子的授权,专心搞好自己擅长的工艺和求解器。大厂的“去卡脖子”自研史。

2026-03-07 22:07:55 730

原创 非欧几何(Non-Euclidean Geometry)全面探究

分类标准几何体系修改平行公设双曲几何、椭圆/球面几何改变度量结构黎曼几何、伪黎曼几何、芬斯勒几何、出租车几何改变变换群射影几何、仿射几何、共形几何改变底层空间有限几何、离散几何改变代数基础非交换几何、热带几何改变微分结构辛几何、接触几何Felix Klein 的Erlangen 纲领一种几何,就是研究在某个变换群作用下不变的性质。几何⟷变换群\text{几何} \longleftrightarrow \text{变换群} \quad (\text{Klein, 1872})几何⟷变换群。

2026-03-07 11:24:37 389

原创 数学 常用 符号 字母 手册

摘要:本文系统整理了数学中常用的希腊字母、希伯来字母和西里尔字母的符号表示、发音及数学含义。希腊字母24个大小写形式完整列出,标注中文音译和数学应用场景(如α表示角度,π代表圆周率)。同时介绍了希伯来字母(如ℵ表示无穷基数)和西里尔字母在高等数学中的特殊用途,以及数学特有的哥特体(𝔊表示李代数)和黑板粗体(ℕ表示自然数集)等字体变体应用。这些符号体系构成了数学表达的重要基础,帮助区分不同数学概念和结构。

2026-03-06 13:58:15 385

原创 大脑是一块“生物版 FPGA”:你的每一次死磕,都在重构底层硬件

理解了“大脑是生物 FPGA”这一本质,我们就能以一种极其宏大的视角来看待学习中的挫败感。下一次,当你面对艰涩的知识点感到大脑宕机、烦躁不安时,请不要再对自我产生怀疑。那不是你智商不够,那只是你的生物 FPGA 正在进行底层逻辑门的重组与布线。那份烧脑的痛苦,不过是硬件升级时,散热风扇在全力运转的轰鸣声。只要电不断,线缆连通的那一刻,转机必将到来。

2026-03-05 20:04:57 236

原创 人工智能: 起源

把这几万个像素当成。

2026-03-05 13:05:13 509

原创 哥德尔不完备定理与图灵停机问题

哥德尔真理(Truth)大于可证明(Provability)。有很多事情是真的,但数学公式无法证明。图灵明确定义的函数 大于 可计算(Computability)。有很多问题是可以清晰定义的,但计算机程序永远无法解决。它们并没有摧毁科学,反而确立了理性的边界。在这条边界之内,数学和计算机科学蓬勃发展;在这条边界之外,则为人类的直觉、创造力和意识留下了不可替代的神秘空间。

2026-02-27 15:26:22 574

原创 导数在多维空间的终极形态: 雅可比矩阵(Jacobian Matrix)

是什么:多元向量函数的“一阶导数”。干什么用的:把复杂的、弯曲的、非线性的世界,在局部强制变成简单的、平直的、线性的世界(即矩阵乘法)。重要性:没有雅可比矩阵,就没有机器人平滑的运动,没有深度学习的梯度下降,也没有现代复杂的工程仿真。

2026-02-27 15:06:23 875

原创 线性代数中的标准型

标准型变换关系适用对象存在条件唯一性RREF行变换任意矩阵总存在✅ 唯一等价标准形PAQPAQPAQ任意矩阵总存在✅(由秩确定)对角形(相似)P−1APP^{-1}APP−1AP方阵可对角化✅(不计顺序)Jordan 标准形P−1APP^{-1}APP−1AP方阵(C\mathbb{C}C上)总存在✅(不计块顺序)有理标准形P−1APP^{-1}APP−1AP方阵(任意域)总存在✅合同对角形CT。

2026-02-25 18:29:20 622

原创 大事化小、繁杂化简之矩阵分解

想解方程且追求速度?→→LU 分解(对称正定则用Cholesky需要正交基或做最小二乘法?→→QR 分解。想了解矩阵的拉伸率和固有方向?→→特征分解。处理真实世界的复杂数据、降维、去噪、压缩?→→无脑上SVD。需要分析数据的组成部分且要求结果人类能看懂?→→NMF。矩阵分解的本质,就是一种“大事化小、繁杂化简”的哲学。掌握了它们,你就掌握了透视多维数字世界的X光机。

2026-02-25 13:39:26 701

原创 寻找数学的“大一统”:当微积分遇见线性代数

请记住:你正在学习的,是能够包容微积分的无限变化、能够描述量子幽灵、能够驱动人工智能甚至丈量宇宙时空的——真正的宇宙母语。

2026-02-23 23:35:26 519

原创 秩的凋零:论神经网络初始化中权重退化的收敛困局

在线性代数的视角下,一个理想的权重矩阵W∈Rn×nW∈Rn×n应当具备满秩(Full Rank)的潜力。然而,如果初始化不当,导致WWW的行列式接近于零,或者其奇异值(Singular Values)分布呈现极端的不均匀(最大奇异值与最小奇异值之比,即条件数 Condition Number极大),矩阵便趋于“奇异”。权重矩阵正在执行一种“降维打击”。它将输入的丰富特征空间强行压缩到一个极低维的子空间中,导致大量有效信息在传递的第一步就发生了不可逆的丢失。

2026-02-19 09:39:49 507

自己编译的 c++ 98-23 标准(草案) 自行下载

自己编译的 c++ 98-23 标准(草案) 自行下载

2025-03-15

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

TA关注的人

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