diff --git a/main.tex b/main.tex index 6596ef547a3465222222cf7d3f3ada4a23890dff..bdf36d5910bab14d07ff013a83276e8069539e26 100644 --- a/main.tex +++ b/main.tex @@ -141,16 +141,18 @@ def charact_curves(v): alpha = stability.Tilt().alpha beta = stability.Tilt().beta coords_range = (beta, -4, 5), (alpha, 0, 4) + text_args = {"fontsize":"x-large", "clip":True} + black_text_args = {"rgbcolor": "black", **text_args} p = ( implicit_plot(stability.Tilt().degree(v), *coords_range ) + line([(mu(v),0),(mu(v),5)], linestyle = "dashed") - + text(r"$ch_2^{\alpha, \beta}(v)=0$",[3.5, 2], rotation=45, fontsize="x-large", clip=True) - + text(r"$ch_1^{\alpha, \beta}(v)=0$", [0.45, 1.5], rotation=90, fontsize="x-large", clip=True) - + text(r"$ch_2^{\alpha, \beta}(v)=0$", [-2, 2], rotation=-45, fontsize="x-large", clip=True) - + text(r"$\nu_{\alpha, \beta}(v)>0$", [-3, 1], rgbcolor="black", fontsize="x-large", clip=True) - + text(r"$\nu_{\alpha, \beta}(v)<0$", [-1, 3], rgbcolor="black", fontsize="x-large", clip=True) - + text(r"$\nu_{\alpha, \beta}(-v)>0$", [2, 3], rgbcolor="black", fontsize="x-large", clip=True) - + text(r"$\nu_{\alpha, \beta}(-v)<0$", [4, 1], rgbcolor="black", fontsize="x-large", clip=True) + + text(r"$ch_2^{\alpha, \beta}(v)=0$",[3.5, 2], rotation=45, **text_args) + + text(r"$ch_1^{\alpha, \beta}(v)=0$", [0.45, 1.5], rotation=90, **text_args) + + text(r"$ch_2^{\alpha, \beta}(v)=0$", [-2, 2], rotation=-45, **text_args) + + text(r"$\nu_{\alpha, \beta}(v)>0$", [-3, 1], **black_text_args) + + text(r"$\nu_{\alpha, \beta}(v)<0$", [-1, 3], **black_text_args) + + text(r"$\nu_{\alpha, \beta}(-v)>0$", [2, 3], **black_text_args) + + text(r"$\nu_{\alpha, \beta}(-v)<0$", [4, 1], **black_text_args) ) p.xmax(5) p.xmin(-4) @@ -287,24 +289,30 @@ Recalling how the sign of $\nu_{\alpha,\beta}(\pm u)$ changes def hyperbola_intersection_plot(): var("alpha beta", domain="real") coords_range = (beta, -3, -1/2), (alpha, 0, 2.5) - delta1 = -sqrt(2)+1/100 delta2 = 1/2 pbeta=-1.5 - + text_args = {"fontsize":"large", "clip":True} + black_text_args = {"rgbcolor":"black", **text_args} p = ( - implicit_plot(beta^2 - alpha^2 == 2, *coords_range , rgbcolor = "black", legend_label=r"a") - + implicit_plot((beta+4)^2 - (alpha)^2 == 2, *coords_range , rgbcolor = "red") - + implicit_plot((beta+delta1)^2 - alpha^2 == (delta1-2)^2-2, *coords_range , rgbcolor = "blue") - + implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, *coords_range , rgbcolor = "green") + implicit_plot( beta^2 - alpha^2 == 2, + *coords_range , rgbcolor = "black", legend_label=r"a") + + implicit_plot( (beta+4)^2 - (alpha)^2 == 2, + *coords_range , rgbcolor = "red") + + implicit_plot( (beta+delta1)^2 - alpha^2 == (delta1-2)^2-2, + *coords_range , rgbcolor = "blue") + + implicit_plot( (beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, + *coords_range , rgbcolor = "green") + point([-2, sqrt(2)], size=50, rgbcolor="black", zorder=50) - + text("Q",[-2, sqrt(2)+0.1], rgbcolor="black", fontsize="large", clip=true) + + text("Q",[-2, sqrt(2)+0.1], **black_text_args) + point([pbeta, sqrt(pbeta^2-2)], size=50, rgbcolor="black", zorder=50) - + text("P",[pbeta+0.1, sqrt(pbeta^2-2)], rgbcolor="black", fontsize="large", clip=true) + + text("P",[pbeta+0.1, sqrt(pbeta^2-2)], **black_text_args) + circle((-2,0),sqrt(2), linestyle="dashed", rgbcolor="purple") # dummy lines to add legends (circumvent bug in implicit_plot) - + line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", legend_label=r"pseudo-wall") - + line([(2,0),(2,0)] , rgbcolor = "black", legend_label=r"$ch_2^{\alpha,\beta}(v)=0$") + + line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", + legend_label=r"pseudo-wall") + + line([(2,0),(2,0)] , rgbcolor = "black", + legend_label=r"$ch_2^{\alpha,\beta}(v)=0$") + line([(2,0),(2,0)] , rgbcolor = "red", legend_label=r"case 1") + line([(2,0),(2,0)] , rgbcolor = "blue", legend_label=r"case 2") + line([(2,0),(2,0)] , rgbcolor = "green", legend_label=r"case 3") @@ -313,36 +321,46 @@ def hyperbola_intersection_plot(): p.xmin(coords_range[0][1]) p.ymax(coords_range[1][2]) p.ymin(coords_range[1][1]) - p.axes_labels([r"$\beta$", - r"$\alpha$"]) - + p.axes_labels([r"$\beta$", r"$\alpha$"]) return p def correct_hyperbola_intersection_plot(): var("alpha beta", domain="real") coords_range = (beta, -2.5, 0.5), (alpha, 0, 3) - delta2 = 1/2 pbeta=-1.5 - + text_args = {"fontsize":"large", "clip":True} + black_text_args = {"rgbcolor":"black", **text_args} p = ( - implicit_plot(beta^2 - alpha^2 == 2, *coords_range , rgbcolor = "black", legend_label=r"a") - + implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, *coords_range , rgbcolor = "green") + implicit_plot( beta^2 - alpha^2 == 2, + *coords_range , rgbcolor = "black", legend_label=r"a") + + implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, + *coords_range , rgbcolor = "green") + point([-2, sqrt(2)], size=50, rgbcolor="black", zorder=50) - + text("Q",[-2, sqrt(2)+0.1], rgbcolor="black", fontsize="large", clip=true) + + text("Q",[-2, sqrt(2)+0.1], **black_text_args) + point([pbeta, sqrt(pbeta^2-2)], size=50, rgbcolor="black", zorder=50) - + text("P",[pbeta+0.1, sqrt(pbeta^2-2)], rgbcolor="black", fontsize="large", clip=true) + + text("P",[pbeta+0.1, sqrt(pbeta^2-2)], **black_text_args) + circle((-2,0),sqrt(2), linestyle="dashed", rgbcolor="purple") # dummy lines to add legends (circumvent bug in implicit_plot) - + line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", legend_label=r"pseudo-wall") - + line([(2,0),(2,0)] , rgbcolor = "black", legend_label=r"$ch_2^{\alpha,\beta}(v)=0$") - + line([(2,0),(2,0)] , rgbcolor = "green", legend_label=r"$ch_2^{\alpha,\beta}(u)=0$") + + line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", + legend_label=r"pseudo-wall") + + line([(2,0),(2,0)] , rgbcolor = "black", + legend_label=r"$ch_2^{\alpha,\beta}(v)=0$") + + line([(2,0),(2,0)] , rgbcolor = "green", + legend_label=r"$ch_2^{\alpha,\beta}(u)=0$") # vertical characteristic lines - +line([(0,0),(0,coords_range[1][2])], rgbcolor="black", linestyle="dashed", legend_label=r"$ch_1^{\alpha,\beta}(v)=0$") - +line([(-delta2,0),(-delta2,coords_range[1][2])], rgbcolor="green", linestyle="dashed", legend_label=r"$ch_1^{\alpha,\beta}(u)=0$") - +line([(0,0),(-coords_range[1][2],coords_range[1][2])], rgbcolor="black", linestyle="dotted", legend_label=r"assymptote for $ch_2^{\alpha,\beta}(v)=0$") - +line([(-delta2,0),(-delta2-coords_range[1][2],coords_range[1][2])], rgbcolor="green", linestyle="dotted", legend_label=r"assymptote for $ch_1^{\alpha,\beta}(u)=0$") - + + line([(0,0),(0,coords_range[1][2])], + rgbcolor="black", linestyle="dashed", + legend_label=r"$ch_1^{\alpha,\beta}(v)=0$") + + line([(-delta2,0),(-delta2,coords_range[1][2])], + rgbcolor="green", linestyle="dashed", + legend_label=r"$ch_1^{\alpha,\beta}(u)=0$") + + line([(0,0),(-coords_range[1][2],coords_range[1][2])], + rgbcolor="black", linestyle="dotted", + legend_label=r"assymptote for $ch_2^{\alpha,\beta}(v)=0$") + + line([(-delta2,0),(-delta2-coords_range[1][2],coords_range[1][2])], + rgbcolor="green", linestyle="dotted", + legend_label=r"assymptote for $ch_1^{\alpha,\beta}(u)=0$") ) p.set_legend_options(loc="upper right") p.xmax(coords_range[0][2])