File:ArcTaniaMap70.png: Difference between revisions
imported>Dmitrii Kouznetsov ({{Image_Details|user |description = Complex map of the inverse Tania function, <math>y=\mathrm{ArcTania}(x)</math>. |author = ~~~ |date-created = 2011 September 25 |pub-country = Japan |notes = For the generation |versions = http://tori.ils.uec.ac.jp/TORI/index.php/File:ArcTaniaMap.png }}) |
imported>Dmitrii Kouznetsov (add the generators) |
||
Line 10: | Line 10: | ||
== Licensing == | == Licensing == | ||
{{CC|by|3.0}} | {{CC|by|3.0}} | ||
==Generation== | |||
The curves are generated with the [[C++]] code below. | |||
The resulting file is used by the [[Latex]] document. | |||
The result of compilation of the Latex source can be converted to the *.png or any other format. | |||
===[[C++]] generator of curces=== | |||
For the compilation, files [[ado.cin]] and [[conto.cin]] should be loaded in the working directory. | |||
#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 "conto.cin" | |||
z_type ArcTania(z_type z) {return z + log(z) - 1. ;} | |||
main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; | |||
int M=160,M1=M+1; | |||
int N=161,N1=N+1; | |||
DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. | |||
char v[M1*N1]; // v is working array | |||
FILE *o;o=fopen("arctaniamap.eps","w");ado(o,162,162); | |||
fprintf(o,"81 81 translate\n 10 10 scale\n"); | |||
DO(m,M1) X[m]=-8.+.1*(m); | |||
DO(n,80)Y[n]=-8.+.1*n; | |||
Y[80]=-.033; | |||
Y[81]= .033; | |||
for(n=82;n<N1;n++) Y[n]=-8.+.1*(n-1.); | |||
for(m=-8;m<9;m++){if(m==0){M(m,-8.5)L(m,8.5)} else{M(m,-8)L(m,8)}} | |||
for(n=-8;n<9;n++){ M( -8,n)L(8,n)} | |||
fprintf(o,".0009 W 0 0 0 RGB S\n"); | |||
DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} | |||
DO(m,M1){x=X[m]; //printf("%5.2f\n",x); | |||
DO(n,N1){y=Y[n]; z=z_type(x,y); | |||
c=ArcTania(z); | |||
p=Re(c);q=Im(c); | |||
if(p>-99. && p<99. && q>-99. && q<99. ) {g[m*N1+n]=p;f[m*N1+n]=q;} | |||
}} | |||
fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1.8;q=.7; | |||
//p=2;q=1; | |||
for(m=-11;m<11;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".011 W 0 .6 0$ | |||
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".011 W .9 0 0$ | |||
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".011 W 0 0 .9$ | |||
for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".05 W .9 0 0 RGB S\n"); | |||
for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".05 W 0 0 .9 RGB S\n"); | |||
conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".05 W .6 0 .6 RGB S\n"); | |||
for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".05 W 0 0 0 RGB S\n"); | |||
y= 0.; for(m=0;m<80;m+=4) {x=-7.95+.1*m; M(x,y) L(x+.05,y)} fprintf(o,".07 W 1 .5 0 RGB S\n"); | |||
y= 0.; for(m=2;m<80;m+=4) {x=-7.95+.1*m; M(x,y) L(x+.05,y)} fprintf(o,".07 W 0 .5 1 RGB S\n"); | |||
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); | |||
system("epstopdf arctaniamap.eps"); | |||
system( "open arctaniamap.pdf"); | |||
getchar(); system("killall Preview");//for mac | |||
} | |||
===[[Latex]] document for labels=== | |||
% Gerenator of ArcTaniaMap.png % Copyleft 2011 by Dmitrii Kouznetsov | |||
\documentclass[12pt]{article} | |||
\usepackage{geometry} | |||
\usepackage{graphicx} | |||
\usepackage{rotating} | |||
\paperwidth 854pt | |||
\paperheight 844pt | |||
\topmargin -96pt | |||
\oddsidemargin -98pt | |||
\textwidth 1100pt | |||
\textheight 1100pt | |||
\pagestyle {empty} | |||
\newcommand \sx {\scalebox} | |||
\newcommand \rot {\begin{rotate}} | |||
\newcommand \ero {\end{rotate}} | |||
\newcommand \ing {\includegraphics} | |||
\begin{document} | |||
\sx{5}{ \begin{picture}(164,165) | |||
\put(6,5){\ing{arctaniamap}} | |||
\put(2,162){\sx{.7}{$y$}} | |||
\put(2,144){\sx{.6}{$6$}} | |||
\put(2,124){\sx{.6}{$4$}} | |||
\put(2,104){\sx{.6}{$2$}} | |||
%\put(23,100){\sx{.8}{$u\!=\!0$}} | |||
\put(2, 84){\sx{.6}{$0$}} | |||
\put(59,85){\sx{.6}{\bf cut}} | |||
% \put(20, 84){\sx{.8}{$v\!=\!0$}} | |||
\put(-3,64){\sx{.6}{$-2$}} | |||
\put(-3,44){\sx{.6}{$-4$}} | |||
\put(-3,24){\sx{.6}{$-6$}} | |||
\put( 22,0){\sx{.6}{$-6$}} | |||
\put( 42,0){\sx{.6}{$-4$}} | |||
\put( 62,0){\sx{.6}{$-2$}} | |||
\put( 86,0){\sx{.6}{$0$}} | |||
\put(106,0){\sx{.6}{$2$}} | |||
\put(126,0){\sx{.6}{$4$}} | |||
\put(146,0){\sx{.6}{$6$}} | |||
\put(164,0){\sx{.7}{$x$}} | |||
\put( 81, 23){\rot{81}\sx{.8}{$u\!=\!0$}\ero} | |||
\put( 92, 23){\rot{82}\sx{.8}{$u\!=\!1$}\ero} | |||
\put(101, 22){\rot{82}\sx{.8}{$u\!=\!2$}\ero} | |||
\put(111, 21){\rot{83}\sx{.8}{$u\!=\!3$}\ero} | |||
\put(120, 21){\rot{84}\sx{.8}{$u\!=\!4$}\ero} | |||
\put(139,155){\rot{4}\sx{.8}{$v\!=\!8$}\ero} | |||
\put(138,146){\rot{4}\sx{.8}{$v\!=\!7$}\ero} | |||
\put(138,136){\rot{4}\sx{.8}{$v\!=\!6$}\ero} | |||
\put(138,127){\rot{4}\sx{.8}{$v\!=\!5$}\ero} | |||
\put(137,118){\rot{4}\sx{.8}{$v\!=\!4$}\ero} | |||
\put(136,109){\rot{4}\sx{.8}{$v\!=\!3$}\ero} | |||
\put(135,100){\rot{4}\sx{.8}{$v\!=\!2$}\ero} | |||
\put(134, 92){\rot{3}\sx{.8}{$v\!=\!1$}\ero} | |||
\put(134, 84){\rot{0}\sx{.8}{$v\!=\!0$}\ero} | |||
\put(134, 76){\rot{-3}\sx{.8}{$v\!=\!-\!1$}\ero} | |||
\put(133, 68){\rot{-5}\sx{.8}{$v\!=\!-\!2$}\ero} | |||
\put(134, 59){\rot{-5}\sx{.8}{$v\!=\!-\!3$}\ero} | |||
\put(135, 51){\rot{-5}\sx{.8}{$v\!=\!-\!4$}\ero} | |||
\put(135, 41){\rot{-5}\sx{.8}{$v\!=\!-\!5$}\ero} | |||
\put(135, 32){\rot{-5}\sx{.8}{$v\!=\!-\!6$}\ero} | |||
\put(136, 23){\rot{-5}\sx{.8}{$v\!=\!-\!7$}\ero} | |||
\put(137, 14){\rot{-5}\sx{.8}{$v\!=\!-\!8$}\ero} | |||
\end{picture} | |||
} | |||
\end{document} | |||
%Use for free, attribute the source. This is not for any kind of priority; this is to trace the errors if any. |
Revision as of 08:44, 25 September 2011
Summary
Title / Description
|
Complex map of the inverse Tania function, . |
---|---|
Citizendium author & Copyright holder
|
Copyright © Dmitrii Kouznetsov. See below for licence/re-use information. |
Date created
|
2011 September 25 |
Country of first publication
|
Japan |
Notes
|
For the generation |
Other versions
|
http://tori.ils.uec.ac.jp/TORI/index.php/File:ArcTaniaMap.png |
Using this image on CZ
|
| , then copy the code below to add this image to a Citizendium article, changing the size, alignment, and caption as necessary.
Please send email to manager A T citizendium.org .
Licensing
This media, ArcTaniaMap70.png, is licenced under the Creative Commons Attribution 3.0 Unported License
You are free:
To Share — To copy, distribute and transmit the work; To Remix — To adapt the work.
Under the following conditions:
Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
For any reuse or distribution, you must make clear to others the licence terms of this work (the best way to do this is with a link to this licence's web page). Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this licence impairs or restricts the author's moral rights.
Read the full licence.
Generation
The curves are generated with the C++ code below.
The resulting file is used by the Latex document.
The result of compilation of the Latex source can be converted to the *.png or any other format.
C++ generator of curces
For the compilation, files ado.cin and conto.cin should be loaded in the working directory.
#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 "conto.cin"
z_type ArcTania(z_type z) {return z + log(z) - 1. ;}
main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; int M=160,M1=M+1; int N=161,N1=N+1; DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array FILE *o;o=fopen("arctaniamap.eps","w");ado(o,162,162); fprintf(o,"81 81 translate\n 10 10 scale\n"); DO(m,M1) X[m]=-8.+.1*(m); DO(n,80)Y[n]=-8.+.1*n; Y[80]=-.033; Y[81]= .033; for(n=82;n<N1;n++) Y[n]=-8.+.1*(n-1.); for(m=-8;m<9;m++){if(m==0){M(m,-8.5)L(m,8.5)} else{M(m,-8)L(m,8)}} for(n=-8;n<9;n++){ M( -8,n)L(8,n)} fprintf(o,".0009 W 0 0 0 RGB S\n"); DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} DO(m,M1){x=X[m]; //printf("%5.2f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); c=ArcTania(z); p=Re(c);q=Im(c); if(p>-99. && p<99. && q>-99. && q<99. ) {g[m*N1+n]=p;f[m*N1+n]=q;} }} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1.8;q=.7; //p=2;q=1; for(m=-11;m<11;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".011 W 0 .6 0$ for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".011 W .9 0 0$ for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".011 W 0 0 .9$ for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".05 W .9 0 0 RGB S\n"); for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".05 W 0 0 .9 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".05 W .6 0 .6 RGB S\n"); for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".05 W 0 0 0 RGB S\n"); y= 0.; for(m=0;m<80;m+=4) {x=-7.95+.1*m; M(x,y) L(x+.05,y)} fprintf(o,".07 W 1 .5 0 RGB S\n"); y= 0.; for(m=2;m<80;m+=4) {x=-7.95+.1*m; M(x,y) L(x+.05,y)} fprintf(o,".07 W 0 .5 1 RGB S\n"); fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf arctaniamap.eps"); system( "open arctaniamap.pdf"); getchar(); system("killall Preview");//for mac }
Latex document for labels
% Gerenator of ArcTaniaMap.png % Copyleft 2011 by Dmitrii Kouznetsov \documentclass[12pt]{article} \usepackage{geometry} \usepackage{graphicx} \usepackage{rotating} \paperwidth 854pt \paperheight 844pt \topmargin -96pt \oddsidemargin -98pt \textwidth 1100pt \textheight 1100pt \pagestyle {empty} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \newcommand \ing {\includegraphics} \begin{document} \sx{5}{ \begin{picture}(164,165) \put(6,5){\ing{arctaniamap}} \put(2,162){\sx{.7}{$y$}} \put(2,144){\sx{.6}{$6$}} \put(2,124){\sx{.6}{$4$}} \put(2,104){\sx{.6}{$2$}} %\put(23,100){\sx{.8}{$u\!=\!0$}} \put(2, 84){\sx{.6}{$0$}} \put(59,85){\sx{.6}{\bf cut}} % \put(20, 84){\sx{.8}{$v\!=\!0$}} \put(-3,64){\sx{.6}{$-2$}} \put(-3,44){\sx{.6}{$-4$}} \put(-3,24){\sx{.6}{$-6$}} \put( 22,0){\sx{.6}{$-6$}} \put( 42,0){\sx{.6}{$-4$}} \put( 62,0){\sx{.6}{$-2$}} \put( 86,0){\sx{.6}{$0$}} \put(106,0){\sx{.6}{$2$}} \put(126,0){\sx{.6}{$4$}} \put(146,0){\sx{.6}{$6$}} \put(164,0){\sx{.7}{$x$}} \put( 81, 23){\rot{81}\sx{.8}{$u\!=\!0$}\ero} \put( 92, 23){\rot{82}\sx{.8}{$u\!=\!1$}\ero} \put(101, 22){\rot{82}\sx{.8}{$u\!=\!2$}\ero} \put(111, 21){\rot{83}\sx{.8}{$u\!=\!3$}\ero} \put(120, 21){\rot{84}\sx{.8}{$u\!=\!4$}\ero} \put(139,155){\rot{4}\sx{.8}{$v\!=\!8$}\ero} \put(138,146){\rot{4}\sx{.8}{$v\!=\!7$}\ero} \put(138,136){\rot{4}\sx{.8}{$v\!=\!6$}\ero} \put(138,127){\rot{4}\sx{.8}{$v\!=\!5$}\ero} \put(137,118){\rot{4}\sx{.8}{$v\!=\!4$}\ero} \put(136,109){\rot{4}\sx{.8}{$v\!=\!3$}\ero} \put(135,100){\rot{4}\sx{.8}{$v\!=\!2$}\ero} \put(134, 92){\rot{3}\sx{.8}{$v\!=\!1$}\ero} \put(134, 84){\rot{0}\sx{.8}{$v\!=\!0$}\ero} \put(134, 76){\rot{-3}\sx{.8}{$v\!=\!-\!1$}\ero} \put(133, 68){\rot{-5}\sx{.8}{$v\!=\!-\!2$}\ero} \put(134, 59){\rot{-5}\sx{.8}{$v\!=\!-\!3$}\ero} \put(135, 51){\rot{-5}\sx{.8}{$v\!=\!-\!4$}\ero} \put(135, 41){\rot{-5}\sx{.8}{$v\!=\!-\!5$}\ero} \put(135, 32){\rot{-5}\sx{.8}{$v\!=\!-\!6$}\ero} \put(136, 23){\rot{-5}\sx{.8}{$v\!=\!-\!7$}\ero} \put(137, 14){\rot{-5}\sx{.8}{$v\!=\!-\!8$}\ero} \end{picture} } \end{document}
%Use for free, attribute the source. This is not for any kind of priority; this is to trace the errors if any.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 18:52, 11 March 2022 | 828 × 818 (728 KB) | Maintenance script (talk | contribs) | == Summary == Importing file |
You cannot overwrite this file.
File usage
The following page uses this file: