首页 > 开源 > 面向船舶/计算机/数学专业,参赛可获中船海舟校招优先机会

面向船舶/计算机/数学专业,参赛可获中船海舟校招优先机会

OSChina资讯 2026-09-18 15:55 5 阅读 查看原文

一艘船的设计模型做完,里面躺着成千上万张曲面。这些曲面的数学表达大多是非均匀有理 B 样条,也就是 NURBS。它能用统一形式装下自由曲面和圆柱、圆锥、球、圆环这类解析曲面,是 CAD、CAM、CAE 系统里通行的建模方式。

NURBS 的麻烦在算得慢。表达式复杂,一旦进入海量几何数据处理,求交、投影、布尔运算的开销就上来了,大型装配设计、高精度仿真分析、实时渲染都卡在这一环。船舶模型里其实有大量圆柱面、圆锥面,它们完全可以用更简洁的代数形式表达,换成二次曲面之后,几何计算的效率优势相当明显。

难处在于人眼看得出这是圆柱面,程序未必知道。如何让程序自己从一堆样条面里认出哪些可以等效成二次曲面,转换之后还不丢精度?针对这一场景,中国船舶集团海舟系统技术有限公司在 2026 上海开源软件应用创新大赛上提出赛题《样条面到二次曲面智能转换算法》。

中国船舶集团海舟系统技术有限公司(简称中船海舟)2021 年 12 月挂牌成立,2022 年 6 月实体化运营,注册资金 10 亿元,总部在上海,在北京、武汉等地设有分部或研发基地。它是中船集团工业软件工程实施牵头单位、工业软件研发技术总体单位,围绕珊瑚 CAD、虎魄 PLM、海星 SGK 三条产品线,做船舶工业全寿期的自主工业软件。

这次命题的底座是海星 SGK,一款三维几何内核,由内核团队历时三年半自主研发,具备多尺度、复杂曲面和大数据的建模能力,有完备的几何、拓扑表达能力和可变容差建模体系,支持与主流内核无损数据交换,源码 100% 自研。它同时也是自主三维设计软件珊瑚 Marine 的底层内核,珊瑚 Marine 已入选中船集团“十四五”十大科技成果。

几何内核是 CAD 软件的命门,长期由国外产品把持。要让自主内核真正顶上来,核心几何算法的效率是绕不过去的一关,这次命题就落在这里。

命题解读:认出那些该被简化的样条面

赛题全称是“样条面到二次曲面智能转换算法”,归属 2026 上海开源大赛 AI+工业软件赛道。

命题要解决的核心问题分两层。一层是判定,从样条面中准确识别可以等效表示为圆柱、圆锥、球、圆环等二次曲面的对象;另一层是转换,在满足几何距离、边界一致性和相邻曲面连续性要求的前提下完成转换,让结果在后续投影、求交、布尔运算里真的省下时间。

精度目标写得硬。转换后二次曲面与原样条面的最大几何距离和平均距离误差不超过 1e-5 毫米,生成的二次曲面边界线与输入曲面边界线的 Hausdorff 距离同样不超过 1e-5 毫米,相邻曲面的 G1 连续性误差也就是法向量夹角,不超过 0.1 度。

性能目标的指标同样具体。单张样条面控制点数量在 50 到 200 个之间时,转换判定耗时不超过 10 毫秒;转换完成之后,这部分曲面的投影、求交和布尔运算耗时要比原来降低不低于 50%。

兼容性和稳定性要求同样具体。代码用 C++ 编写,在海星 SGK1.7 版本上开发。连续处理 1000 个不同复杂度的 NURBS 曲面,不能出现算法崩溃、内存泄漏或结果不一致;遇到损坏的 NURBS 文件、超范围参数这类异常输入,要给出清晰可追溯的报错信息。

交付与评审

交付四项。方案设计文件要覆盖全部功能需求,讲清算法流程、实现方法和测试方法;工程代码提交到 Gitee 或 GitHub,用 C++ 编写,基于海星 SGK1.7 开发,格式规范、注释充分;测试材料要覆盖全部接口的单元测试、测试程序、测试用例与原始数据,连续处理与异常输入场景都得覆盖;实验报告要说明测试设计与可行性,给出误差分析,还要写出算法的不足与优化空间。

评审满分 100 分,四个维度的分布很有特点。代码实现占 40%,是权重最大的一块,其中性能测试占 20%,按精度、性能、兼容性、稳定性四类要求分别计分,四类全满足才能拿满,只满足两类分数要砍掉一半。方案设计占 20%,看可行性、完整性和原创性。非功能性指标占 20%,测试案例和稳定性各占 10%。实验报告占 20%,完整性和误差分析各占 10%。作品须实现转换功能,综合得分不低于 60 分。

有个细节值得参赛者留意。代码提交这一项占 10 分,代码注释质量另占 10 分,命题明确写了注释率超过 50% 才算高分档。这道题不只看算法跑得对不对,还看代码交出去之后,别人能不能读懂、能不能接着维护。

谁适合投这道题

这道题面向船舶、数学、计算机算法相关专业,领域较为垂直。做过几何算法、CAD 内核或曲线曲面相关工作的,可以从判定算法直接切入;有数值计算、曲面拟合或精度控制背景的,能在误差这一环发挥;熟悉 C++ 工程与性能调优的,正好对上 10 毫秒判定和 50% 提速这两个硬指标;习惯写单元测试和实验报告的,能把非功能性指标和实验报告这 40 分稳稳拿到手。

个人可以一人成队,小团队可以按判定算法、C++ 实现、测试与文档分工。

本次上海开源大赛报名截止 10 月 11 日,总决赛 10 月 29 日在上海张江人工智能创新小镇举办,决赛队伍将争夺总奖池 100 万元的奖金。欢迎船舶相关专业学生参赛,除奖金外,选做本赛题并提交作品合格的学生团队将有机会直通赛题方中船海舟的求职绿色通道,获得实习与校招优先录取机会

大赛官网:https://www.oschina.net/os2026/