@@ -36,15 +36,15 @@ class CamerasBase(TensorProperties):
3636
3737 For cameras, there are four different coordinate systems (or spaces)
3838 - World coordinate system: This is the system the object lives - the world.
39- - Camera view coordinate system: This is the system that has its origin on the camera
40- and the and the Z-axis perpendicular to the image plane.
39+ - Camera view coordinate system: This is the system that has its origin on
40+ the camera and the Z-axis perpendicular to the image plane.
4141 In PyTorch3D, we assume that +X points left, and +Y points up and
4242 +Z points out from the image plane.
4343 The transformation from world --> view happens after applying a rotation (R)
4444 and translation (T)
4545 - NDC coordinate system: This is the normalized coordinate system that confines
46- in a volume the rendered part of the object or scene. Also known as view volume.
47- For square images, given the PyTorch3D convention, (+1, +1, znear)
46+ points in a volume the rendered part of the object or scene, also known as
47+ view volume. For square images, given the PyTorch3D convention, (+1, +1, znear)
4848 is the top left near corner, and (-1, -1, zfar) is the bottom right far
4949 corner of the volume.
5050 The transformation from view --> NDC happens after applying the camera
@@ -54,10 +54,9 @@ class CamerasBase(TensorProperties):
5454 - Screen coordinate system: This is another representation of the view volume with
5555 the XY coordinates defined in image space instead of a normalized space.
5656
57- A better illustration of the coordinate systems can be found in
58- pytorch3d/docs/notes/cameras.md.
57+ An illustration of the coordinate systems can be found in pytorch3d/docs/notes/cameras.md.
5958
60- It defines methods that are common to all camera models:
59+ CameraBase defines methods that are common to all camera models:
6160 - `get_camera_center` that returns the optical center of the camera in
6261 world coordinates
6362 - `get_world_to_view_transform` which returns a 3D transform from
@@ -167,8 +166,8 @@ def get_camera_center(self, **kwargs) -> torch.Tensor:
167166 as keyword arguments to override the default values
168167 set in __init__.
169168
170- Setting T here will update the values set in init as this
171- value may be needed later on in the rendering pipeline e.g. for
169+ Setting R or T here will update the values set in init as these
170+ values may be needed later on in the rendering pipeline e.g. for
172171 lighting calculations.
173172
174173 Returns:
@@ -237,8 +236,9 @@ def transform_points(
237236 self , points , eps : Optional [float ] = None , ** kwargs
238237 ) -> torch .Tensor :
239238 """
240- Transform input points from world to camera space with the
241- projection matrix defined by the camera.
239+ Transform input points from world to camera space.
240+ If camera is defined in NDC space, the projected points are in NDC space.
241+ If camera is defined in screen space, the projected points are in screen space.
242242
243243 For `CamerasBase.transform_points`, setting `eps > 0`
244244 stabilizes gradients since it leads to avoiding division
@@ -492,7 +492,7 @@ class FoVPerspectiveCameras(CamerasBase):
492492 """
493493 A class which stores a batch of parameters to generate a batch of
494494 projection matrices by specifying the field of view.
495- The definition of the parameters follow the OpenGL perspective camera.
495+ The definitions of the parameters follow the OpenGL perspective camera.
496496
497497 The extrinsics of the camera (R and T matrices) can also be set in the
498498 initializer or passed in to `get_full_projection_transform` to get
@@ -780,7 +780,7 @@ class FoVOrthographicCameras(CamerasBase):
780780 """
781781 A class which stores a batch of parameters to generate a batch of
782782 projection matrices by specifying the field of view.
783- The definition of the parameters follow the OpenGL orthographic camera.
783+ The definitions of the parameters follow the OpenGL orthographic camera.
784784 """
785785
786786 # For __getitem__
0 commit comments