constraints.types.parallel.ParallelConstraint
constraints.types.parallel.ParallelConstraint(vector1, vector2, *, weight=1.0)Constraint that forces two vectors to be parallel.
This is equivalent to AngleConstraint with angle=0 or angle=π.
Reduces DOF by 2 (two scalar equations from cross product = 0).
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| vector1 | Vector | First direction vector (Vector parameter) | required |
| vector2 | Vector | Second direction vector (Vector parameter) | required |
Example
v1 = Vector([1, 0, 0], free=True, name='v1')
v2 = Vector([2, 0, 0], free=True, name='v2')
constraint = ParallelConstraint(v1, v2)Methods
| Name | Description |
|---|---|
| compute_residual | Compute parallel constraint residual: v1 × v2. |
| dof_reduction | Parallel constraint adds 2 independent equations (cross product in 3D). |
| get_parameters | Return both vectors involved in the parallel constraint. |
compute_residual
constraints.types.parallel.ParallelConstraint.compute_residual(param_values)Compute parallel constraint residual: v1 × v2.
Two vectors are parallel iff their cross product is zero.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| param_values | dict[str, Array] | Dict with keys matching parameter names | required |
Returns
| Name | Type | Description |
|---|---|---|
| Array | Cross product (3D array, should be ~[0, 0, 0] when satisfied) |
dof_reduction
constraints.types.parallel.ParallelConstraint.dof_reduction()Parallel constraint adds 2 independent equations (cross product in 3D).
get_parameters
constraints.types.parallel.ParallelConstraint.get_parameters()Return both vectors involved in the parallel constraint.