Open kramsretlow opened 5 months ago
Not a maintainer (or even contributor) but I agree with your point. What do you think about the tables I created in this comment? That are obviously too much for a docstring, which is the issue here, but the docstrings could always refer to the readme as a reference for the "theory" required to understand the package.
I like your table 😄 and thanks for the link to the other discussion. For me, everything became clear when I saw the mathematical expressions in the docs, so maybe just an example and a URL is enough for the docstrings. Adding intrinsic vs. extrinsic rotations to the mix adds more complexity, but good to see this is being discussed in the other issue.
Taking
RotXYZ(roll=r, pitch=p, yaw=y)
as an example, the docstring saysI began somewhat uninitiated on Euler angles, so it took me quite some time to realize that
XYZ order
refers the the order of matrix multiplication (RxRyRz), rather than the sequence of actually carrying out the rotations. I thought it meant first rotate around the X axis byr
, then around Y byp
, then around Z byy
.The first sentence in the same doscstring is super clear, indicating the sequence of rotations and which argument is used for each, so maybe this pattern could be used for the keyword arguments case too. Also perhaps it could be made clear that the keyword arguments essentially relate to argument order, e.g.
RotZXY(a, b, c) == RotZXY(roll=b, pitch=c, yaw=a)
. Or maybe just useX
,Y
,Z
as keyword arguments?Thanks for your work on the package!