- Precise geometric modeling (boundary representation): parametric and direct;
- Triangulation and different types of meshing algorithms;
- Voxels, point clouds, distance fields, octrees, bounding volume hierarchies;
- Collision detection, ray casting;
- Object classification, feature recognition, defeaturing;
- NURBS, Bezier, subdivision surfaces;
- Geometry simplification (decimation, wrapping);
- Interpolation and approximation with B-spline curves and surfaces;
- Boolean operations, Local operations, intersection algorithms for curves and surfaces;
- Representing CAD parts and assemblies in efficient graph structures;
- Transfer of mathematical algorithms to the cloud.
The skills we are looking for:
- Strong computer science background: knowledge of data structures, algorithms, computer architecture;
- Experience in numerical methods, computational geometry, linear algebra;
- Strong in C/C++ (knowledge of any second language is an advantage);
- Experience with MS Visual Studio or any IDE in Linux;
- Experience with Git or any other version control system;
- English level sufficient for reading papers and writing technical specifications.
The skills we consider as an advantage:
- Familiarity with geometric modeling in the application to CAD/CAM/CAE domains;
- Knowledge of NURBS curves and surfaces and the related algorithms;
- Experience in computer graphics or game development;
- Experience in writing commercial-grade software;
- Knowledge of parallel computing principles;
- Jenkins, Bitbucket, other DevOps including CI/CD;
- Proficient spoken English;
- Self-motivated, flexible team player;
- Being able to mentor/coach/train other colleagues as a domain expert.
Work in international team. We grant a great package of additional benefits such as flexible working time, medical insurance, language courses, sport and event programs.