# Phil 7.28.20

GPT-2 Agents

Book

GOES

• Digging into coordinate frame transformations
• It looks like these are some potential good libraries:
• Starting with Transforms3d. It looks like it does most of the things I think I need to see?
• aff – 4×4 affine matrix for operating on homogenous coordinates of shape (4,) or (4, N);
• mat – 3×3 transformation matrix for operating on non-homogenous coordinate vectors of shape (3,) or (3, N). A rotation matrix is an example of a transformation matrix;
• euler – euler angles – sequence of three scalars giving rotations about defined axes;
• axangle – axis angle – axis (vector) and angle (scalar) giving axis around which to rotate and angle of rotation;
• quat – quaternion – shape (4,);
• rfnorm : reflection in plane defined by normal (vector) and optional point (vector);
• zfdir : zooms encoded by factor (scalar) and direction (vector)
• zdir – factor (scalar), direction (vector) pair to specify 3D zoom matrix;
• striu : shears encoded by vector giving triangular portion above diagonal of NxN array (for ND transformation)
• sadn : shears encoded by angle scalar, direction vector, normal vector (with optional point vector)
• Scipy also has some good stuff in their spatial transformations library, particularly SLERP
• Transforms3d doesn’t seem to have a SLERP function, but pyquaternion does. Going to try some more experiments. I think this is right? Need to plot:
```Earth vec, rotated 90 degrees

degree = 90
q = +0.707 +0.000i +0.707j +0.000k
x = [0.00, 0.00, -1.00]
y = [0.00, 1.00, 0.00]
z = [1.00, 0.00, 0.00]

Yaw vec, rotated 45 degrees

degree = 45
q = +0.924 +0.000i +0.000j +0.383k
x = [0.71, 0.71, 0.00]
y = [-0.71, 0.71, 0.00]
z = [0.00, 0.00, 1.00]

Composite vec
x = [0.00, 0.71, -0.71]
y = [0.00, 0.71, 0.71]
z = [1.00, 0.00, 0.00]```