From 2dd1b5490a1e606f63aabdb3d213ab96949ce207 Mon Sep 17 00:00:00 2001 From: bzinberg Date: Thu, 5 Aug 2021 19:26:14 -0400 Subject: [PATCH 1/3] Clarify matmul order --- docs/src/operations.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/src/operations.md b/docs/src/operations.md index 670bf02..420eec0 100644 --- a/docs/src/operations.md +++ b/docs/src/operations.md @@ -62,9 +62,10 @@ are `pose.orientation * [1, 0, 0]`, `pose.orientation * [0, 1, 0]` and ##### Example: Which order do I multiply things in? -Say we want to start with pose `p1` and translate its origin by `p2` and -matrix-multiply its orientation by `p2`. Would that new pose be written as -`p1 * p2` or `p2 * p1`? +Suppose we start with coordinate frame `p1`, and we want to translate its +origin by `p2.pos` and then rotate its coordinate axes via the linear map +`v ↦ p2.orientation * v`. Would the pose corresponding to the new coordinate +frame be written as `p1 * p2` or `p2 * p1`? Answer: `p1 * p2`. From 09939441795d8379188503fb0e352dd6d9919542 Mon Sep 17 00:00:00 2001 From: bzinberg Date: Thu, 5 Aug 2021 19:28:19 -0400 Subject: [PATCH 2/3] We don't require right-handedness --- docs/src/operations.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/src/operations.md b/docs/src/operations.md index 420eec0..cb4b50c 100644 --- a/docs/src/operations.md +++ b/docs/src/operations.md @@ -75,8 +75,7 @@ There are two ways to think about poses: 1. A pose is a coordinate frame, described with respect to some other base coordinate frame. The `pos` says where the frame's origin is, and the - `orientation` says what directions its right-handed orthonormal axes point - in. + `orientation` says what directions its orthonormal axes point in. 2. A pose is a rigid motion. The translational component is `pos` and the orientation component is `orientation`. From 1534a9ff59f06e581313d3236f589a9c992af28f Mon Sep 17 00:00:00 2001 From: bzinberg Date: Thu, 5 Aug 2021 19:30:40 -0400 Subject: [PATCH 3/3] be even more explicit --- docs/src/operations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/operations.md b/docs/src/operations.md index cb4b50c..a599bb9 100644 --- a/docs/src/operations.md +++ b/docs/src/operations.md @@ -77,7 +77,7 @@ There are two ways to think about poses: coordinate frame. The `pos` says where the frame's origin is, and the `orientation` says what directions its orthonormal axes point in. 2. A pose is a rigid motion. The translational component is `pos` and the - orientation component is `orientation`. + orientation component is the linear map `v ↦ orientation * v`. When we talk about the [group action](https://en.wikipedia.org/wiki/Group_action_(mathematics)) of ``G`` on