1.掌握C++11、C++14、C++17等不同标准的特性,比如智能指针、lambda表达式、constexpr、STL容器和算法等。
2.数据结构与算法:熟悉链表、树、图、排序和搜索算法等基础知识,能够编写高效代码。
3.设计模式:了解常用的设计模式(如单例、工厂、观察者等),提升代码的可维护性和扩展性。
4.内存管理:熟悉内存分配、指针操作和内存泄漏调试,理解智能指针的用法。
5.并发编程:掌握多线程编程、锁、原子操作等并发控制技术,优化程序的性能。
6.操作系统:具备操作系统原理(如进程管理、线程管理、I/O等)的基础知识,尤其是Linux系统上的开发经验。
7.调试和性能优化:熟练使用gdb、Valgrind、perf等调试和性能分析工具,能够优化代码运行效率。
8.大型项目经验:具备阅读和编写大型C++项目的经验,理解模块化设计、代码复用等工程化能力。
1.xxx仿真软件
项目描述:负责虚拟现实仿真系统的开发,模拟真实场景中的物体交互,应用于医疗训练、工程施工等领域。
技术要点:
使用 C++与OpenVR 实现虚拟现实设备的接入,兼容不同的VR硬件。
实现了 Inverse Kinematics(逆向运动学),使得虚拟角色的运动与用户动作同步。
集成 Bullet Physics 实现物理交互,确保物体在虚拟环境中的碰撞和运动真实感。
使用 Deferred Shading 技术提升渲染性能,避免传统正向渲染的多次渲染开销。
使用 JSON 序列化和存储用户场景数据,实现场景的保存和动态加载。
项目成果:仿真系统可以处理复杂的交互动作,并在多个VR设备上实现流畅的用户体验,用户反馈体验感真实,适合训练与演练。
2.大规模人群仿真系统
项目描述:开发了一个大规模人群仿真系统,用于模拟人群在城市环境中的移动和交互,适用于交通仿真、灾难演练等场景。
技术要点:
使用 Agent-based 模型,基于每个个体的行为决策实现多样化的移动和交互。
采用 A*算法 和 Dijkstra算法 实现路径规划,结合动态避障算法模拟人群流动。
通过 C++多线程处理分布式计算加速仿真,降低计算瓶颈。
实现了 LOD(Level of Detail) 技术,在保证仿真精度的前提下减少远距离个体的计算。
使用 OpenGL 和 Dear ImGui 创建数据可视化界面,便于观察和分析人群行为。
项目成果:系统可处理上万名个体的实时仿真,提供了较高的扩展性和良好的可视化效果。
角色 | 职位 |
负责人 | 高级C++开发工程师 |
队员 | 产品经理 |
队员 | UI设计师 |
队员 | 前端工程师 |
队员 | 后端工程师 |
红外光电全数字实时场景仿真系统以图形化、参数设置、下拉菜单等方式,完成各个仿真场景、目标、干扰、云层等仿真要素的参数设置。采用模型库方式,管理所有模型。通过光纤网数据通信接口,接收实时仿真数据,驱动实时仿真模块,完成激光红外渲染和图像输出。 根据工作环境中目标、背景的材质属性,
1)设备管理:能够对整机或单个组件进行连接、配置和监控,支持多种通信接口(包括串口、网络、板载IO等)。 2)测试流程定义与编辑:提供直观易用的界面,以便用户能够定义和编辑测试流程。用户应能够按需添加、删除和修改测试步骤,包括设备接口初始化、指令发送、指令接收、复位、延时等。同