# Morph Constraints

Morph constraints are a powerful tool that can be used to restrict the movement of nodes during morphing operations.

The following types of constraints can be applied to any node: fixed, cluster, along vector, on plane, along line, on surface, and on elements. Whenever a handle is moved that influences a node which is constrained, the node is moved according to the handle perturbation and is then projected back onto the feature to which it is constrained. This allows the nodes to slide across vectors, lines, planes, surfaces, and meshes, to remain fixed when handles are moved, or to move as a cluster along with other nodes. You may also constrain nodes where handles are located which, in effect, constrains the handles. When a perturbation is applied to a constrained handle, the handle are moved along the constraint feature regardless of the applied perturbation. This means that if you apply a translation in the x direction on a handle that is constrained along a vector x - y = 0, the handle moves along both the x and y axes.

There are also morph constraints that can be applied to domains, such as the smooth constraint, which applies spline-based smoothing along the constrained edge domains, and model constraints, which allow you to set a given parametric target, such as length, angle and mass, and have HyperMorph adjust the model to meet that target. These constraints as well as bounded and set distance options for the node constraints are described more fully in the panel help.

Morph constraints can be very useful for morphing a mesh that has been mapped to, projected to, or created upon a surface. Note that the map to geom operation allows you to have a morph constraint automatically created after mapping. Once you have done so, the nodes will remain on the surface during morphing operations.
Note: Although morph constraints can keep nodes on a curved line or surface during morphing operations, when morphs are saved as shapes and then turned into shape variables for optimization, the nodes will not stay on the line or surface during optimization. This is because optimization is a linear process and the shapes will be treated as linear, meaning that the nodes will move directly from their original point to their maximally perturbed point without moving along any constraint.