Vector3f rbAxisB1 = QuaternionUtil.quatRotate(rotationArc, rbAxisA1, Stack.alloc(Vector3f.class));
Vector3f rbAxisB2 = Stack.alloc(Vector3f.class);
rbAxisB2.cross(axisInB, rbAxisB1);
rbBFrame.origin.set(pivotInA);
centerOfMassA.transform(rbBFrame.origin);
rbBFrame.basis.setRow(0, rbAxisB1.x, rbAxisB2.x, axisInB.x);
rbBFrame.basis.setRow(1, rbAxisB1.y, rbAxisB2.y, axisInB.y);
rbBFrame.basis.setRow(2, rbAxisB1.z, rbAxisB2.z, axisInB.z);
// start with free