def make_points_on_a_cylinder(theta, phi, C, r, N):
M = np.dot(geometry.rotation_matrix_from_axis_and_angle(np.array([<NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>]), phi),<EOL>geometry.rotation_matrix_from_axis_and_angle(np.array([<NUM_LIT:0>, <NUM_LIT:1>, <NUM_LIT:0>]), theta))<EOL>x = np.dot(M, np.array([<NUM_LIT:1>, <NUM_LIT:0>, <NUM_LIT:0>]))<EOL>y = np.dot(M, np.array([<NUM_LIT:0>, <NUM_LIT:1>, <NUM_LIT:0>]))<EOL>z = np.dot(M, np.array([<NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>]))<EOL>delta = np.radians(<NUM_LIT:10>)<EOL>t = <NUM_LIT:0.1><EOL>return [C + r * (np.cos(i * delta) * x + np.sin(i * delta) * y + i * t * z) for i in range(N)], z<EOL>
Make N points on a cylinder defined by the center C, direction defined theta and phi and radius r.
    Also return the direction of the cylinder