def bsinPoints(pb, pe):
v = pe - pb<EOL>assert v.y == <NUM_LIT:0>, "<STR_LIT>"<EOL>f = abs(v) * <NUM_LIT:0.5> / math.pi              <EOL>cp1 = <NUM_LIT><EOL>cp2 = <NUM_LIT><EOL>y_ampl = (<NUM_LIT:0>, f)<EOL>y_cp1 = (<NUM_LIT:0>, f * cp1)<EOL>y_cp2 = (<NUM_LIT:0>, f * cp2)<EOL>p0 = pb<EOL>p4 = pe<EOL>p1 = pb + v * <NUM_LIT> - y_ampl<EOL>p2 = pb + v * <NUM_LIT:0.5><EOL>p3 = pb + v * <NUM_LIT> + y_ampl<EOL>k1 = pb + v * (<NUM_LIT:1.>/<NUM_LIT>)  - y_cp1<EOL>k2 = pb + v * (<NUM_LIT>/<NUM_LIT>)  - y_cp2<EOL>k3 = pb + v * (<NUM_LIT>/<NUM_LIT>)  - y_cp2<EOL>k4 = pb + v * (<NUM_LIT>/<NUM_LIT>)  - y_cp1<EOL>k5 = pb + v * (<NUM_LIT>/<NUM_LIT>)  + y_cp1<EOL>k6 = pb + v * (<NUM_LIT>/<NUM_LIT>)  + y_cp2<EOL>k7 = pb + v * (<NUM_LIT>/<NUM_LIT>) + y_cp2<EOL>k8 = pb + v * (<NUM_LIT>/<NUM_LIT>) + y_cp1<EOL>return p0, k1, k2, p1, k3, k4, p2, k5, k6, p3, k7, k8, p4<EOL>
Return Bezier control points, when pb and pe stand for a full period
    from (0,0) to (2*pi, 0), respectively, in the user's coordinate system.
    The returned points can be used to draw up to four Bezier curves for
    the complete phase of the sine function graph (0 to 360 degrees).