Difference between revisions of "File:AciplotTa.png"
(Importing image file) |
|||
| Line 1: | Line 1: | ||
| + | '''Plot of [[ArcCip]] of real argment'''. |
||
| − | Importing image file |
||
| + | |||
| + | $y=\mathrm{ArcCip}(x)$ in the $x$, $y$ plane. |
||
| + | |||
| + | ==Acip.cin== |
||
| + | This is preliminary version of the [[acip.cin]] file. It looks ugly, but it works! |
||
| + | |||
| + | z_type Cip(z_type z) {return cos(z)/z;} |
||
| + | z_type Cipp(z_type z) {return (-sin(z) - cos(z)/z)/z ;} |
||
| + | z_type ACip0(z_type z) {z_type t=1./(z*z); |
||
| + | return (1. |
||
| + | +t*(-1./2. |
||
| + | +t*(13./24. |
||
| + | +t*(-541./720. |
||
| + | +t*(9509./8064. |
||
| + | +t*(-7231801./3628800. |
||
| + | +t*(1695106117./479001600. |
||
| + | +t*(-567547087381./87178291200.))))))) |
||
| + | )/z ; } |
||
| + | |||
| + | z_type ACip1(z_type z){int n; z_type c=ACip0(z); |
||
| + | c+=.1*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.2*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.3*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.4*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.5*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.7*(z-Cip(c))/Cipp(c) ; |
||
| + | DO(n,8) c+=(z-Cip(c))/Cipp(c) ; |
||
| + | return c; |
||
| + | } // ACip0 does not know about the singulatiry. |
||
| + | |||
| + | z_type acos(z_type z){ |
||
| + | if(Im(z)<0){if(Re(z)>=0){return -I*log( z + sqrt(z*z-1.) );} |
||
| + | else{return -I*log( z - sqrt(z*z-1.) );}} |
||
| + | if(Re(z)>=0){return I*log( z + sqrt(z*z-1.) );} |
||
| + | else {return I*log( z - sqrt(z*z-1.) );} } |
||
| + | |||
| + | z_type ACipb(z_type z){ z_type t = 0.33650841691839534 + z ; z_type u=sqrt(t); |
||
| + | return |
||
| + | 2.798386045783887 |
||
| + | +u*(-2.437906425896532 |
||
| + | +u*(0.7079542331649882 |
||
| + | +u*(-.5009330133042798 |
||
| + | +u*(0.5714459932734446 |
||
| + | )))); } |
||
| + | |||
| + | z_type ACip3(z_type z){int n; z_type c=ACipb(z); |
||
| + | c+=.2*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.5*(z-Cip(c))/Cipp(c) ; |
||
| + | DO(n,8) c+=(z-Cip(c))/Cipp(c) ; |
||
| + | // DO(n,8) c=acos(c*z) ; |
||
| + | // DO(n,8) c=cos(c)/z ; |
||
| + | return c; |
||
| + | } |
||
| + | |||
| + | z_type ACip4(z_type z){int n; z_type z1=z_type(0,1.62134794610324); |
||
| + | z_type t=z-z1; |
||
| + | z_type c; |
||
| + | c=-z1+2.*sqrt(I*t); |
||
| + | // c=z1+t*(-2.+t*z_type(0,4.) ); |
||
| + | c+=.2*(z-Cip(c))/Cipp(c) ; |
||
| + | c+=.5*(z-Cip(c))/Cipp(c) ; |
||
| + | DO(n,8) c+=.9*(z-Cip(c))/Cipp(c) ; |
||
| + | return c; |
||
| + | } |
||
| + | |||
| + | z_type ACip5(z_type z){int n; |
||
| + | if(Re(z)>0 && abs(z)>1.2) return ACip1(z); |
||
| + | if(Re(z)>-2 && fabs(Im(z))<1.) return ACip3(z); |
||
| + | if(Im(z)>0) return ACip4(z); |
||
| + | return conj(ACip4(conj(z))); |
||
| + | } |
||
| + | |||
| + | |||
| + | |||
| + | ==C++ generator of curve== |
||
| + | |||
| + | Fiels [[ado.cin]] and [[acip.cin]] should be loaded at the working directory for compilation of the code below: |
||
| + | |||
| + | #include <math.h> |
||
| + | #include <stdio.h> |
||
| + | #include <stdlib.h> |
||
| + | #define DB double |
||
| + | #define DO(x,y) for(x=0;x<y;x++) |
||
| + | using namespace std; |
||
| + | #include <complex> |
||
| + | typedef complex<double> z_type; |
||
| + | #define Re(x) x.real() |
||
| + | #define Im(x) x.imag() |
||
| + | #define I z_type(0.,1.) |
||
| + | #include "ado.cin" |
||
| + | #include "acip.cin" |
||
| + | #define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y); |
||
| + | #define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y); |
||
| + | #define S(x,y) fprintf(o,"S\n",); |
||
| + | main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; |
||
| + | DB y1= 1.1996786402577337; |
||
| + | DB zL= 2.798386045783887; |
||
| + | DB fL= -0.33650841691839534; |
||
| + | FILE *o;o=fopen("aciplot.eps","w");ado(o,320,330); |
||
| + | fprintf(o,"60 10 translate\n 100 100 scale\n"); |
||
| + | for(m=0;m<4;m++){M(m,0)L(m,3)} |
||
| + | for(n=0;n<4;n++){M(-.5,n)L(2.5,n)} |
||
| + | fprintf(o,"2 setlinecap .01 W 0 0 0 RGB S\n"); |
||
| + | for(m=-1;m<3;m++){M(.5+m,0)L(.5+m,3)} |
||
| + | for(n=0;n<4;n++){M(-.5,n+.5)L(2.5,n+.5)} |
||
| + | fprintf(o,"2 setlinecap .005 W 0 0 0 RGB S\n"); |
||
| + | M(fL,zL) |
||
| + | DO(m,2901){ x=-.336+.001*m; z=x; y=Re(ACip5(z)); L(x,y) } |
||
| + | fprintf(o,"1 setlinejoin 1 setlinecap .02 W .7 0 0 RGB S\n"); p=1.8;q=.7; |
||
| + | M(fL,0)L(fL,zL)L(0,zL) |
||
| + | fprintf(o,"2 setlinecap .003 W 0 0 0 RGB S\n"); |
||
| + | fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); |
||
| + | system("epstopdf aciplot.eps"); |
||
| + | system( "open aciplot.pdf"); |
||
| + | getchar(); system("killall Preview");//for mac |
||
| + | } |
||
| + | |||
| + | ==Lated generator of lables== |
||
| + | |||
| + | File [[aciplot.pdf]] ahould be generated with the code above before to compile the [[Latex]] document below. |
||
| + | |||
| + | <nowiki> |
||
| + | % Copyleft 2012 by Dmitrii Kouznetsov %<br> |
||
| + | \documentclass[12pt]{article} %<br> |
||
| + | \usepackage{geometry} %<br> |
||
| + | \usepackage{graphicx} %<br> |
||
| + | \usepackage{rotating} %<br> |
||
| + | \paperwidth 610pt %<br> |
||
| + | \paperheight 610pt %<br> |
||
| + | \topmargin -92pt %<br> |
||
| + | \oddsidemargin -106pt %<br> |
||
| + | \textwidth 900pt %<br> |
||
| + | \textheight 900pt %<br> |
||
| + | \pagestyle {empty} %<br> |
||
| + | \newcommand \sx {\scalebox} %<br> |
||
| + | \newcommand \rot {\begin{rotate}} %<br> |
||
| + | \newcommand \ero {\end{rotate}} %<br> |
||
| + | \newcommand \ing {\includegraphics} %<br> |
||
| + | \begin{document} %<br> |
||
| + | \parindent 0pt \sx{2}{ \begin{picture}(340,310) %<br> |
||
| + | %\put(4,6){\ing{acosplot}} %<br> |
||
| + | \put(4,6){\ing{aciplot}} %<br> |
||
| + | \put(66,306){\sx{2}{$y$}} %<br> |
||
| + | \put(42,290){\sx{2}{$f_0$}} %v |
||
| + | \put(66,210){\sx{2}{\bf 2}} %<br> |
||
| + | \put(66,110){\sx{2}{\bf 1}} %<br> |
||
| + | \put(21, 21){\sx{2.1}{$z_0$}} %<br> |
||
| + | \put(58, 19){\sx{2}{\bf 0}} %<br> |
||
| + | \put(158, 19){\sx{2}{\bf 1}} %<br> |
||
| + | \put(258, 19){\sx{2}{\bf 2}} %<br> |
||
| + | \put(300, 21){\sx{2.1}{$x$}} %<br> |
||
| + | \put(168,94){\sx{1.6}{\rot{-16}$y\!=\!\mathrm{ACip}(x)$\ero}} \end{picture} %<br> |
||
| + | } %<br> |
||
| + | \end{document} |
||
| + | |||
| + | |||
| + | </nowiki> |
||
| + | |||
| + | |||
| + | [[Category:Explicit plot]] |
||
| + | [[Category:ArcCip]] |
||
Latest revision as of 09:41, 21 June 2013
Plot of ArcCip of real argment.
$y=\mathrm{ArcCip}(x)$ in the $x$, $y$ plane.
Acip.cin
This is preliminary version of the acip.cin file. It looks ugly, but it works!
z_type Cip(z_type z) {return cos(z)/z;}
z_type Cipp(z_type z) {return (-sin(z) - cos(z)/z)/z ;}
z_type ACip0(z_type z) {z_type t=1./(z*z);
return (1.
+t*(-1./2.
+t*(13./24.
+t*(-541./720.
+t*(9509./8064.
+t*(-7231801./3628800.
+t*(1695106117./479001600.
+t*(-567547087381./87178291200.)))))))
)/z ; }
z_type ACip1(z_type z){int n; z_type c=ACip0(z);
c+=.1*(z-Cip(c))/Cipp(c) ;
c+=.2*(z-Cip(c))/Cipp(c) ;
c+=.3*(z-Cip(c))/Cipp(c) ;
c+=.4*(z-Cip(c))/Cipp(c) ;
c+=.5*(z-Cip(c))/Cipp(c) ;
c+=.7*(z-Cip(c))/Cipp(c) ;
DO(n,8) c+=(z-Cip(c))/Cipp(c) ;
return c;
} // ACip0 does not know about the singulatiry.
z_type acos(z_type z){
if(Im(z)<0){if(Re(z)>=0){return -I*log( z + sqrt(z*z-1.) );}
else{return -I*log( z - sqrt(z*z-1.) );}}
if(Re(z)>=0){return I*log( z + sqrt(z*z-1.) );}
else {return I*log( z - sqrt(z*z-1.) );} }
z_type ACipb(z_type z){ z_type t = 0.33650841691839534 + z ; z_type u=sqrt(t);
return
2.798386045783887
+u*(-2.437906425896532
+u*(0.7079542331649882
+u*(-.5009330133042798
+u*(0.5714459932734446
)))); }
z_type ACip3(z_type z){int n; z_type c=ACipb(z);
c+=.2*(z-Cip(c))/Cipp(c) ;
c+=.5*(z-Cip(c))/Cipp(c) ;
DO(n,8) c+=(z-Cip(c))/Cipp(c) ;
// DO(n,8) c=acos(c*z) ;
// DO(n,8) c=cos(c)/z ;
return c;
}
z_type ACip4(z_type z){int n; z_type z1=z_type(0,1.62134794610324);
z_type t=z-z1;
z_type c;
c=-z1+2.*sqrt(I*t);
// c=z1+t*(-2.+t*z_type(0,4.) );
c+=.2*(z-Cip(c))/Cipp(c) ;
c+=.5*(z-Cip(c))/Cipp(c) ;
DO(n,8) c+=.9*(z-Cip(c))/Cipp(c) ;
return c;
}
z_type ACip5(z_type z){int n;
if(Re(z)>0 && abs(z)>1.2) return ACip1(z);
if(Re(z)>-2 && fabs(Im(z))<1.) return ACip3(z);
if(Im(z)>0) return ACip4(z);
return conj(ACip4(conj(z)));
}
C++ generator of curve
Fiels ado.cin and acip.cin should be loaded at the working directory for compilation of the code below:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
using namespace std;
#include <complex>
typedef complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "ado.cin"
#include "acip.cin"
#define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y);
#define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y);
#define S(x,y) fprintf(o,"S\n",);
main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
DB y1= 1.1996786402577337;
DB zL= 2.798386045783887;
DB fL= -0.33650841691839534;
FILE *o;o=fopen("aciplot.eps","w");ado(o,320,330);
fprintf(o,"60 10 translate\n 100 100 scale\n");
for(m=0;m<4;m++){M(m,0)L(m,3)}
for(n=0;n<4;n++){M(-.5,n)L(2.5,n)}
fprintf(o,"2 setlinecap .01 W 0 0 0 RGB S\n");
for(m=-1;m<3;m++){M(.5+m,0)L(.5+m,3)}
for(n=0;n<4;n++){M(-.5,n+.5)L(2.5,n+.5)}
fprintf(o,"2 setlinecap .005 W 0 0 0 RGB S\n");
M(fL,zL)
DO(m,2901){ x=-.336+.001*m; z=x; y=Re(ACip5(z)); L(x,y) }
fprintf(o,"1 setlinejoin 1 setlinecap .02 W .7 0 0 RGB S\n"); p=1.8;q=.7;
M(fL,0)L(fL,zL)L(0,zL)
fprintf(o,"2 setlinecap .003 W 0 0 0 RGB S\n");
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
system("epstopdf aciplot.eps");
system( "open aciplot.pdf");
getchar(); system("killall Preview");//for mac
}
Lated generator of lables
File aciplot.pdf ahould be generated with the code above before to compile the Latex document below.
% Copyleft 2012 by Dmitrii Kouznetsov %<br> \documentclass[12pt]{article} %<br> \usepackage{geometry} %<br> \usepackage{graphicx} %<br> \usepackage{rotating} %<br> \paperwidth 610pt %<br> \paperheight 610pt %<br> \topmargin -92pt %<br> \oddsidemargin -106pt %<br> \textwidth 900pt %<br> \textheight 900pt %<br> \pagestyle {empty} %<br> \newcommand \sx {\scalebox} %<br> \newcommand \rot {\begin{rotate}} %<br> \newcommand \ero {\end{rotate}} %<br> \newcommand \ing {\includegraphics} %<br> \begin{document} %<br> \parindent 0pt \sx{2}{ \begin{picture}(340,310) %<br> %\put(4,6){\ing{acosplot}} %<br> \put(4,6){\ing{aciplot}} %<br> \put(66,306){\sx{2}{$y$}} %<br> \put(42,290){\sx{2}{$f_0$}} %v \put(66,210){\sx{2}{\bf 2}} %<br> \put(66,110){\sx{2}{\bf 1}} %<br> \put(21, 21){\sx{2.1}{$z_0$}} %<br> \put(58, 19){\sx{2}{\bf 0}} %<br> \put(158, 19){\sx{2}{\bf 1}} %<br> \put(258, 19){\sx{2}{\bf 2}} %<br> \put(300, 21){\sx{2.1}{$x$}} %<br> \put(168,94){\sx{1.6}{\rot{-16}$y\!=\!\mathrm{ACip}(x)$\ero}} \end{picture} %<br> } %<br> \end{document}
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 17:50, 20 June 2013 | 1,267 × 1,267 (84 KB) | Maintenance script (talk | contribs) | Importing image file |
You cannot overwrite this file.
File usage
The following page uses this file: