def make_spiral(num_points=100, num_turns=4, height=12, radius=2.0, xnot=None, ynot=None, znot=None):
 coords_list = []
 znot = ((-4) if (znot is None) else znot)
 xnot = (radius if (xnot is None) else xnot)
 ynot = (0 if (ynot is None) else ynot)
 theta_not = np.arctan2(ynot, xnot)
 coords_list.append((xnot, ynot, znot))
 for point in range(num_points):
  znot += (height / num_points)
  theta_not += (((2 * np.pi) * num_turns) / num_points)
  xnot = (np.cos(theta_not) * radius)
  ynot = (np.sin(theta_not) * radius)
  coords_list.append((xnot, ynot, znot))
 return coords_list

def make_spiral ( num_points = 100 , num_turns = 4 , height = 12 , radius = 2.0 , xnot = None , ynot = None , znot = None ) : coords_list = [ ] znot = ( ( - 4 ) if ( znot is None ) else znot ) xnot = ( radius if ( xnot is None ) else xnot ) ynot = ( 0 if ( ynot is None ) else ynot ) theta_not = np . arctan2 ( ynot , xnot ) coords_list . append ( ( xnot , ynot , znot ) ) for point in range ( num_points ) : znot += ( height / num_points ) theta_not += ( ( ( 2 * np . pi ) * num_turns ) / num_points ) xnot = ( np . cos ( theta_not ) * radius ) ynot = ( np . sin ( theta_not ) * radius ) coords_list . append ( ( xnot , ynot , znot ) ) return coords_list
generate a list of points corresponding to a spiral .