constraints.DistanceConstraint
constraints.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.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.DistanceConstraint.dof_reduction()
Distance constraint adds 1 scalar equation, reducing DOF by 1.
get_parameters
constraints.DistanceConstraint.get_parameters()
Return both parameters involved in the distance constraint.