constraints.types.distance.DistanceConstraint

constraints.types.distance.DistanceConstraint(
    param1,
    param2,
    distance,
    *,
    weight=1.0,
)

Constraint that fixes the distance between two points/vectors.

This constraint enforces: ||p1 - p2|| = distance

Reduces DOF by 1 (one scalar equation).

Parameters

Name Type Description Default
param1 Vector First point/vector (Vector parameter) required
param2 Vector Second point/vector (Vector parameter) required
distance Scalar | float Target distance (Scalar parameter or float) required

Example

p1 = Vector([0, 0, 0], free=True, name='p1')
p2 = Vector([1, 0, 0], free=True, name='p2')
constraint = DistanceConstraint(p1, p2, 0.2)

Methods

Name Description
compute_residual Compute distance constraint residual: ||p1 - p2|| - d.
dof_reduction Distance constraint adds 1 scalar equation, reducing DOF by 1.
get_parameters Return both parameters involved in the distance constraint.

compute_residual

constraints.types.distance.DistanceConstraint.compute_residual(param_values)

Compute distance constraint residual: ||p1 - p2|| - d.

Parameters

Name Type Description Default
param_values dict[str, Array] Dict with keys matching parameter names required

Returns

Name Type Description
Array Scalar residual (0 when constraint is satisfied)

dof_reduction

constraints.types.distance.DistanceConstraint.dof_reduction()

Distance constraint adds 1 scalar equation, reducing DOF by 1.

get_parameters

constraints.types.distance.DistanceConstraint.get_parameters()

Return both parameters involved in the distance constraint.