RotateAboutAxis seems to be horribly broken, resulting in… well nothing explainable really. Whatever is happening, it shouldn’t be happening at all. See the examples below for how broken it is, it doesn’t even respond to input.
Examples:
X-Axis
Input Vector: 1,0,0
Rotation Angle: 0
Rotation Axis: 1,0,0
Expected Output: 1,0,0
Actual Output, 0,0,0
Input Vector: 0,1,0
Rotation Angle: 0
Rotation Axis: 1,0,0
Expected Output: 0,1,0
Actual Output, 0,0,0
Input Vector: 0,0,1
Rotation Angle: 0
Rotation Axis: 1,0,0
Expected Output: 0,0,1
Actual Output, 0,0,0
Y-Axis
Input Vector: 1,0,0
Rotation Angle: 0
Rotation Axis: 0,1,0
Expected Output: 1,0,0
Actual Output, 0,0,0
Input Vector: 0,1,0
Rotation Angle: 0
Rotation Axis: 0,1,0
Expected Output: 0,1,0
Actual Output, 0,0,0
Input Vector: 0,0,1
Rotation Angle: 0
Rotation Axis: 0,1,0
Expected Output: 0,0,1
Actual Output, 0,0,0
Z-Axis
Input Vector: 1,0,0
Rotation Angle: 0
Rotation Axis: 0,0,1
Expected Output: 1,0,0
Actual Output, 0,0,0
Input Vector: 0,1,0
Rotation Angle: 0
Rotation Axis: 0,0,1
Expected Output: 0,1,0
Actual Output, 0,0,0
Input Vector: 0,0,1
Rotation Angle: 0
Rotation Axis: 0,0,1
Expected Output: 0,0,1
Actual Output, 0,0,0