<p>Every 3D rotation has an associated space that can be generated by 3 basis vectors, which can be seen as the axis of the coordenate system of this space. These vectors are also the 3 columns of the transformation matrix. In order to decrease the dof of the rotation, you should provide one or more of these basis vectors and solve for the rest of the matrix. The same principle applies to the translation vector, you should provide constants for one or more distances of the translation. Of course, if you restrict the transformation too much you will end with an unsolvable exact system or a transformation that take the first triangle too far away from the second one, if you are using a non-linear solver.</p>

CC BY-SA 3.0
2017-03-08T15:24:17.080Z
2017-03-08T15:24:17.080Z
dsilva.vinicius
<p>How can I calculate the rigid transformation [R|t] between two 3d triangles, but restricted to a given N degrees of freedom (for N = 1..6) ?</p>

<p>I know for N=6 I can get a least-squares solution via SVD of a certain matrix, but how can I integrate further constraints (fewer DOF) into the system?</p>

CC BY-SA 3.0
2017-04-08T05:29:49.060Z
Specifically what kind of constraints do you want to include?
Nathan Reed
<transformations><geometry><mathematics>
Calculate Transformation between two point sets - but with constrained Degrees of Freedom
ginsunuva
# Calculate Transformation between two point sets - but with constrained Degrees of Freedom

(Asked by: username_0 on 2017-03-05)

How can I calculate the rigid transformation [R|t] between two 3d triangles, but restricted to a given N degrees of freedom (for N = 1..6) ?

I know for N=6 I can get a least-squares solution via SVD of a certain matrix, but how can I integrate further constraints (fewer DOF) into the system?

**Tags:** transformations, geometry, mathematics

> **Comments:**
> **username_1**: Specifically what kind of constraints do you want to include?  

---

## 1 answers

### Answer by username_2 on 2017-03-08. Score: 1

Every 3D rotation has an associated space that can be generated by 3 basis vectors, which can be seen as the axis of the coordenate system of this space. These vectors are also the 3 columns of the transformation matrix. In order to decrease the dof of the rotation, you should provide one or more of these basis vectors and solve for the rest of the matrix. The same principle applies to the translation vector, you should provide constants for one or more distances of the translation. Of course, if you restrict the transformation too much you will end with an unsolvable exact system or a transformation that take the first triangle too far away from the second one, if you are using a non-linear solver.


---

