Archivo:Funciones elípticas de Jacobi (sobre la hipérbola de Jacobi).svg


Este código también se usa https://commons.wikimedia.org/w/File:Jacobi_Elliptic_Functions_(on_Jacobi_Ellipse).svg , pero con diferentes parámetros de entrada, que se encuentran en la parte superior del código. (Para copiar el código, editar, seleccionar y copiar)

(* Los parámetros *) b=0.7 ;\[Phi]=Chop[JacobiAmplitude[0.60,1-1/b^2]]; (* La Gráfica de Elipse de Jacobi *) b=0.7 I ;\[Phi]=Chop[JacobiAmplitude[0.55,1-1/b^2]]; (* La gráfica de la hipérbola de Jacobi *) m=1-1/b^2; u = Chop[N[u = EllipticF[\[Phi], m]]];


(* Las funciones de la Elíptica de Jacobi *) sc=Chop[JacobiSC[u,m]]; sn=Cortar[JacobiSN[u,m]]; sd=Cortar[JacobiSD[u,m]]; cs=Cortar[JacobiCS[u,m]]; cn=Cortar[JacobiCN[u,m]]; cd=Cortar[JacobiCD[u,m]]; ns=Cortar[JacobiNS[u,m]]; nc=Cortar[JacobiNC[u,m]]; nd=Cortar[JacobiND[u,m]]; ds=Cortar[JacobiDS[u,m]]; dc=Cortar[JacobiDC[u,m]]; dn=Cortar[JacobiDN[u,m]];

(* Funciones de trazado *) Clear[plot$hline,plot$vline,plot$rline] fontsize=18; plot$hline[start_,length_,color_,label_]:=Module[{v,labelpos}, (* Trace una línea horizontal con punta de flecha y etiqueta *) v={{start,0},{start+length,0} }; etiquetapos=v 2+{0,-0.0035}tamaño de fuente; Graphics[{Arrowheads[0.04],color,Arrow[v],Inset[Style[label,FontSize->fontsize],labelpos]}] ] plot$vline[start_,length_,color_,label_]:=Module[{v ,labelpos},(* Trace una línea vertical con etiqueta *) v={{inicio,0},{inicio,longitud}}; labelpos=Media[v]+{0.0025 ,0}tamaño de fuente; Graphics[{color,Line[v],Inset[Style[label,FontSize->fontsize],labelpos]}] ] plot$rline[start_,length_,x_,y_,color_,label_]:=Module[{v, r,labelpos}, (* Trace una línea radial con punta de flecha y etiqueta *) r=Sqrt[x^2+y^2]; v={{0,0},{x/r,y/r}longitud}; (* No asuma x^2+y^2=longitud^2, use x/r y y/r como coseno y seno *) labelpos=v 2 +{-0.004 ,0.0008}fontsize; Gráficos[{Puntas de flecha[0.04],color,Flecha[v],Recuadro[Estilo[etiqueta,Tamaño de fuente->tamaño de fuente],labelpos]}] ]

(* El ángulo \[Phi] *) r\[Phi]=0.2; Plot\[Phi]=Plot[Sqrt[(r\[Phi]^2-x^2)],{x,r\[Phi] Cos[\[Phi]],r\[Phi]},PlotStyle- >{Negro},Fondo->RGBColor[1,1,1,.5]]; (* ángulo \[Phi] *) \[Phi]pos=(r\[Phi]+0.0033 tamaño de fuente){Cos[\[Phi]/2],Sin[\[Phi]/2]}; Plot\[Phi]={Plot\[Phi],Graphics[Text[Style["\[Phi]",FontSize->fontsize],\[Phi]pos]]};

(* La curva de Jacobi y el círculo unitario y la línea y=1 *) PlotC=Plot[Sqrt[(1-x^2)],{x,0,1},PlotStyle->{Black,Dotted},Background ->ColorRGB[1,1,1,.5]]; (* Círculo *) PlotJ1=Plot[Sqrt[b^2(1-x^2)],{x,0,Cot[\[Phi]]},PlotStyle->{Black,Thickness[0.007]},Background ->Ninguno]; (* Elipse o hipérbola *) PlotJ2=Plot[Sqrt[b^2(1-x^2)],{x,Min[{1,cd}],Max[{1,cd}]},PlotStyle-> {Rojo,Grosor[0.007]},Fondo->Ninguno]; (* Elipse o hipérbola barrida por \[Phi] *) PlotTop=ListPlot[{{0,0},{0,1},{cs,1}},Joined->True,PlotStyle->{Black,Dotted} ]; (* Arriba y=1 línea punteada *)