In my code blocs,

`t`

are of type`Translation3`

and`r`

of type`UnitQuaternion`

.

While expressing the transformation of a camera in the coordinate system of another, I have the projection matrix:

```
| r1.inverse() * r2 r1.inverse() * (t2 - t1) |
| 0 1 |
```

When using the `Translation3`

type for `t1`

and `t2`

, the operation `Sub`

is not implemented. So I tried replacing it by `t2 * t1.inverse()`

which should be similar according to the semantics if I’m correct. Then there is another issue. Doing `r1.inverse() * (t2 * t1.inverse())`

is not possible I believe since I get the error: `expected Translation, found Isometry`

. So I guess I have few questions:

- How should I proceed to make this operation possible (if there is a way), and have the result as a
`Translation3`

? - Would it make sense to have
`Add`

and`Sub`

for translations? If so, I wouldn’t mind trying to make a PR.