- 博客(20)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 从扭摆多项式到光滑样条:CAGD参数曲线表示法的演进之路
在上一篇文章中,我们讲述了几何形状参数化是CAGD的理论基础。今天,我们将回溯历史,看看工程师们是如何用这种方法,从笨拙生硬的单一多项式,逐步书写出流畅优美的样条曲线的。这是一段关于的技术演进史。当工程师无数次利用一系列来自物理测量或概念设计的离散数据点,命令CAD系统“生成一条光滑曲线”时,可曾想过,这看似简单的指令,背后经历了多少数学形式的迭代与选择?从僵硬的整体插值到灵活的分段拼接,从发散的扭摆曲线到稳定的物理模拟,这条演进之路,奠定了现代所有CAD系统的底层逻辑。
2025-12-17 14:48:15
854
原创 参数曲线曲面--几何表示方法的理论基础
参数化是计算机辅助几何设计(CAGD)的核心技术,通过引入参数变量将曲线曲面转化为可计算的动态对象。相比显式和隐式表示,参数化能自由描述复杂几何形状,支持高效采样与局部控制。参数曲线的关键性质包括切向量、曲率和弧长,而参数曲面则涉及偏导矢、法向量及曲率分析。工程应用中,参数化质量直接影响算法稳定性,需权衡参数连续性与几何连续性的关系。参数化作为几何设计与分析的通用语言,为B样条等高级方法奠定了基础,其实际应用还需结合数值精度与计算效率的工程化考量。
2025-12-08 17:03:05
492
原创 B样条曲线曲面的C++实现
本文介绍了B样条曲线曲面的数学原理与C++实现。B样条通过节点向量和分段多项式克服了贝塞尔曲线缺乏局部控制性的缺点。文章详细阐述了B样条的核心定义、节点向量类型及其影响,以及Cox-de Boor递归公式。在实现部分,提供了二维/三维点数据结构,并展示了B样条曲线类的关键实现,包括节点区间查找、基函数计算和导数计算等功能。这些内容为理解现代CAD系统的数学基础提供了实用参考。
2025-12-02 16:05:35
941
原创 贝塞尔(Bezier)曲线与曲面详解
贝塞尔曲线与曲面是计算机图形学中的重要工具。贝塞尔曲线由控制点定义,其数学表达式基于伯恩斯坦基函数,可通过德卡斯特里奥算法高效计算。文中提供了C++实现,包括曲线点计算、离散化采样等功能。贝塞尔曲面是曲线在二维参数空间的扩展,由控制点网格定义,同样提供了数学公式和C++实现。两类算法都支持参数化计算和网格离散化,为图形渲染、CAD建模等应用提供了基础支持。
2025-11-27 21:55:58
586
原创 从B样条到轻量级几何内核——CAGD工程实践总结
学习和从事几何内核相关的工作已经5年,现在想把一些知识和体会沉淀下来,所以开启了这个《青枣的计算机辅助几何设计(CAGD)》专栏。我们将深入探讨B样条、NURBS的核心算法,剖析几何内核开发中的陷阱与解决方案,并分享在CAD、CAE、计算机图形学等领域的前沿应用。在经历了Ferguson、Coons、Bézier等先驱的探索后,CAGD领域最终找到了它的“终极答案”——。前面讲的都是一些概述性的理论知识,但作为一名开发过几何内核的实践者,我想分享一些“工程化”的体会:。的数学表示方法的迫切需求。
2025-11-27 16:20:09
792
原创 如何使用python将CGNS文件中xyz坐标下的网格数据转换为极坐标
摘要:本文介绍了使用Python和pyCGNS库将CGNS网格文件从笛卡尔坐标系转换为柱坐标系的方法。关键步骤包括读取CGNS文件获取坐标点,计算柱坐标分量(r,θ,z),并更新文件数据。示例代码展示了如何转换坐标并保存结果,同时指出转换后坐标系标签仍为笛卡尔形式的问题。文中提醒注意转换可能影响后续求解器读取,建议备份原始文件并验证结果。转换实质是将坐标值替换为柱坐标分量,而非改变CGNS文件中的坐标系类型。
2025-09-25 17:36:29
331
原创 OCAF是什么?有什么能力?怎么用其来快速做一个CAD程序?
结构化数据管理:提供强大的树形结构来组织复杂工程数据。内置高级功能:免费获得撤销/重做参数化依赖(拓扑命名)和持久化等复杂功能。高扩展性:通过自定义属性,可以适应各种专业领域的CAD程序开发。标准化:数据存储格式是标准的,便于与其他基于OCC的应用程序交换数据。对于任何严肃的、需要超越简单几何查看和编辑的CAD程序开发,OCAF几乎是不二的选择。它的学习曲线虽然较陡,但能为你节省大量从头开始造轮子的时间和精力。
2025-09-09 16:40:25
879
原创 c++的lambda, std::function, function pointer 性能比较
在 C++ 中,lambda和函数指针的性能差异主要源于它们的实现机制和编译器优化能力
2025-05-08 16:27:02
727
原创 超限插值网格生成算法
超限插值算法本质上是一种通过数学插值方法,将一个简单的几何形状的网格平滑地转换到另一个更复杂形状的过程。这种方法不仅确保了网格的连续性和光滑性,还能高效地处理复杂的几何变换,广泛应用于计算几何、数值模拟和网格生成等领域。
2025-04-17 22:33:58
1144
原创 解拉普拉斯方程的方法
拉普拉斯方程的解法包括解析方法和数值方法。解析方法(如分离变量法)适用于边界条件简单、几何形状规则的问题,而数值方法(如有限差分法和有限元法)则适用于复杂几何形状和边界条件的求解。在实际工程中,数值方法广泛应用于各类物理场的求解。
2024-12-26 22:01:28
2856
原创 椭圆方法生成网格
椭圆型偏微分方程是一种数学方程,用于描述许多物理现象,比如静电场、热传导等。在网格生成中,椭圆方程的目标是通过控制网格点的分布,使得网格在区域的边界附近保持“整齐”并在整个区域内保持平滑。最常见的椭圆方程是。
2024-12-26 08:40:32
547
原创 拉格朗日插值法
拉格朗日插值法是一种简单且直观的多项式插值方法,能够通过给定的数据点构造出一个多项式,使得该多项式通过所有数据点。尽管它在小数据集上表现良好,但对于大规模数据集可能不太适用,因此在实践中通常采用其他插值方法(如样条插值等)来避免计算的复杂性和不稳定性。
2024-12-26 08:39:25
1643
原创 关于 llama.cpp 作用
llama.cpp 是一个开源的 C/C++ 端口,它允许用户在不使用 PyTorch 等深度学习框架的情况下,将PyTorch等训练产生的二进制文件进行转换,使其可在消费级 GPU/CPU 上运行大型语言模型(LLM)。通过上述功能,llama.cpp 为用户提供了一个高性能、灵活且易于使用的工具,用于在各种硬件平台上部署和运行大型语言模型,从而支持各种 AI 应用的开发和研究。
2024-06-29 11:52:44
972
原创 cmake命令execute_process,若其子进程执行失败,如何处理
根据子进程的返回码来决定后续的 CMake 命令。例如,你可以使用条件语句来设置变量或执行不同的命令。指定的变量,它将包含子进程的退出状态。你可以通过检查这个变量来确定进程是否成功执行。:如果子进程将输出写入到文件中,你可以检查这些文件是否存在或是否有预期的内容。这可以帮助你了解失败的原因。命令执行失败的情况,并根据失败的原因采取适当的行动。:有时子进程的执行依赖于当前的工作目录。:如果子进程可能挂起或运行时间过长,可以使用。:如果子进程的失败是不可恢复的,你可以使用。设置为子进程需要的正确路径。
2024-06-28 17:37:11
1210
1
原创 CAE软件技术现状调研
CAE软件技术现状调研CAE主要指用计算机对工程和产品进行性能与安全可靠性分析,对其未来的工作状态和运行行为进行模拟,及早发现设计缺陷,并证实未来工程、产品功能和性能的可用性与可靠性。CAE软件是迅速发展中的计算力学、计算数学、相关的工程科学、工程管理学与现代计算技术相结合,而形成的一种综合性、知识密集型信息产品。可以解决很多实际工程需要解决而理论分析又无法解决的复杂问题。目录一、国内外CAE软件现状二、CAE软件系统技术研究现状三、国内外免费CAE软件及开源软件介绍四、..
2020-10-28 16:15:45
4383
1
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅