def moebius(<EOL>num_twists=<NUM_LIT:1>,  <EOL>nl=<NUM_LIT>,  <EOL>nw=<NUM_LIT:11>,  <EOL>mode="<STR_LIT>",<EOL>):
<EOL>width = <NUM_LIT:1.0><EOL>scale = <NUM_LIT><EOL>r = <NUM_LIT:1.0><EOL>alpha0 = <NUM_LIT:0.0>  <EOL>flatness = <NUM_LIT:1.0><EOL>u_range = numpy.linspace(<NUM_LIT:0.0>, <NUM_LIT:2> * numpy.pi, num=nl, endpoint=False)<EOL>v_range = numpy.linspace(-<NUM_LIT:0.5> * width, <NUM_LIT:0.5> * width, num=nw)<EOL>sin_u = numpy.sin(u_range)<EOL>cos_u = numpy.cos(u_range)<EOL>alpha = num_twists * <NUM_LIT:0.5> * u_range + alpha0<EOL>sin_alpha = numpy.sin(alpha)<EOL>cos_alpha = numpy.cos(alpha)<EOL>if mode == "<STR_LIT>":<EOL><INDENT>a = cos_alpha<EOL>b = sin_alpha<EOL>reverse_seam = num_twists % <NUM_LIT:2> == <NUM_LIT:1><EOL><DEDENT>elif mode == "<STR_LIT>":<EOL><INDENT>a = numpy.copysign(cos_alpha ** <NUM_LIT:2>, cos_alpha)<EOL>b = numpy.copysign(sin_alpha ** <NUM_LIT:2>, sin_alpha)<EOL>reverse_seam = num_twists % <NUM_LIT:2> == <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>assert mode == "<STR_LIT>"<EOL>a = cos_alpha ** <NUM_LIT:2><EOL>b = sin_alpha ** <NUM_LIT:2><EOL>reverse_seam = False<EOL><DEDENT>nodes = (<EOL>scale<EOL>* numpy.array(<EOL>[<EOL>numpy.outer(a * cos_u, v_range) + r * cos_u[:, numpy.newaxis],<EOL>numpy.outer(a * sin_u, v_range) + r * sin_u[:, numpy.newaxis],<EOL>numpy.outer(b, v_range) * flatness,<EOL>]<EOL>)<EOL>.reshape(<NUM_LIT:3>, -<NUM_LIT:1>)<EOL>.T<EOL>)<EOL>elems = _create_elements(nl, nw, reverse_seam)<EOL>return nodes, elems<EOL>
Creates a simplistic triangular mesh on a slightly Möbius strip. The
    Möbius strip here deviates slightly from the ordinary geometry in that it
    is constructed in such a way that the two halves can be exchanged as to
    allow better comparison with the pseudo-Möbius geometry.

    The mode is either `'classical'` or `'smooth'`. The first is the classical
    Möbius band parametrization, the latter a smoothed variant matching
    `'pseudo'`.