Skip to content

Commit 58c07bc

Browse files
committed
some ai assisted grammer/writing style corrections
1 parent f889290 commit 58c07bc

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

docs/content/concepts/transforms.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: Transforms & Transform Frames
33
order: 300
44
---
55

6-
Rerun comes with built-in support for modelling spatial relationships between entities through.
6+
Rerun comes with built-in support for modeling spatial relationships between entities.
77
This page details how the [different archetypes](https://rerun.io/docs/reference/types/archetypes#transforms) involved interact with each other and explains how geometric transforms are set up in Rerun.
88

99
## Transform hierarchies with entity paths
1010

1111
The [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d) archetype allows you to specify how one coordinate system relates to another through translation, rotation, and scaling.
1212

1313
The simplest way to use transforms is through entity path hierarchies, where each transform describes the relationship between an entity and its parent path.
14-
Note that by default, all entities are connected via an identity transforms (to opt out of that, you have to use explicit transform frames, more on that later).
14+
Note that by default, all entities are connected via identity transforms (to opt out of that, you have to use explicit transform frames, more on that later).
1515

1616
TODO: make tested cross language snippet
1717
```python
@@ -86,25 +86,25 @@ rr.log("moon_transform", rr.Transform3D(
8686
Note that unlike in ROS, you can log your transform relationship on _any_ entity.
8787
However, currently once an entity specified the relation between two frames, this relation may no longer be logged on any other entity.
8888

89-
Named transform frames have a few of advantages over entity path based hierarchies:
89+
Named transform frames have several advantages over entity path based hierarchies:
9090
* topology may change over time
9191
* which entity is associated with which frame may change over time (it can also be [overridden via blueprint](..concepts/visualizers-and-overrides.md))
92-
* several entities may be associated with the same frame without
92+
* several entities may be associated with the same frame
9393
* frees up entity paths for semantic rather than geometric organization
9494

9595
## Entity hierarchy based transforms under the hood - entity derived transform frames
9696

9797
Under the hood, Rerun's entity path hierarchies actually use the same transform frame system as named frames.
98-
For each entity path, an associated transform frame with the prefix `tf#` automatically is automatically created:
98+
For each entity path, an associated transform frame with the prefix `tf#` is automatically created:
9999
for example, an entity `/world/robot` gets frame `tf#/world/robot`.
100100

101101
Path based hierarchies are then established by defaults the Viewer uses (also referred to as fallbacks):
102-
Given an entity `/word/robot`:
103-
* if no `CoordinateFrame::frame` is specified, it automatically defaults to `tf#/word/robot`
104-
* if no `Transform3D::child_frame` is specified, it automatically defaults to `tf#/word/robot`
105-
* if no `Transform3D::parent_frame` is specified, it automatically defaults to the parent's implicit frame, `tf#/word`
102+
Given an entity `/world/robot`:
103+
* if no `CoordinateFrame::frame` is specified, it automatically defaults to `tf#/world/robot`
104+
* if no `Transform3D::child_frame` is specified, it automatically defaults to `tf#/world/robot`
105+
* if no `Transform3D::parent_frame` is specified, it automatically defaults to the parent's implicit frame, `tf#/world`
106106

107-
The only special properties these implicit frames have over their named counter parts is that they
107+
The only special properties these implicit frames have over their named counterparts is that they
108108
have implicit identity relationships.
109109

110110
### Example
@@ -159,12 +159,13 @@ rr.log("arm",
159159
rr.log("gripper", rr.Points3D([0, 0, 0]), rr.CoordinateFrame("arm_frame"))
160160
```
161161

162-
TODO: show a picture of a tree.
162+
TODO: show a graph
163163

164164
## Pinhole projections
165165

166-
In Rerun, pinhole cameras are also treated as spatial relationships that define projections from 3D spaces to 2D subspaces.
167-
This unified approach allows the same transform system to handle both traditional 3D-to-3D transforms and 3D-to-2D projections seamlessly.
166+
In Rerun, pinhole cameras are not merely another archetype that can be visualized,
167+
they are also treated as spatial relationships that define projections from 3D spaces to 2D subspaces.
168+
This unified approach allows the to handle both traditional 3D-to-3D transforms and 3D-to-2D projections.
168169

169170
The [`Pinhole`](https://rerun.io/docs/reference/types/archetypes/pinhole) archetype defines this projection relationship through its intrinsic matrix (`image_from_camera`) and resolution.
170171
Both implicit & named coordinate frames are supported, exactly as on [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d).
@@ -217,8 +218,8 @@ For 2D spaces and other entities, view coordinates currently have currently no e
217218
Unlike with [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d), poses do not propagate through the transform hierarchy
218219
and can store an arbitrary amount of transforms on the same entity.
219220

220-
An entity that has both [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)
221-
without `child_frame`/`parent_frame` as well as `InstancePoses3D`,
221+
For an entity that has both [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)
222+
(without `child_frame`/`parent_frame`) and `InstancePoses3D`,
222223
the [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d) is applied first
223224
(affecting the entity and all its children), then [`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d)
224225
is applied only to that specific entity.

0 commit comments

Comments
 (0)