code: private void addTranslationJacobian( DMatrixRMaj R ,
  										 Point3D_F64 cameraPt )
  	{
  		double z = cameraPt.z;
  		double z2 = z*z;
  
  		// partial T.x
  		output[indexX++] = R.get(0,0)/cameraPt.z - R.get(2,0)/z2*cameraPt.x;
  		output[indexY++] = R.get(1,0)/cameraPt.z - R.get(2,0)/z2*cameraPt.y;
  		// partial T.y
  		output[indexX++] = R.get(0,1)/cameraPt.z - R.get(2,1)/z2*cameraPt.x;
  		output[indexY++] = R.get(1,1)/cameraPt.z - R.get(2,1)/z2*cameraPt.y;
  		// partial T.z
  		output[indexX++] = R.get(0,2)/cameraPt.z - R.get(2,2)/z2*cameraPt.x;
  		output[indexY++] = R.get(1,2)/cameraPt.z - R.get(2,2)/z2*cameraPt.y;
  	}
docs: The translation vector is now multiplied by 3x3 matrix R.  The components of T are no longer decoupled.
  
  deriv [x,y] = R*dot(T)/z - (dot(z)/(z^2))(R*T)
  
  @param R
  @param cameraPt