Numerical and Experimental Analysis of Non-Circular Gears and Cam-Follower Systems as Function Generators