Nurbs implementation


Root  Previous item  Next item

The relaxation code backbone is network based. This means it only works with nodes (3D points) and connections between these nodes. But networks are not surface geometry, so we need to somehow translate geometry into networks. This is easiers with meshes, since all meshes can be represented by networks (but not the other way around). A nurbs surface has several properties (some numeric values, others 3D points), that control the shape of the geometry. The control-point grid is perhaps the best known one. Below you can see such a cp-grid. Because the shape is so flat, the points are near the actual surface, but this does not need to be the case always. Controlpoints are ordered in a UV matrix, and thus each point has a UV coordinate indicating it's position in the surface and a XYZ coordinate indicating it's position in space. The 'reach' of a controlpoint depends on the degree of the surface, but this property does not play a role in relaxation.
When we relax nurbs surfaces we treat the control-pointgrid as a polygon meshgrid. The translation back into nurbs surfaces is made only once: after the algorithm completes. Because of it's strict properties, nurbs surfaces are easy entities to relax, and for simple shapes they are the best choice. However if you need to relax a shape that cannot be represented by a single nurbs surface, you need to switch to meshes.

NURBS_typology


 


For additional information.