private void transformToLCS () {
		jointLCS[HEAD] = math.getJointLCS(joint[HEAD]);
		jointLCS[NECK] = math.getJointLCS(joint[NECK]);
		jointLCS[TORSO] = math.getJointLCS(joint[TORSO]);
		jointLCS[LEFT_SHOULDER] = math.getJointLCS(joint[LEFT_SHOULDER]);
		jointLCS[RIGHT_SHOULDER] = math.getJointLCS(joint[RIGHT_SHOULDER]);
		jointLCS[LEFT_ELBOW] = math.getJointLCS(joint[LEFT_ELBOW]);
		jointLCS[RIGHT_ELBOW] = math.getJointLCS(joint[RIGHT_ELBOW]);
		jointLCS[LEFT_HAND] = math.getJointLCS(joint[LEFT_HAND]);
		jointLCS[RIGHT_HAND] = math.getJointLCS(joint[RIGHT_HAND]);
		if (fullBodyTracking) {
			jointLCS[LEFT_HIP] = math.getJointLCS(joint[LEFT_HIP]);
			jointLCS[LEFT_KNEE] = math.getJointLCS(joint[LEFT_KNEE]);
			jointLCS[LEFT_FOOT] = math.getJointLCS(joint[LEFT_FOOT]);
			jointLCS[RIGHT_HIP] = math.getJointLCS(joint[RIGHT_HIP]);
			jointLCS[RIGHT_KNEE] = math.getJointLCS(joint[RIGHT_KNEE]);
			jointLCS[RIGHT_FOOT] = math.getJointLCS(joint[RIGHT_FOOT]);
		}
		lUpperArmLCS = PVector.sub(jointLCS[LEFT_ELBOW],jointLCS[LEFT_SHOULDER]);
		rUpperArmLCS = PVector.sub(jointLCS[RIGHT_ELBOW],jointLCS[RIGHT_SHOULDER]);
		lLowerArmLCS = PVector.sub(jointLCS[LEFT_HAND],jointLCS[LEFT_ELBOW]);
		rLowerArmLCS = PVector.sub(jointLCS[RIGHT_HAND],jointLCS[RIGHT_ELBOW]);

		lUpperArmLCSUnmirrored = lUpperArmLCS;
		rUpperArmLCSUnmirrored = rUpperArmLCS;
		lLowerArmLCSUnmirrored = lLowerArmLCS;
		rLowerArmLCSUnmirrored = rLowerArmLCS;
		
		// calculate lcs for original joints
		for (int i=0; i<15; i++) {
			if (mirrorTherapy == MIRROR_THERAPY_LEFT && (i == RIGHT_ELBOW || i == RIGHT_HAND)) {
				jointLCSUnmirrored[i] = math.getJointLCS(jointUnmirrored[i]);
			} else if (mirrorTherapy == MIRROR_THERAPY_RIGHT && (i == LEFT_ELBOW || i == LEFT_HAND)) {
				jointLCSUnmirrored[i] = math.getJointLCS(jointUnmirrored[i]);
			} else {
				jointLCSUnmirrored[i] = jointLCS[i];
			}
		}
		if (mirrorTherapy == MIRROR_THERAPY_RIGHT) {
			lUpperArmLCSUnmirrored = PVector.sub(jointLCSUnmirrored[LEFT_ELBOW],jointLCSUnmirrored[LEFT_SHOULDER]);
			lLowerArmLCSUnmirrored = PVector.sub(jointLCSUnmirrored[LEFT_HAND],jointLCSUnmirrored[LEFT_ELBOW]);
		} else if (mirrorTherapy == MIRROR_THERAPY_LEFT) {
			rUpperArmLCSUnmirrored = PVector.sub(jointLCSUnmirrored[RIGHT_ELBOW],jointLCSUnmirrored[RIGHT_SHOULDER]);
			rLowerArmLCSUnmirrored = PVector.sub(jointLCSUnmirrored[RIGHT_HAND],jointLCSUnmirrored[RIGHT_ELBOW]);
		}
	}