summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-18 22:47:34 +0000
committerKarl Berry <karl@freefriends.org>2013-05-18 22:47:34 +0000
commit8da523330e61ea8e7b930c09cecaddec0b3a72a0 (patch)
tree07f156e733c33e3f416fa3de086bec250c693a25 /Master/texmf-dist/doc
parentbaff4255d94a765ab41d84c89ea23e44151770ee (diff)
asymptote 2.22
git-svn-id: svn://tug.org/texlive/trunk@30566 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/asymptote/CAD.pdfbin68115 -> 68115 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdfbin31517 -> 31847 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asy-latex.pdfbin194493 -> 194493 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asyRefCard.pdfbin53907 -> 53907 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asymptote.pdfbin1235449 -> 1234580 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/shade.asy1
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/tvgen.asy779
-rw-r--r--Master/texmf-dist/doc/info/asy-faq.info2
-rw-r--r--Master/texmf-dist/doc/info/asymptote.info648
-rw-r--r--Master/texmf-dist/doc/man/man1/xasy.man1.pdfbin3859 -> 3863 bytes
10 files changed, 795 insertions, 635 deletions
diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf
index c5c3fef48b6..63384ce0276 100644
--- a/Master/texmf-dist/doc/asymptote/CAD.pdf
+++ b/Master/texmf-dist/doc/asymptote/CAD.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
index 83e2f90ea74..0a0d2b16423 100644
--- a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
index 49a797348ee..ec56b3bc517 100644
--- a/Master/texmf-dist/doc/asymptote/asy-latex.pdf
+++ b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
index fa105896284..cc95d25d1df 100644
--- a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
+++ b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf
index d6463b5390c..69c5e84ff67 100644
--- a/Master/texmf-dist/doc/asymptote/asymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/asymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/examples/shade.asy b/Master/texmf-dist/doc/asymptote/examples/shade.asy
index 66b8880fd4b..889834585cb 100644
--- a/Master/texmf-dist/doc/asymptote/examples/shade.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/shade.asy
@@ -1,4 +1,3 @@
-
size(100,0);
radialshade(unitsquare,yellow,(0,0),0,red,(0,0),1);
diff --git a/Master/texmf-dist/doc/asymptote/examples/tvgen.asy b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
index 1a9f151df26..c7898fe7129 100644
--- a/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
@@ -1,5 +1,5 @@
/* tvgen - draw pm5544-like television test cards.
- * Copyright (C) 2007, 2009, Servaas Vandenberghe.
+ * Copyright (C) 2007, 2009, 2012, Servaas Vandenberghe.
*
* The tvgen code below is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License as
@@ -16,13 +16,14 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
- * tvgen-1.1/tvgen.asy
+ * tvgen-1.2/tvgen.asy http://picaros.org/ftp/soft/tvgen-1.2.tgz
* This asy script generates pm5544-like television test cards. The image
* parameters were derived from a 1990 recording. The basic parameters
* conform to itu-r bt.470, bt.601, and bt.709. There is no unique image
* since local variants exist and parameters have varied over time.
*/
//papertype="a4";
+import plain;
int verbose=settings.verbose/*+2*/; /* uncomment for debug info */
/* tv dot coordinates --> PS points */
@@ -46,25 +47,144 @@ path tvrect(int lc, int tr, int rc, int br, real xd, real yd, int Nv) {
return z[0]--z[1]--z[2]--z[3]--cycle;
}
+/********************* horizontal castellations ********************/
+/* Draw a horizontal red line in the top left and the bottom right
+ * castellation. These testlines disappear if the monitor is not set
+ * in a dot-exact mode. An example is image crop due to overscan.
+ *
+ * For 625 line systems any analog-compatible processing removes
+ * these red testlines since the first halfline of the odd field and
+ * the last halfline of the even field are ignored. A full 576
+ * visible line frame often results via a final copy paste operation.
+ */
+void castelhor(int colortv, int[] rccoll, int[] rccolr, int cmaxi, int Nh,
+ int topdist, int botdist,
+ pen pdef, real xd, real yd, int Nv) {
+ pen pblack, pwhite, pred;
+ int i;
+
+ pblack = pdef+gray(0.0);
+ pwhite = pdef+gray(1.0);
+ pred = pdef+rgb(0.75, 0, 0);
+
+ /** top and bottom: white corners. **/
+ for (i=-1; i<=cmaxi; ++i) {
+ pen pcast;
+ int inext, lc, rc, tr, br;
+ path zzc;
+
+ inext = i+1;
+ if (inext%2 == 0) {
+ pcast = pwhite;
+ } else {
+ pcast = pblack;
+ }
+
+ if (i >= 0) {
+ lc = rccolr[i];
+ } else {
+ lc = 0;
+ }
+ if (inext <= cmaxi) {
+ rc = rccoll[inext];
+ } else {
+ rc = Nh;
+ }
+
+ if (i == 0 && colortv > 0 && topdist > 1) {
+ path zzr;
+ zzr = tvrect(lc,0, rc,1, xd,yd,Nv);
+ fill(zzr, p=pred);
+ tr = 1;
+ } else {
+ tr = 0;
+ }
+ zzc = tvrect(lc,tr, rc,topdist, xd,yd,Nv);
+ fill(zzc, p=pcast);
+
+ if (inext == cmaxi && colortv > 0 && botdist+1 < Nv) {
+ path zzr;
+ zzr = tvrect(lc,Nv-1, rc,Nv, xd,yd,Nv);
+ fill(zzr, p=pred);
+ br = Nv-1;
+ } else {
+ br = Nv;
+ }
+ zzc = tvrect(lc,botdist, rc,br, xd,yd,Nv);
+ fill(zzc, p=pcast);
+ }
+
+ return;
+}
+
+/********************* vertical castellations ********************/
+/* The bottom right red rectangle tests for a non causal color FIR
+ * filter in the receiver. The last 2..4 dots then typically appear
+ * colorless, green, or cyan.
+ *
+ * This stems from the fact that the chroma subcarrier is of lower
+ * bandwidth than luma and thus continues after the last active sample.
+ * These trailing (y,u,v) samples result from an abrupt signal to zero
+ * transition and depend on the transmit and receive filters. Samples
+ * from VHS, system B/G/D/K, system I, or a DVD player output are
+ * different. Nevertheless, a sharpening filter uses this data and so
+ * adds false color to the last dots.
+ */
+void castelver(int colortv, int leftdist, int rightdist, int Nh,
+ int[] rcrowb, int[] rcrowt, int rmaxi,
+ pen pdef, real xd, real yd, int Nv) {
+ pen pblack, pwhite;
+ int i;
+
+ pblack = pdef+gray(0.0);
+ pwhite = pdef+gray(1.0);
+
+ for (i=0; i<rmaxi; ++i) {
+ int inext = i+1;
+ pen pcastl, pcastr;
+ int tr, br;
+ path zzc;
+
+ if (inext%2 == 0) {
+ pcastl = pwhite;
+ } else {
+ pcastl = pblack;
+ }
+ if (inext == rmaxi && colortv>0) {
+ pcastr = pdef+rgb(0.75,0.0,0);
+ } else {
+ pcastr = pcastl;
+ }
+
+ tr=rcrowb[i];
+ br=rcrowt[i+1];
+ zzc=tvrect( 0,tr, leftdist,br, xd,yd,Nv);
+ fill(zzc, p=pcastl);
+ zzc=tvrect(rightdist,tr, Nh,br, xd,yd,Nv);
+ fill(zzc, p=pcastr);
+ }
+ return;
+}
/********************* image aspect ratio markers ********************/
-void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy, pen pdef, real xd, real yd, int Nv) {
+void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy,
+ pen pdef, real xd, real yd, int Nv) {
int[] ridefN={ 4, 16 };
int[] ridefD={ 3, 9 };
int i;
- for(i=0; i<2; ++i) {
+ for (i=0; i<2; ++i) {
real rid=ridefN[i]/ridefD[i];
- if(rimage>rid) {
+ if (rimage>rid) {
int off, offa, offb;
- /* Nhdef=Nh/rimage*rid */
- off=round(Nh/rimage*rid/2);
+ /* Nhdef=Nh*rid/rimage */
+ off=round(Nh*rid/rimage/2);
offa=off+os;
offb=off-os;
// write(offa,offb);
- if(2*offa<Nh) {
+ if (2*offa<Nh) {
int hy, tr, br;
path zz;
@@ -83,50 +203,113 @@ void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy, pen pdef,
return;
}
-/************* cross hatch: line pairing, center interlace test *************/
-void centerline(int[] coff, int[] coffa, int[] coffb, int Nhc, int divsx,
- int os, int[] rcrowc, int Nvc, int divsy,
+/************* crosshatch: line pairing, center interlace test *************/
+/* There are 2 coordinate systems in use:
+ * 1. integer number based for the gridlines
+ *
+ * coff, Nhc, rccoll[], rccolc[], rccolr[] : vertical gridlines,
+ * rcrowc, Nvc : horizontal gridlines,
+ *
+ * 2. real number based for the center circle
+ *
+ * ccenter={ cx=Nh/2, cy=Nv/2} : the true image center,
+ * rcoff rcright rcleft : offset to ccenter and points on the circle.
+ *
+ * Both centers coincide if Nh and Nv are even.
+ */
+void centerline(int colortv,
+ int[] rccoll, int[] rccolc, int[] rccolr, int divsx,
+ int Nhc, int os,
+ int[] rcrowt, int[] rcrowc, int[] rcrowb, int divsy,
+ int Nvc,
pair ccenter, real[] rcoff, pair[] rcright, pair[] rcleft,
pen pdef, real xd, real yd, int Nv) {
- pair[] z;
- int col;
- pen pblack=pdef+gray(0.0), pwhite=pdef+gray(1.0);
-
- z[0]=rcright[divsy];
-
- col=Nhc+coff[0];
- z[1]=tvps(col,rcrowc[divsy], xd,yd,Nv);
- z[2]=tvps(col,rcrowc[divsy-1], xd,yd,Nv);
- col=Nhc-coff[0];
- z[3]=tvps(col,rcrowc[divsy-1], xd,yd,Nv);
- z[4]=tvps(col,rcrowc[divsy], xd,yd,Nv);
-
- z[5]=rcleft[divsy];
- z[6]=rcleft[divsy+1];
-
- z[7]=tvps(col,rcrowc[divsy+1], xd,yd,Nv);
- z[8]=tvps(col,rcrowc[divsy+2], xd,yd,Nv);
- col=Nhc+coff[0];
- z[9]=tvps(col,rcrowc[divsy+2], xd,yd,Nv);
- z[10]=tvps(col,rcrowc[divsy+1], xd,yd,Nv);
-
- z[11]=rcright[divsy+1];
- fill(z[1]--z[2]--z[3]--z[4] //--z[5]--z[6]
- --arc(ccenter, z[5], z[6])
- --z[7]--z[8]--z[9]--z[10] //--z[11]--z[0]
- --arc(ccenter,z[11], z[0])
- --cycle, p=pblack);
-
- int i, maxoff, rows, tr, br;
+ pen pblack, pwhite;
+ int cmaxi, maxoff, mincol, maxcol;
+ int rows, tr, br;
path zz;
- maxoff=floor(rcoff[divsy]);
+ cmaxi=2*divsx+1;
+
+ pblack=pdef+gray(0.0);
+ pwhite=pdef+gray(1.0);
+
+ /* black background for center cross */
+ if (colortv > 0) {
+ /* black, vertical gridlines redrawn below */
+ pair[] z;
+ int col;
+
+ z[0]=rcright[divsy];
+
+ col = rccolc[divsx+1];
+ z[1]=tvps(col,rcrowc[divsy], xd,yd,Nv);
+ z[2]=tvps(col,rcrowc[divsy-1], xd,yd,Nv);
+ col = rccolc[divsx];
+ z[3]=tvps(col,rcrowc[divsy-1], xd,yd,Nv);
+ z[4]=tvps(col,rcrowc[divsy], xd,yd,Nv);
+ z[5]=rcleft[divsy];
+ z[6]=rcleft[divsy+1];
+
+ z[7]=tvps(col,rcrowc[divsy+1], xd,yd,Nv);
+ z[8]=tvps(col,rcrowc[divsy+2], xd,yd,Nv);
+ col = rccolc[divsx+1];
+ z[9]=tvps(col,rcrowc[divsy+2], xd,yd,Nv);
+ z[10]=tvps(col,rcrowc[divsy+1], xd,yd,Nv);
+
+ z[11]=rcright[divsy+1];
+ fill(z[1]--z[2]--z[3]--z[4] //--z[5]--z[6]
+ --arc(ccenter, z[5], z[6])
+ --z[7]--z[8]--z[9]--z[10] //--z[11]--z[0]
+ --arc(ccenter,z[11], z[0])
+ --cycle, p=pblack);
+ } else {
+ /* 3 rows of black squares inside the gratings */
+ int i, imax = divsy+1;
+
+ for (i=divsy-1; i<=imax; ++i) { /* all 3 rows */
+ int lmaxoff, lmincol, lmaxcol;
+ int inext = i+1;
+ int tr, br, j;
+
+ /* XXX rcoff is relative to ccenter */
+ lmaxoff = min(floor(rcoff[i]), floor(rcoff[inext]));
+ lmincol = Nhc-lmaxoff;
+ lmaxcol = Nhc+lmaxoff;
+
+ /* square top and bottom */
+ tr = rcrowb[i];
+ br = rcrowt[inext];
+
+ for (j=0; j<cmaxi; ++j) { /* column j */
+ int jnext = j+1;
+
+ if (lmincol<=rccolc[j] && rccolc[jnext]<=lmaxcol) {
+ /* square is inside circle */
+ int lc, rc;
+ path zzsq;
+
+ lc = rccolr[j];
+ rc = rccoll[jnext];
+ zzsq = tvrect(lc, tr, rc, br, xd,yd,Nv);
+ fill(zzsq, p=pblack); /* draw black squares */
+ }
+ } /* for col j */
+ } /* for row i */
+ }
+
/* center cross: vertical and horizontal centerline */
+ maxoff = floor(rcoff[divsy]); /* XXX rcoff is relative to ccenter */
+ mincol = Nhc-maxoff;
+ maxcol = Nhc+maxoff;
+
rows=min(Nvc-rcrowc[divsy-1], rcrowc[divsy+2]-Nvc);
tr=Nvc-rows;
br=Nvc+rows;
- //write("centerline long: rows tr br ", rows, tr, br);
+ if (verbose > 1) {
+ write("centerline long : rows tr br ", rows, tr, br);
+ }
zz=tvrect(Nhc-os, tr, Nhc+os, br, xd,yd,Nv);
fill(zz, p=pwhite);
zz=tvrect(Nhc-maxoff,Nvc-1, Nhc+maxoff,Nvc+1, xd,yd,Nv);
@@ -136,27 +319,28 @@ void centerline(int[] coff, int[] coffa, int[] coffb, int Nhc, int divsx,
rows=min(Nvc-rcrowc[divsy], rcrowc[divsy+1]-Nvc);
tr=Nvc-rows;
br=Nvc+rows;
- if(verbose>1)
- write("centerline: rows tr br ", rows, tr, br);
- for(i=0; i<=divsx; ++i) {
- int off;
+ if (verbose > 1) {
+ write("centerline short: rows tr br ", rows, tr, br);
+ }
+
+ if (colortv > 0) {
+ int i;
+ for (i=0; i<=cmaxi; ++i) {
+ int coll, colr;
- off=coff[i];
- if(off<maxoff) {
- int offa, offb;
- path zzv;
- offa=coffa[i];
- offb=coffb[i];
-
- zzv=tvrect(Nhc+offb, tr, Nhc+offa, br, xd,yd,Nv);
- fill(zzv, p=pwhite);
- zzv=tvrect(Nhc-offa, tr, Nhc-offb, br, xd,yd,Nv);
- fill(zzv, p=pwhite);
+ coll=rccoll[i];
+ colr=rccolr[i];
+
+ if (mincol<=coll && colr<=maxcol) {
+ path zzv;
+ zzv=tvrect(coll, tr, colr, br, xd,yd,Nv);
+ fill(zzv, p=pwhite);
+ }
}
}
return;
}
-
+
/************************ topbw **************************************/
void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow,
pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
@@ -206,29 +390,29 @@ void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow,
* crad circle radius in y units, true size=crad*yd
*/
real testcircx(real x, real crad, real xd, real yd) {
- real relx, phi, y;
+ real relx, ph, y;
relx=x*xd/yd/crad;
- if(relx>1) {
- phi=0;
+ if (relx>1) {
+ ph=0;
} else {
- phi=acos(relx);
+ ph=acos(relx);
}
- y=crad*sin(phi); // or (x*xd)^2+(y*yd)^2=(crad*yd)^2
+ y=crad*sin(ph); // or (x*xd)^2+(y*yd)^2=(crad*yd)^2
return y;
}
/* y on circle -> return x>=0 */
real testcircy(real y, real crad, real xd, real yd) {
- real rely, phi, x;
+ real rely, ph, x;
rely=y/crad;
- if(rely>1) {
- phi=pi/2;
+ if (rely>1) {
+ ph=pi/2;
} else {
- phi=asin(rely);
+ ph=asin(rely);
}
- x=crad*cos(phi)*yd/xd; // or (x*xd)^2+(y*yd)^2=(crad*yd)^2
+ x=crad*cos(ph)*yd/xd; // or (x*xd)^2+(y*yd)^2=(crad*yd)^2
return x;
}
@@ -251,14 +435,14 @@ void testtone(real Tt, int trow, int brow,
blocks=floor(2*xb/Tt);
- for(i=-blocks-1; i<=blocks; ++i) {
+ for (i=-blocks-1; i<=blocks; ++i) {
real tl, tr;
path zz;
tl=max(-xb,min(i*Ttt,xb)); /* limit [-xb..xb] */
tr=max(-xb,min((i+1)*Ttt,xb));
- if(tl<-xt && tr<=-xt || tr>xt && tl>=xt) { /* top full circle */
+ if (tl<-xt && tr<=-xt || tr>xt && tl>=xt) { /* top full circle */
pair[] z;
real yl, yr;
@@ -306,8 +490,8 @@ void testtone(real Tt, int trow, int brow,
zz=z[0]--z[1]--z[2]--z[3]--cycle;
}
- if(tl<tr) {
- if(i%2 == 0) {
+ if (tl<tr) {
+ if (i%2 == 0) {
fill(zz, p=pdef+gray(0.0));
} else {
fill(zz, p=pdef+gray(0.75));
@@ -329,13 +513,13 @@ void colorbars(int[] coff, int Nhc, int trow, int crow, int brow,
rows=brow-trow;
poff=0;
- for(i=0; i<=cmax; ++i) {
+ for (i=0; i<=cmax; ++i) {
int off;
int ii=2*i, il=cmax-i, ir=i+cmax+1;
path zzl, zzr;
off=ceil((coff[1+ii]+coff[2+ii])/2);
- if(i!=0 && i<cmax) {
+ if (i!=0 && i<cmax) {
zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
} else {
@@ -403,7 +587,7 @@ real addphase(real theta, real freq, real step) {
cycles=freq*step;
coverflow=floor(abs(cycles));
- if(coverflow>1) {
+ if (coverflow>1) {
thetaret=0;
} else {
real dpi=2*pi;
@@ -411,9 +595,9 @@ real addphase(real theta, real freq, real step) {
cycles-=coverflow*sgn(cycles);
thetaret=theta+cycles*dpi; /* cycles=(-1 .. 1) */
- if(thetaret>pi) {
+ if (thetaret>pi) {
thetaret-=dpi;
- } else if(thetaret<-pi) {
+ } else if (thetaret<-pi) {
thetaret-=dpi;
}
}
@@ -431,11 +615,11 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
real fl, fr, thr, thl;
/* Segment info for PAL continental test card
- * segment i extends from [divc[i] .. divc[i+1]) with frequency divf[i]
+ * segment i extends from (divc[i] .. divc[i+1]) with frequency divf[i]
*/
- divs=2; // the number of segments on the right, total=2*divs+1
+ divs=2; // the number of segments to the right, total=2*divs+1
divc[0]=0;
- for(i=0; i<=divs; ++i) {
+ for (i=0; i<=divs; ++i) {
int ii=i*2, il=divs-i, ir=divs+i;
divc[i+1]=ceil((coff[ii]+coff[ii+1])/2); /* xdot distance to center */
@@ -453,19 +637,19 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
divnext=0;
fl=0;
fr=0;
- thl=0;
- thr=0;
- // draw a vertical line at off..off+1
- for(off=0; off<coffmax; ++off) {
+ thl=0; /* ={ 0, -pi/2 } : initial angle at center vertical line Nhc */
+ thr=thl;
+ /* draw a vertical line at off..off+1, use theta for off+1/2 */
+ for (off=0; off<coffmax; ++off) {
real ampl, ampr;
int col;
path zz;
- if(off==trowlim) {
+ if (off==trowlim) {
tr=trow;
}
- if(off == divc[divnext]) {
+ if (off == divc[divnext]) {
/* switch frequency: cycles=0.5*fcur+0.5*fnext */
thl=addphase(thl, fl, -0.5);
thr=addphase(thr, fr, 0.5);
@@ -509,18 +693,17 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
void graybars(int[] coff, int Nhc, int trow, int brow,
pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
pen pdef, real xd, real yd, int Nv) {
- int[] gs={0, 51, 102, 153, 204, 255};
- int cmax=2, poff, rows, i;
+ int[] gs={0, 20, 40, 60, 80, 100};
+ int cmax=2, poff, i;
- rows=brow-trow;
poff=0;
- for(i=0; i<=cmax; ++i) {
+ for (i=0; i<=cmax; ++i) {
int off;
int ii=2*i, il=cmax-i, ir=i+cmax+1;
path zzl, zzr;
off=ceil((coff[1+ii]+coff[2+ii])/2);
- if(i<cmax) {
+ if (i<cmax) {
zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
} else {
@@ -537,8 +720,8 @@ void graybars(int[] coff, int Nhc, int trow, int brow,
zrt=tvps(pcol,trow, xd,yd,Nv);
zzr=zrb--arc(ccenter,rcrb,rcrt)--zrt--cycle;
}
- fill(zzl, p=pdef+gray(gs[il]/255));
- fill(zzr, p=pdef+gray(gs[ir]/255));
+ fill(zzl, p=pdef+gray(gs[il]/100));
+ fill(zzr, p=pdef+gray(gs[ir]/100));
poff=off;
}
@@ -608,15 +791,16 @@ void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
return;
}
-/****************************** PAL ears ***********************************
+/****************************** PAL ears ***********************************/
+/* values pro mille
* left y R G B
- * 0.55 98 162 140
- * 0.5 103 128 191
- * 0.5 152 128 64
- * 0.45 157 93 115
+ * 550 306 674 550
+ * 500 363 500 859
+ * 500 637 500 141
+ * 450 694 326 450
* right
- * 0.6 153 168 76
- * 0.4 102 87 179
+ * 600 600 684 166
+ * 400 400 316 834
*
* in: dright= -1 left ear, +1 right ear
*/
@@ -633,9 +817,10 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
*/
real cI=0.214;
- /* (u,v) for zero G-y, phase of -34.5 degrees */
+ /* itu-r */
real wr=0.299, wb=0.114, wg=1-wr-wb; /* wg=0.587, y=wr*R+wg*G+wb*B */
real wu=0.493, wv=0.877; /* u=wu*(B-y) v=wv*(R-y) */
+ /* (u,v) for zero G-y, phase of -34.5 degrees */
real colu=wu*wg/wb, colv=-wv*wg/wr; /* for w=(G-y)/0.696 == 0 */
/* ears: U==0 W==0 W==0 U==0 */
@@ -653,9 +838,13 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
path[] zz;
int lcol, ccol, cicol, rcol, i;
- if(dright>0) {
+ if (dright>0) {
+ if (verbose > 1)
+ write("right ears");
cy=cyr; cu=cur; cv=cvr;
} else {
+ if (verbose > 1)
+ write("left ears");
cy=cyl; cu=cul; cv=cvl;
}
@@ -690,7 +879,7 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
z[5]=tvps(rcol,arow, xd,yd,Nv);
zz[3]=z[0]--z[1]--z[2]--z[3]--z[4]--z[5]--cycle;
- for(i=0; i<4; ++i) {
+ for (i=0; i<4; ++i) {
real y, u, v, A, ph, By, Ry, Gy, R, G, B;
y=cy[i];
@@ -699,12 +888,14 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
A=hypot(u,v);
ph= (u!=0 || v!=0) ? atan2(v,u) : 0.0;
- if(v>=0) {
- if(ph<0) ph=ph+pi;
+ if (v>=0) {
+ if (ph<0)
+ ph=ph+pi;
} else {
- if(ph>0) ph=ph-pi;
+ if (ph>0)
+ ph=ph-pi;
}
- if(A>0) {
+ if (A>0) {
u=u/A*cI;
v=v/A*cI;
}
@@ -717,22 +908,22 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
R=Ry+y;
G=Gy+y;
B=By+y;
- if(verbose > 1)
- write(y,round(R*255),round(G*255),round(B*255));
+ if (verbose > 1)
+ write(y*1000, round(R*1000), round(G*1000), round(B*1000));
fill(zz[i], p=pdef+rgb(R,G,B));
}
return;
}
-/****************************** NTSC bars ***********************************
- * amplitude equals color burst smpte (pm: -V +U)
+/****************************** NTSC bars ***********************************/
+/* amplitude equals color burst smpte (pm: -V +U)
* y campl sat R G B
* left 0.5 0.21 70% -I?
* right 0.5 0.17 60% +Q?
*/
-void ntscbars(int[] coff, int[] coffa, int[] coffb, int Nhc,
- int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright,
+void ntscbars(int[] rccoll, int[] rccolr, int divsx,
+ int[] rcrowt, int[] rcrowb, int divsy, int dright,
pen pdef, real xd, real yd, int Nv) {
/* The amplitude of (i,q) as seen on a vectorscope,
* max 0.292 Vn for 100% saturation in I==0 ears.
@@ -747,35 +938,34 @@ void ntscbars(int[] coff, int[] coffa, int[] coffb, int Nhc,
/* iT : iq -> RyBy : rotation+scaling */
real iT11=0.95, iT12=0.62, iT21=-1.11, iT22=1.71;
- /* bars -2 -1 0 1 2 */
- real[] cyl={ 0.50, 0.50, 0, 0.50, 0.50 };
- real[] cil={ 0, 0, 0, -1, 1 };
- real[] cql={ -1, 1, 0, 0, 0 };
- int[] offil={ 6, 7, 5, 7, 6 };
-
+ /* bars -2 -1 0 1 2 */
+ real[] cyl={ 0.50, 0.50, 1, 0.50, 0.50 };
+ real[] cil={ 0, 0, 0, -1, 1 };
+ real[] cql={ -1, 1, 0, 0, 0 };
+ int[] indl={ -7, -8, 0, 8, 7 };
+
real cy, ci, cq;
- int dri, dris, offi, lcol, rcol, i;
+ int rmaxi, dri, ind, ibase, lcol, rcol, i;
- if(dright>=0) {
- dris=1;
- } else {
- dris=-1;
- }
- if(dright<-2 || dright>2) {
+ rmaxi=2*divsy+1;
+ if (dright<-2 || dright>2) {
dri=2;
} else {
dri=2+dright;
}
- cy=cyl[dri]; ci=cil[dri]; cq=cql[dri];
- offi=offil[dri];
- lcol=Nhc+dris*coffa[offi];
- rcol=Nhc+dris*coffb[offi+1];
+ cy=cyl[dri];
+ ci=cil[dri];
+ cq=cql[dri];
+ ind=indl[dri];
+ ibase=divsx+ind;
+ lcol=rccolr[ibase];
+ rcol=rccoll[ibase+1];
real A, By, Ry, Gy, R, G, B;
A=hypot(ci,cq);
- if(A>0) {
+ if (A>0) {
ci=ci/A*campl;
cq=cq/A*campl;
}
@@ -787,33 +977,33 @@ void ntscbars(int[] coff, int[] coffa, int[] coffb, int Nhc,
R=Ry+cy;
G=Gy+cy;
B=By+cy;
- if(verbose > 1)
- write(cy,ci,cq,round(R*255),round(G*255),round(B*255));
+ if (verbose > 1)
+ write(ind, cy*1000, round(ci*1000), round(cq*1000),
+ round(R*1000), round(G*1000), round(B*1000));
- for(i=-divsy; i<=divsy; ++i) {
+ for (i=0; i<rmaxi; ++i) {
path zz;
- int brow, trow;
+ int brow, trow, inext=i+1;
- if(i>-divsy) {
- trow=rcrowb[divsy+i];
+ if (i>0) {
+ trow=rcrowb[i];
} else {
- trow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2);
+ trow=floor((rcrowb[i]+rcrowt[inext])/2);
}
- if(divsy>i) {
- brow=rcrowt[divsy+i+1];
+ if (inext<rmaxi) {
+ brow=rcrowt[inext];
} else {
- brow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2);
+ brow=floor((rcrowb[i]+rcrowt[inext])/2);
}
- zz=tvrect(lcol,brow, rcol,trow, xd,yd,Nv);
+ zz=tvrect(lcol,trow, rcol,brow, xd,yd,Nv);
fill(zz, p=pdef+rgb(R,G,B));
}
return;
}
-
/****************************** main ***********************************/
/* Conversion to bitmap:
* EPSPNG='gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=png16m'
@@ -834,14 +1024,17 @@ int bsys=2, colortv=1, os=1;
* 5 4/3 768 bsys=1, square dot cable TV info channel
* 6 131/96 786 bsys=2, total square dot broadcast camera
* 7 16/9 720 new broadcast 16/9, SD from HD-1440 or itu-r bt.709
- * 8 4/3 704 525 analog broadcast itu-r bt.470 711*485
+ * 8 4/3 704 525 analog broadcast itu-r bt.470 711x485
* 9 4/3 720 525 new broadcast
* 10 15/11 720 525 total aperture analog broadcast
* 11 16/9 1920 1250, 1080 square dot at 12.5 frames/second
* 12 4/3 1600 1250, 1200 square dot at 12.5 frames/second
*
* colortv:
- * set 0 for monochrome crosshatch, 1 for pal ears, 2 for ntsc bars
+ * 0 monochrome crosshatch,
+ * 1 pal ears,
+ * 2 ntsc bars,
+ * 3 neither ears nor bars.
*
* os: horizontal oversampling, typical values for 13.5MHz:
* 2 4/3 704*576, 15/11 720*576
@@ -854,9 +1047,9 @@ int bsys=2, colortv=1, os=1;
access settings;
usersetting();
-if(bsys<0 || bsys>12 || colortv<0 || colortv>3 || os<=0 || os>16) {
- write('Error: bad user input: bsys, colortv, os=\t', bsys, colortv, os);
- abort('Bad option -u bsys=N ?');
+if (bsys<0 || bsys>12 || colortv<0 || colortv>3 || os<=0 || os>16) {
+ write("Error: bad user input: bsys, colortv, os=\t", bsys, colortv, os);
+ abort("Bad option -u bsys=N ?");
}
int[] bNdot=
@@ -905,13 +1098,14 @@ int[] bNsh=
*
* resolution DPI from image aspect ratio
* Rv=Nv/ly, ly=4in
- * ri=Ni/Di, Ni={4,15,16} Di={3,11,9}
+ * ri=Ni/Di, Ni={ 4, 15, 16} Di={ 3, 11, 9}
* lx=ri*ly
*
* Rh=Nh/lx=Di*(Nh/(Ni*ly))
- * ==> ri=4/Di => Nh=k*16
- * ri=15/Di => Nh=k*60
- * ri=16/Di => Nh=k*64
+ * integer Rh:
+ * Ni=4 ri=4/Di => Nh=k*16
+ * Ni=15 ri=15/Di => Nh=k*60
+ * Ni=16 ri=16/Di => Nh=k*64
*
* resolution DPI from dot aspect ratio, general algorithm,
*
@@ -947,18 +1141,19 @@ Nv=bNv[bsys];
Ly=4; // 4 inch vertical size
m=floor(0.5+Nv/(Ly*Nd));
-if(m<1) m=1;
+if (m < 1) m=1;
ly=Nv/(m*Nd);
lx=Nh/(m*Dd);
ysize=ly*1inch;
xsize=lx*1inch;
rimage=xsize/ysize;
-if(verbose > 1)
- write('#Nd Dd m ri:\t', Nd, Dd, m, rimage);
-//size(xsize,ysize,Aspect); // should not have any effect
+if (verbose > 1) {
+ write("#Nd Dd m ri:\t", Nd, Dd, m, rimage);
+}
+//size(xsize, ysize, Aspect); // should not have any effect
-Nsy=bNsy[bsys]; // grating size in lines 42,43, 34,35
+Nsy=bNsy[bsys]; // grating size in lines 42,43 or 34,35
Nshift=bNsh[bsys]; // shift image up: pre 1997 =3, 2007 =0
fs=1e6*bfs[bsys]*os;
Na=0; // add 1,0,-1 to height of hor center squares for even Na+Nsy
@@ -970,21 +1165,25 @@ xd=xsize/Nh;
yd=ysize/Nv;
pwidth=min(abs(xd),abs(yd));
-pen pdefault=squarecap+linewidth(pwidth);
-pen pblack=pdefault+gray(0.0);
-pen pwhite=pdefault+gray(1.0);
+pen pdefault = squarecap+linewidth(pwidth);
+pen pblack = pdefault+gray(0.0);
+pen pwhite = pdefault+gray(1.0);
/**** calculate grating repeats and size in tv dots ****/
-// horizontal lines
-int divsy, rdisty, Nvc, Nt, Nb;
+/* horizontal lines */
+int divsy, rdisty, Nvc, Nt, Nb, rmaxi;
Nvc=floor(Nv/2)-Nshift;
-divsy=floor(((Nv-Na-2)/Nsy-1)/2); // (Nv-Na-2)/2-Nsy/2 dots for Nsy lengths
+/* top half picture (Nv-2)/2-(Nsy+Na)/2 dots for divisions of Nsy dots */
+divsy=floor(((Nv-2-Na)/Nsy-1)/2);
rdisty=Na+Nsy*(1+2*divsy);
+/* first guess free lines top and bottom */
Nt=Nvc-ceil(rdisty/2);
Nb=Nv-Nt-rdisty;
-if(verbose > 1)
- write('#divsy t b: \t',divsy,Nt,Nb);
+if (verbose > 1) {
+ write('#divsy t b: \t', divsy, Nt, Nb);
+}
+rmaxi=2*divsy+1;
/* Nsyc: center square height
* line pairing test: verify distance of center to top and bot
@@ -1000,9 +1199,10 @@ if(verbose > 1)
* rcrowc true center for color info, distance to top of image.
* rcrowb bot dist of hor line
*
- * Nt=Nvc-(offu+divsy*Nsy);
- * Nb=Nv-( Nvc-(offd-divsy*Nsy) );
- * ==> Nt+Nb=Nv-Nsyc-2*divsy*Nsy
+ * offd = offu-Nsyc
+ * Nt = Nvc-(offu+divsy*Nsy);
+ * Nb = Nv-( Nvc-(offd-divsy*Nsy) );
+ * ==> Nt+Nb = Nv-Nsyc-2*divsy*Nsy
*/
int Nsyc, offu, offd, Nyst=0, i;
int[] rcrowt, rcrowc, rcrowb;
@@ -1010,12 +1210,12 @@ int[] rcrowt, rcrowc, rcrowb;
Nsyc=Nsy+Na;
offu=floor(Nsyc/2);
offd=offu-Nsyc;
-if(Nsyc%2 != 0) {
+if (Nsyc%2 != 0) {
Nyst=1;
-} else if(Nsyc%4 == 0) {
+} else if (Nsyc%4 == 0) {
Nyst=1; /* stagger */
}
-for(i=0; i<=divsy; ++i) {
+for (i=0; i<=divsy; ++i) {
int iu, id, ou, od, ru, rd;
iu=divsy-i;
@@ -1023,8 +1223,9 @@ for(i=0; i<=divsy; ++i) {
ou=offu+Nsy*i;
od=offd-Nsy*i;
- if(verbose > 1)
+ if (verbose > 1) {
write(ou,od);
+ }
rcrowc[iu]=Nvc-ou;
rcrowc[id]=Nvc-od;
@@ -1039,30 +1240,71 @@ for(i=0; i<=divsy; ++i) {
}
Nt=floor((rcrowt[0]+rcrowb[0])/2);
Nb=Nv-Nt-Nsyc-2*Nsy*divsy;
-if(verbose > 1)
- write('#st t b: \t',Nyst,Nt,Nb);
+if (verbose > 1) {
+ write('#st t b: \t', Nyst, Nt, Nb);
+}
/* vertical lines
* (Nh-2*os)/2-Nsx/2 dots available for divisions of Nsx dots.
* At least 5 dots margin left and right ==> use -10*os
*/
-real lsq, Nsx;
-int divsx, Nhc, Nl;
+real lsq, Nsx, rdistx;
+int divsx, Nhc, Nl, Nr, cmaxi;
lsq=Nsy*yd;
-Nsx=lsq/xd;
+Nsx=lsq/xd; /* floating point */
divsx=floor(((Nh-10*os)/Nsx-1)/2);
Nhc=round(Nh/2);
-Nl=Nhc-round((1+2*divsx)*Nsx/2);
-if(verbose > 1)
- write('#Nsx divsx Nl:\t',Nsx,divsx,Nl);
+rdistx=(1+2*divsx)*Nsx;
+Nl=Nhc-round(rdistx/2);
+if (verbose > 1) {
+ write('#divsx Nsx l:\t', divsx, Nsx, Nl);
+}
+cmaxi=2*divsx+1;
+
+int[] coff, coffl, coffr;
+int[] rccoll, rccolc, rccolr;
+for (i=0; i<=divsx; ++i) {
+ int off, offl, offr, il, ir;
+ real cdist;
+
+ cdist=Nsx*(1+2*i); /* horizontal distance 2 symmetrical vert lines */
+ off=round(cdist/2);
+ // write(cdist, off);
+ offl=off-os;
+ offr=off+os;
+
+ coff[i]=off;
+ coffl[i]=offl;
+ coffr[i]=offr;
+
+ if (verbose > 1) {
+ write(cdist, off);
+ }
+ il=divsx-i;
+ ir=divsx+i+1;
+
+ rccoll[il]=Nhc-offr;
+ rccolc[il]=Nhc-off;
+ rccolr[il]=Nhc-offl;
+
+ rccoll[ir]=Nhc+offl;
+ rccolc[ir]=Nhc+off;
+ rccolr[ir]=Nhc+offr;
+}
+Nl=rccolc[0];
+Nr=Nh-rccolc[cmaxi];
+if (verbose > 1) {
+ write('#divsx Nsx l r:\t', divsx, Nsx, Nl, Nr);
+}
/**** draw gray background ****/
{
path zz;
+
//zz=tvrect(0,0, Nh,Nv, xd,yd,Nv);
/* keep white canvas for castellations */
- zz=tvrect(Nl,Nt, Nh-Nl,Nv-Nb, xd,yd,Nv);
+ zz=tvrect(rccoll[0],rcrowt[0], rccolr[cmaxi],rcrowb[rmaxi], xd,yd,Nv);
fill(zz, p=pdefault+gray(0.5));
//dot(zz);
}
@@ -1073,36 +1315,35 @@ path ccirc;
cx=Nh/2;
cy=Nv/2-Nshift;
crad=6*Nsy;
-if(Nv%2 != 0) {
- crad+=0.5;
+if (Nv%2 != 0) {
+ crad+=0.5;
}
ccenter=tvps(cx,cy, xd,yd,Nv);
ccirc=circle(ccenter, crad*yd);
-if(colortv<=0) {
+if (colortv<=0) {
draw(ccirc, p=pwhite+linewidth(2*yd));
}
-/****** draw 2*divsy+2 horizontal lines **********************************/
+/**** draw 2*divsy+2 horizontal gridlines ****/
real[] rcang, rcoff;
pair[] rcright, rcleft;
-int i, iend=2*divsy+1;
-for(i=0; i<=iend; ++i) {
- real y, phi, x;
+int i;
+for (i=0; i<=rmaxi; ++i) {
+ real y, ph, x;
path zzh;
pair zd;
- zzh=tvrect(0,rcrowt[i], Nh,rcrowb[i], xd,yd,Nv);
- fill(zzh, p=pwhite);
+ zzh=tvrect(0,rcrowt[i], Nh,rcrowb[i], xd,yd,Nv);
+ fill(zzh, p=pwhite);
y=cy-rcrowc[i];
- //write(roff);
- if(abs(y)<crad) {
- phi=asin(y/crad);
+ if (abs(y)<crad) {
+ ph=asin(y/crad);
} else {
- phi=pi/2;
+ ph=pi/2;
}
- rcang[i]=phi;
- x=(crad*cos(phi))*yd/xd;
+ rcang[i]=ph;
+ x=(crad*cos(ph))*yd/xd;
rcoff[i]=x;
zd=tvps(cx+x,cy-y, xd,yd,Nv);
rcright[i]=zd;
@@ -1111,109 +1352,31 @@ for(i=0; i<=iend; ++i) {
rcleft[i]=zd;
}
-/****** draw 2*divsx+2 vertical lines ***************************/
-int[] coff, coffa, coffb;
-int poffa=0, ccenterwhite=divsx%2;
-for(i=0; i<=divsx; ++i) {
- real cdist=(1+2*i)*Nsx;
- int off, offa, offb;
+/**** draw 2*divsx+2 vertical gridlines ****/
+for (i=0; i<=cmaxi; ++i) {
path zzv;
-
- off=round(cdist/2);
- //write(cdist,off);
- offa=off+os;
- offb=off-os;
-
- coff[i]=off;
- coffa[i]=offa;
- coffb[i]=offb;
-
- //write(Nhc-offa);
- zzv=tvrect(Nhc+offb,0, Nhc+offa,Nv, xd,yd,Nv);
+ zzv=tvrect(rccoll[i],0, rccolr[i],Nv, xd,yd,Nv);
fill(zzv, p=pwhite);
- zzv=tvrect(Nhc-offa,0, Nhc-offb,Nv, xd,yd,Nv);
- fill(zzv, p=pwhite);
-
- /** top castellations, must end with black **/
- if(i%2 == ccenterwhite) {
- int j, jnum;
-
- if(poffa == 0) {
- poffa=-offb;
- jnum=1;
- } else {
- jnum=2;
- }
-
- for(j=0; j<jnum; ++j) {
- int lc, rc;
- path zzc;
-
- if(j==0) {
- lc=Nhc+poffa;
- rc=Nhc+offb;
- } else {
- lc=Nhc-offb;
- rc=Nhc-poffa;
- }
-
- zzc=tvrect(lc,0, rc,Nt-1, xd,yd,Nv);
- fill(zzc, p=pblack);
- zzc=tvrect(lc,Nv-Nb+1, rc,Nv, xd,yd,Nv);
- fill(zzc, p=pblack);
- }
- }
-
- poffa=offa;
}
-//write(coff);
-/** left and right castellations **/
-/* The bottom right red rectangle tests for a non causal color FIR
- * filter in the receiver. The last 2..4 dots then typically appear
- * colorless, green, or cyan.
- *
- * This comes from the fact that the chroma subcarrier is of lower
- * bandwidth than luma and thus continues after the last active sample.
- * These trailing (y,u,v) samples result from a signal to zero
- * transition and depend on the transmit and receive filters. Samples
- * from VHS, system B/G/D/K, system I, or a DVD player output are
- * different. Nevertheless, a sharpening filter uses this data and so
- * adds false color to the last dots.
- */
-int lc, rc;
-iend=2*divsy+1;
-lc=Nhc-coffa[divsx];
-rc=Nhc+coffa[divsx];
-for(i=1; i<=iend; ++i) {
- pen pcast;
- if(i == iend && colortv>0) {
- pcast=pdefault+rgb(0.75,0.0,0);
- } else {
- pcast=pblack;
- }
- if(i%2 == 1) {
- int tr, br;
- path zzc;
-
- tr=rcrowb[i-1];
- br=rcrowt[i];
- zzc=tvrect( 0,tr, lc,br, xd,yd,Nv);
- fill(zzc, p=pblack);
- zzc=tvrect(rc,tr, Nh,br, xd,yd,Nv);
- fill(zzc, p=pcast);
- }
-}
+/**** castellations ****/
+castelhor(colortv, rccoll, rccolr, cmaxi, Nh, rcrowt[0], rcrowb[rmaxi],
+ pdefault, xd, yd, Nv);
+
+castelver(colortv, rccoll[0], rccolr[cmaxi], Nh, rcrowb, rcrowt, rmaxi,
+ pdefault, xd, yd, Nv);
/****** markers for 4/3 aspect ratio ******/
-if(rimage>4/3)
+if (rimage>4/3) {
rimarkers(rimage, Nh, Nhc, os, Nvc, Nsy, pwhite, xd, yd, Nv);
+}
/****** line pairing center ******/
-centerline(coff, coffa, coffb, Nhc, divsx, os, rcrowc, Nvc, divsy,
+centerline(colortv, rccoll, rccolc, rccolr, divsx, Nhc, os,
+ rcrowt, rcrowc, rcrowb, divsy, Nvc,
ccenter, rcoff, rcright, rcleft, pdefault, xd, yd, Nv);
-if(colortv>0) {
+if (colortv>0) {
/* topbw structure */
topbw(coff, Nhc, os, rcrowc[divsy-5], rcrowc[divsy-4], rcrowc[divsy-3],
ccenter, rcleft[divsy-4], rcleft[divsy-3], rcright[divsy-4],
@@ -1239,19 +1402,19 @@ if(colortv>0) {
rcright[divsy+3], rcright[divsy+4], pdefault, xd,yd,Nv);
/* PAL ears */
- if(colortv==1) {
- palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1,
+ if (colortv == 1) {
+ palears(coff,coffr,coffl, Nhc, rcrowt, rcrowb, Nvc, divsy, -1,
pdefault, xd, yd, Nv);
- palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1,
+ palears(coff,coffr,coffl, Nhc, rcrowt, rcrowb, Nvc, divsy, 1,
pdefault, xd, yd, Nv);
- } else if(colortv==2) {
- ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1,
+ } else if (colortv == 2) {
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -1,
pdefault, xd, yd, Nv);
- ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 1,
pdefault, xd, yd, Nv);
- ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -2,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -2,
pdefault, xd, yd, Nv);
- ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 2,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 2,
pdefault, xd, yd, Nv);
}
@@ -1294,20 +1457,24 @@ if(colortv>0) {
itot=insert(ifm,0, itot);
/* size of square */
- int rowNsy=round((rcrowc[divsy+5]+rcrowc[divsy+6])/2);
- pair Npos=tvps(Nhc+round((coff[4]+coff[5])/2),rowNsy, xd,yd,Nv);
- string iNsy=format("%i",Nsy);
-
+ int rowNsy, colNsy;
+ pair Npos;
+ string iNsy;
pen pbw;
- if(colortv>0) {
- pbw=pdefault+gray(1.0);
+
+ rowNsy = round((rcrowc[divsy+5]+rcrowc[divsy+6])/2);
+ colNsy = round((rccolc[divsx+5]+rccolc[divsx+6])/2);
+ Npos = tvps(colNsy,rowNsy, xd,yd,Nv);
+ iNsy = format("%i", Nsy);
+
+ if (colortv>0) {
+ pbw=pdefault+gray(1.0);
} else {
- pbw=pdefault+gray(0.0);
+ pbw=pdefault+gray(0.0);
}
label(ires, rpos, p=pbw);
label(itot, tpos, p=pbw);
label(iNsy, Npos, p=pbw);
- if(verbose > 1)
+ if (verbose > 1)
write('#res:\t', ires, itot, iNsy);
}
-
diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info
index fe63cc4aadf..9034e009096 100644
--- a/Master/texmf-dist/doc/info/asy-faq.info
+++ b/Master/texmf-dist/doc/info/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 10 Oct 2012
+ 15 May 2013
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info
index 5b88055da4c..c336f360af4 100644
--- a/Master/texmf-dist/doc/info/asymptote.info
+++ b/Master/texmf-dist/doc/info/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 4.13 from
../asymptote.texi.
-This file documents `Asymptote', version 2.21.
+This file documents `Asymptote', version 2.22.
`http://asymptote.sourceforge.net'
@@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents `Asymptote', version 2.21.
+This file documents `Asymptote', version 2.22.
`http://asymptote.sourceforge.net'
@@ -351,7 +351,7 @@ file::).
`http://www.imagemagick.org/script/binary-releases.php'
is required to support output formats other than EPS, PDF, SVG, and PNG
-(*note convert::). The `Python' interpreter from
+(*note convert::). The `Python 2' interpreter from
`http://www.python.org' is only required if you wish to try out the
graphical user interface (*note GUI::).
@@ -502,16 +502,15 @@ used; if it is old we recommend first putting
`http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2d.tar.gz'
in the `Asymptote' source directory.
-If your graphics card supports multisampling, we recommend using version
-`2.6.0' of `freeglut' to support antialiasing in `Asymptote''s adaptive
-`OpenGL' 3D renderer (`MacOS X' users can skip this step since
-`Asymptote' is configured to use the native glut library on that
-platform). Download
+ On `UNIX' platforms (other than `MacOS X'), we recommend using
+version `2.8.1' of the `freeglut' library. To compile `freeglut',
+download
- `http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0.tar.gz'
+ `http://prdownloads.sourceforge.net/freeglut/freeglut-2.8.1.tar.gz'
and type (as the root user):
-tar -zxf freeglut-2.6.0.tar.gz
-cd freeglut-2.6.0
+gunzip freeglut-2.8.1.tar.gz
+tar -xf freeglut-2.8.1.tar
+cd freeglut-2.8.1
./configure --prefix=/usr
make install
cd ..
@@ -1024,17 +1023,21 @@ promote pens to a higher color space, as illustrated in the example file
Axial gradient shading varying smoothly from `pena' to `penb' in the
direction of the line segment `a--b' can be achieved with
void axialshade(picture pic=currentpicture, path g, bool stroke=false,
- pen pena, pair a,
- pen penb, pair b);
+ pen pena, pair a, bool extenda=true,
+ pen penb, pair b, bool extendb=true);
+ The boolean parameters `extenda' and `extendb' indicate whether the
+shading should extend beyond the axis endpoints `a' and `b'.
Radial gradient shading varying smoothly from `pena' on the circle
with center `a' and radius `ra' to `penb' on the circle with center `b'
and radius `rb' is similar:
void radialshade(picture pic=currentpicture, path g, bool stroke=false,
- pen pena, pair a, real ra,
- pen penb, pair b, real rb);
- Illustrations of radial shading are provided in the example files
-`shade.asy', `ring.asy', and `shadestroke.asy'.
+ pen pena, pair a, real ra, bool extenda=true,
+ pen penb, pair b, real rb, bool extendb=true);
+ The boolean parameters `extenda' and `extendb' indicate whether the
+shading should extend beyond the radii `a' and `b'. Illustrations of
+radial shading are provided in the example files `shade.asy',
+`ring.asy', and `shadestroke.asy'.
Gouraud shading using fill rule `fillrule' and the vertex colors in
the pen array `p' on a triangular lattice defined by the vertices `z'
@@ -1303,8 +1306,11 @@ approximates a straight line. One can change the spline tension from
its default value of 1 to any real value greater than or equal to 0.75
(cf. John D. Hobby, Discrete and Computational Geometry 1, 1986):
draw((100,0)..tension 2 ..(100,100)..(0,100));
-draw((100,0)..tension 2 and 1 ..(100,100)..(0,100));
-draw((100,0)..tension atleast 1 ..(100,100)..(0,100));
+draw((100,0)..tension 3 and 2 ..(100,100)..(0,100));
+draw((100,0)..tension atleast 2 ..(100,100)..(0,100));
+
+ In these examples there is a space between `2' and `..'. This is
+needed as `2.' is interpreted as a numerical constant.
The curl parameter specifies the curvature at the endpoints of a path
(0 means straight; the default value of 1 means approximately circular):
@@ -5051,8 +5057,6 @@ File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base
This module, written by Philippe Ivaldi and illustrated in the example
`floatingdisk.asy', allows one to draw wavy lines, as if drawn by hand.
-Further examples are posted at
-`http://www.piprime.fr/files/asymptote/trembling/'

File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base modules
@@ -6766,12 +6770,11 @@ There are four choices for viewing 3D `Asymptote' output:
`outformat=""' and `render=-1'). If you encounter warnings from
your graphics card driver, try specifying `-glOptions=-indirect'
on the command line. On `UNIX' systems with graphics support for
- multisampling, we recommend installing the latest SVN (antialiased)
- version of the `freeglut' library (*note multisampling::); the
- sample width can be controlled with the setting `multisample'. An
- initial screen position can be specified with the pair setting
- `position', where negative values are interpreted as relative to
- the corresponding maximum screen dimension. The default settings import settings;
+ multisampling, the sample width can be controlled with the setting
+ `multisample'. An initial screen position can be specified with
+ the pair setting `position', where negative values are interpreted
+ as relative to the corresponding maximum screen dimension. The
+ default settings import settings;
leftbutton=new string[] {"rotate","zoom","shift","pan"};
middlebutton=new string[] {"menu"};
rightbutton=new string[] {"zoom/menu","rotateX","rotateY","rotateZ"};
@@ -7709,8 +7712,7 @@ guide[][] contour(pair[][] z, real[][] f, real[] c,
To construct contours for an array of values `f' specified at
irregularly positioned points `z', use the routine
-guide[][] contour(pair[] z, real[] f, real[] c,
- interpolate join=operator --, int subsample=1);
+guide[][] contour(pair[] z, real[] f, real[] c, interpolate join=operator --);
The contours themselves can be drawn with one of the routines
void draw(picture pic=currentpicture, Label[] L=new Label[],
guide[][] g, pen p=currentpen);
@@ -8264,9 +8266,9 @@ packages.
Pictures are deconstructed into the PNG image format, which supports
full alpha channel transparency. Under `Microsoft Windows', this
-requires `Python 2.7.3' and the `Python Imaging Library':
+requires `Python 2.7.4' and the `Python Imaging Library':
- `http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi'
+ `http://www.python.org/ftp/python/2.7.4/python-2.7.4.msi'
`http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe'.
On `UNIX' systems, place
@@ -8467,7 +8469,7 @@ Index
(line 6)
* & <1>: Arithmetic & logical.
(line 56)
-* &: Bezier curves. (line 83)
+* &: Bezier curves. (line 86)
* &&: Arithmetic & logical.
(line 53)
* * <1>: Arithmetic & logical.
@@ -8489,7 +8491,7 @@ Index
* -- <1>: Self & prefix operators.
(line 6)
* --: Tutorial. (line 127)
-* ---: Bezier curves. (line 83)
+* ---: Bezier curves. (line 86)
* -=: Self & prefix operators.
(line 6)
* -c: Options. (line 175)
@@ -8506,12 +8508,10 @@ Index
* 2D graphs: graph. (line 6)
* 3D graphs: graph3. (line 6)
* 3D grids: grid3. (line 6)
-* 3D PostScript: three. (line 594)
-* 3D rendering: Compiling from UNIX source.
- (line 16)
+* 3D PostScript: three. (line 593)
* :: Arithmetic & logical.
(line 73)
-* ::: Bezier curves. (line 67)
+* ::: Bezier curves. (line 70)
* <: Arithmetic & logical.
(line 41)
* <=: Arithmetic & logical.
@@ -8535,7 +8535,7 @@ Index
* abs <1>: Mathematical functions.
(line 35)
* abs: Data types. (line 62)
-* accel <1>: three. (line 520)
+* accel <1>: three. (line 519)
* accel: Paths and guides. (line 115)
* access: Import. (line 6)
* acknowledgments: Credits. (line 6)
@@ -8545,9 +8545,9 @@ Index
(line 6)
* acosh: Mathematical functions.
(line 6)
-* add <1>: three. (line 284)
+* add <1>: three. (line 283)
* add: Frames and pictures. (line 196)
-* addViews: three. (line 406)
+* addViews: three. (line 405)
* adjust: Pens. (line 115)
* Ai: Mathematical functions.
(line 48)
@@ -8571,22 +8571,20 @@ Index
* animation: animation. (line 6)
* annotate: annotate. (line 6)
* antialias <1>: Options. (line 144)
-* antialias: three. (line 223)
-* antialiasing: Compiling from UNIX source.
- (line 16)
+* antialias: three. (line 222)
* append <1>: Arrays. (line 39)
* append: Files. (line 36)
-* arc: three. (line 296)
+* arc: three. (line 295)
* Arc: Paths and guides. (line 32)
* arc: Paths and guides. (line 22)
* ArcArrow: draw. (line 26)
-* ArcArrow3: three. (line 561)
+* ArcArrow3: three. (line 560)
* ArcArrows: draw. (line 26)
-* ArcArrows3: three. (line 561)
-* arclength <1>: three. (line 520)
+* ArcArrows3: three. (line 560)
+* arclength <1>: three. (line 519)
* arclength: Paths and guides. (line 142)
* arcpoint: Paths and guides. (line 152)
-* arctime <1>: three. (line 520)
+* arctime <1>: three. (line 519)
* arctime: Paths and guides. (line 146)
* arguments: Default arguments. (line 6)
* arithmetic operators: Arithmetic & logical.
@@ -8598,10 +8596,10 @@ Index
* Arrow: draw. (line 26)
* arrow: Drawing commands. (line 31)
* arrow keys: Tutorial. (line 37)
-* Arrow3: three. (line 561)
+* Arrow3: three. (line 560)
* Arrows: draw. (line 26)
* arrows: draw. (line 26)
-* Arrows3: three. (line 561)
+* Arrows3: three. (line 560)
* as: Import. (line 68)
* ascii: Data types. (line 286)
* aSin: Mathematical functions.
@@ -8631,8 +8629,9 @@ Index
(line 6)
* atleast: Bezier curves. (line 56)
* attach <1>: graph. (line 416)
-* attach: LaTeX usage. (line 51)
-* autoadjust: three. (line 372)
+* attach <2>: LaTeX usage. (line 51)
+* attach: Frames and pictures. (line 252)
+* autoadjust: three. (line 371)
* autoimport: Options. (line 112)
* automatic scaling: graph. (line 682)
* axialshade: fill. (line 43)
@@ -8641,11 +8640,11 @@ Index
* azimuth: Data types. (line 126)
* babel: babel. (line 6)
* background color: Frames and pictures. (line 168)
-* BackView: three. (line 399)
+* BackView: three. (line 398)
* Bar: draw. (line 19)
-* Bar3: three. (line 561)
+* Bar3: three. (line 560)
* Bars: draw. (line 19)
-* Bars3: three. (line 561)
+* Bars3: three. (line 560)
* barsize: draw. (line 19)
* base modules: Base modules. (line 6)
* basealign: Pens. (line 168)
@@ -8653,18 +8652,18 @@ Index
* batch mode: Tutorial. (line 6)
* beep: Data types. (line 357)
* BeginArcArrow: draw. (line 26)
-* BeginArcArrow3: three. (line 561)
+* BeginArcArrow3: three. (line 560)
* BeginArrow: draw. (line 26)
-* BeginArrow3: three. (line 561)
+* BeginArrow3: three. (line 560)
* BeginBar: draw. (line 19)
-* BeginBar3: three. (line 561)
+* BeginBar3: three. (line 560)
* BeginDotMargin: draw. (line 42)
-* BeginDotMargin3: three. (line 577)
+* BeginDotMargin3: three. (line 576)
* BeginMargin: draw. (line 42)
-* BeginMargin3: three. (line 577)
+* BeginMargin3: three. (line 576)
* BeginPenMargin: draw. (line 42)
-* BeginPenMargin2: three. (line 577)
-* BeginPenMargin3: three. (line 577)
+* BeginPenMargin2: three. (line 576)
+* BeginPenMargin3: three. (line 576)
* BeginPoint: label. (line 56)
* Bessel: Mathematical functions.
(line 48)
@@ -8676,13 +8675,13 @@ Index
(line 48)
* Bi_deriv: Mathematical functions.
(line 48)
-* Billboard: three. (line 490)
+* Billboard: three. (line 489)
* binary: Files. (line 75)
* binary format: Files. (line 75)
* binary operators: Arithmetic & logical.
(line 6)
* binarytree: binarytree. (line 6)
-* black stripes: three. (line 223)
+* black stripes: three. (line 222)
* Blank: draw. (line 26)
* block.bottom: flowchart. (line 19)
* block.bottomleft: flowchart. (line 19)
@@ -8701,10 +8700,10 @@ Index
(line 6)
* Bottom: graph. (line 134)
* BottomTop: graph. (line 140)
-* BottomView: three. (line 399)
+* BottomView: three. (line 398)
* bounding box: Frames and pictures. (line 168)
* Bounds: graph3. (line 21)
-* box <1>: three. (line 318)
+* box <1>: three. (line 317)
* box: Frames and pictures. (line 22)
* bp: Tutorial. (line 26)
* break: Programming. (line 29)
@@ -8720,14 +8719,14 @@ Index
* C string: Data types. (line 191)
* CAD: CAD. (line 6)
* calculateTransform: Frames and pictures. (line 107)
-* camera: three. (line 367)
+* camera: three. (line 366)
* casts: Casts. (line 6)
* cbrt: Mathematical functions.
(line 6)
* cd: Files. (line 25)
* ceil: Mathematical functions.
(line 26)
-* center: three. (line 351)
+* center: three. (line 350)
* Center: label. (line 61)
* checker: Pens. (line 251)
* Chinese: unicode. (line 12)
@@ -8736,7 +8735,7 @@ Index
* Ci: Mathematical functions.
(line 48)
* circle <1>: flowchart. (line 64)
-* circle: three. (line 292)
+* circle: three. (line 291)
* Circle: Paths and guides. (line 17)
* circle: Paths and guides. (line 10)
* circlebarframe: markers. (line 18)
@@ -8744,7 +8743,7 @@ Index
* clamped: graph. (line 37)
* clear <1>: Debugger. (line 23)
* clear: Files. (line 92)
-* clip: fill. (line 111)
+* clip: fill. (line 115)
* CLZ: Arithmetic & logical.
(line 80)
* cm: Tutorial. (line 63)
@@ -8789,7 +8788,7 @@ Index
* convert <3>: Files. (line 154)
* convert: Configuring. (line 67)
* convertOptions: Options. (line 131)
-* Coons shading: fill. (line 74)
+* Coons shading: fill. (line 78)
* copy: Arrays. (line 174)
* Cos: Mathematical functions.
(line 20)
@@ -8809,10 +8808,10 @@ Index
(line 80)
* cubicroots: Arrays. (line 318)
* curl <1>: three. (line 6)
-* curl: Bezier curves. (line 63)
+* curl: Bezier curves. (line 66)
* curlSpecifier: Paths and guides. (line 394)
* currentpen: Pens. (line 6)
-* currentprojection: three. (line 396)
+* currentprojection: three. (line 395)
* curve: slopefield. (line 20)
* custom axis types: graph. (line 144)
* custom mark routine: graph. (line 577)
@@ -8820,7 +8819,7 @@ Index
* cut: Paths and guides. (line 240)
* cycle <1>: three. (line 6)
* cycle: Tutorial. (line 75)
-* cyclic <1>: three. (line 520)
+* cyclic <1>: three. (line 519)
* cyclic <2>: Arrays. (line 39)
* cyclic: Paths and guides. (line 74)
* Cyrillic: unicode. (line 7)
@@ -8836,7 +8835,7 @@ Index
* default arguments: Default arguments. (line 6)
* defaultformat: graph. (line 175)
* DefaultHead: draw. (line 26)
-* DefaultHead3: three. (line 561)
+* DefaultHead3: three. (line 560)
* defaultpen: Pens. (line 46)
* defaultrender: three. (line 47)
* deferred drawing: simplex. (line 6)
@@ -8851,7 +8850,7 @@ Index
* diagonal: Arrays. (line 303)
* diamond: flowchart. (line 57)
* dimension: Arrays. (line 367)
-* dir <1>: three. (line 520)
+* dir <1>: three. (line 519)
* dir <2>: Paths and guides. (line 98)
* dir <3>: Data types. (line 87)
* dir: Search paths. (line 10)
@@ -8867,11 +8866,11 @@ Index
* dot <2>: Data types. (line 100)
* dot: draw. (line 83)
* DotMargin: draw. (line 42)
-* DotMargin3: three. (line 577)
+* DotMargin3: three. (line 576)
* DotMargins: draw. (line 42)
-* DotMargins3: three. (line 577)
+* DotMargins3: three. (line 576)
* dotted: Pens. (line 95)
-* double deferred drawing: three. (line 269)
+* double deferred drawing: three. (line 268)
* double precision: Files. (line 75)
* draw: three. (line 112)
* Draw: Frames and pictures. (line 147)
@@ -8897,22 +8896,22 @@ Index
* else: Programming. (line 8)
* emacs: Editing modes. (line 6)
* embed: embed. (line 6)
-* Embedded: three. (line 490)
+* Embedded: three. (line 489)
* empty: Frames and pictures. (line 7)
* EndArcArrow: draw. (line 26)
-* EndArcArrow3: three. (line 561)
+* EndArcArrow3: three. (line 560)
* EndArrow: draw. (line 26)
-* EndArrow3: three. (line 561)
+* EndArrow3: three. (line 560)
* EndBar: draw. (line 19)
-* EndBar3: three. (line 561)
+* EndBar3: three. (line 560)
* EndDotMargin: draw. (line 42)
-* EndDotMargin3: three. (line 577)
+* EndDotMargin3: three. (line 576)
* endl: Files. (line 61)
* EndMargin: draw. (line 42)
-* EndMargin3: three. (line 577)
+* EndMargin3: three. (line 576)
* EndPenMargin: draw. (line 42)
-* EndPenMargin2: three. (line 577)
-* EndPenMargin3: three. (line 577)
+* EndPenMargin2: three. (line 576)
+* EndPenMargin3: three. (line 576)
* EndPoint: label. (line 56)
* envelope: Frames and pictures. (line 22)
* environment variables: Configuring. (line 87)
@@ -8951,12 +8950,12 @@ Index
* extension <1>: MetaPost. (line 10)
* extension: Paths and guides. (line 235)
* external: embed. (line 13)
-* extrude: three. (line 514)
+* extrude: three. (line 513)
* F: Mathematical functions.
(line 48)
* fabs: Mathematical functions.
(line 6)
-* face: three. (line 602)
+* face: three. (line 601)
* factorial: Mathematical functions.
(line 39)
* Fedora: UNIX binary distributions.
@@ -8965,7 +8964,7 @@ Index
* fft <1>: math. (line 26)
* fft: Arrays. (line 246)
* FFTW: Compiling from UNIX source.
- (line 58)
+ (line 57)
* file <1>: Debugger. (line 45)
* file: Files. (line 6)
* Fill: Frames and pictures. (line 133)
@@ -8981,7 +8980,7 @@ Index
* find: Data types. (line 226)
* firstcut: Paths and guides. (line 250)
* fit: Frames and pictures. (line 103)
-* fit3: three. (line 282)
+* fit3: three. (line 281)
* fixedscaling: Frames and pictures. (line 74)
* floor: Mathematical functions.
(line 26)
@@ -8998,17 +8997,15 @@ Index
* format: Data types. (line 269)
* forum: Help. (line 6)
* frame: Frames and pictures. (line 7)
-* freeglut: Compiling from UNIX source.
- (line 16)
* from: Import. (line 17)
-* FrontView: three. (line 399)
+* FrontView: three. (line 398)
* function declarations: Functions. (line 67)
-* function shading: fill. (line 96)
-* Function shading: fill. (line 96)
+* function shading: fill. (line 100)
+* Function shading: fill. (line 100)
* functions <1>: Mathematical functions.
(line 6)
* functions: Functions. (line 6)
-* functionshade: fill. (line 96)
+* functionshade: fill. (line 100)
* gamma: Mathematical functions.
(line 6)
* Gaussrand: Mathematical functions.
@@ -9020,10 +9017,10 @@ Index
* getstring: Files. (line 117)
* gettriple: Files. (line 117)
* glOptions <1>: Options. (line 131)
-* glOptions: three. (line 223)
+* glOptions: three. (line 222)
* GNU Scientific Library: Mathematical functions.
(line 48)
-* gouraudshade: fill. (line 58)
+* gouraudshade: fill. (line 62)
* Gradient: palette. (line 25)
* gradient shading: fill. (line 32)
* graph: graph. (line 6)
@@ -9040,7 +9037,7 @@ Index
* gsl: Mathematical functions.
(line 48)
* GSL: Compiling from UNIX source.
- (line 58)
+ (line 57)
* gsOptions: Options. (line 131)
* GUI: GUI. (line 6)
* GUI installation: GUI installation. (line 6)
@@ -9058,14 +9055,14 @@ Index
* hex: Data types. (line 283)
* hexidecimal <1>: Pens. (line 59)
* hexidecimal: Data types. (line 283)
-* hidden surface removal: three. (line 602)
+* hidden surface removal: three. (line 601)
* histogram: Mathematical functions.
(line 39)
* history <1>: Interactive mode. (line 59)
* history: Files. (line 142)
* historylines: Interactive mode. (line 64)
* HookHead: draw. (line 26)
-* HookHead3: three. (line 561)
+* HookHead3: three. (line 560)
* Horizontal: flowchart. (line 81)
* hyperrefOptions: Options. (line 131)
* hypot: Mathematical functions.
@@ -9074,12 +9071,12 @@ Index
(line 48)
* i_scaled: Mathematical functions.
(line 48)
-* iconic: three. (line 223)
+* iconic: three. (line 222)
* identity <1>: Arrays. (line 300)
* identity <2>: Mathematical functions.
(line 6)
* identity: Transforms. (line 24)
-* identity4: three. (line 450)
+* identity4: three. (line 449)
* if: Programming. (line 8)
* IgnoreAspect: Frames and pictures. (line 58)
* image: palette. (line 34)
@@ -9118,22 +9115,22 @@ Index
* interp: Arithmetic & logical.
(line 76)
* interpolate: interpolate. (line 6)
-* intersect <1>: three. (line 520)
+* intersect <1>: three. (line 519)
* intersect <2>: math. (line 13)
* intersect: Paths and guides. (line 184)
-* intersectionpoint <1>: three. (line 520)
+* intersectionpoint <1>: three. (line 519)
* intersectionpoint <2>: math. (line 17)
* intersectionpoint: Paths and guides. (line 227)
-* intersectionpoints <1>: three. (line 520)
+* intersectionpoints <1>: three. (line 519)
* intersectionpoints: Paths and guides. (line 231)
-* intersections <1>: three. (line 520)
+* intersections <1>: three. (line 519)
* intersections: Paths and guides. (line 195)
* InTicks: graph3. (line 35)
* intMax: Data types. (line 28)
* intMin: Data types. (line 28)
* inverse <1>: Arrays. (line 306)
* inverse: Transforms. (line 16)
-* invert: three. (line 440)
+* invert: three. (line 439)
* invisible: Pens. (line 39)
* isnan: Data types. (line 33)
* J: Mathematical functions.
@@ -9147,13 +9144,13 @@ Index
* KDE editor: Editing modes. (line 49)
* keepAspect <1>: LaTeX usage. (line 51)
* keepAspect: Frames and pictures. (line 54)
-* keyboard bindings:: three. (line 182)
+* keyboard bindings:: three. (line 181)
* keys: Arrays. (line 39)
* keyword: Named arguments. (line 37)
* keyword-only: Named arguments. (line 37)
* keywords: Named arguments. (line 6)
* Korean: unicode. (line 12)
-* label: three. (line 484)
+* label: three. (line 483)
* Label <1>: graph. (line 343)
* Label: label. (line 14)
* label: clip. (line 16)
@@ -9179,13 +9176,13 @@ Index
* LeftRight: graph. (line 290)
* LeftSide: label. (line 61)
* LeftTicks: graph. (line 161)
-* LeftView: three. (line 399)
+* LeftView: three. (line 398)
* legend <1>: graph. (line 432)
* legend <2>: draw. (line 64)
* legend: Drawing commands. (line 31)
* Legendre: Mathematical functions.
(line 48)
-* length <1>: three. (line 520)
+* length <1>: three. (line 519)
* length <2>: Arrays. (line 39)
* length <3>: Paths and guides. (line 65)
* length: Data types. (line 62)
@@ -9226,10 +9223,10 @@ Index
* makepen: Pens. (line 300)
* map: Arrays. (line 141)
* Margin: draw. (line 42)
-* Margin3: three. (line 577)
-* margins: three. (line 275)
+* Margin3: three. (line 576)
+* margins: three. (line 274)
* Margins: draw. (line 42)
-* Margins3: three. (line 577)
+* Margins3: three. (line 576)
* mark: graph. (line 485)
* markangle: markers. (line 38)
* marker: graph. (line 485)
@@ -9240,28 +9237,28 @@ Index
* math: math. (line 6)
* mathematical functions: Mathematical functions.
(line 6)
-* max <1>: three. (line 520)
+* max <1>: three. (line 519)
* max <2>: Arrays. (line 225)
* max <3>: Frames and pictures. (line 7)
* max: Paths and guides. (line 267)
* maxbound: Data types. (line 106)
-* maxtile: three. (line 223)
+* maxtile: three. (line 222)
* maxtimes: Paths and guides. (line 222)
-* maxviewport: three. (line 223)
+* maxviewport: three. (line 222)
* MetaPost: MetaPost. (line 6)
-* MetaPost ... : Bezier curves. (line 67)
+* MetaPost ... : Bezier curves. (line 70)
* MetaPost cutafter: Paths and guides. (line 255)
* MetaPost cutbefore: Paths and guides. (line 251)
* MetaPost pickup: Pens. (line 6)
* MetaPost whatever: MetaPost. (line 10)
* Microsoft Windows: Microsoft Windows. (line 6)
* MidArcArrow: draw. (line 26)
-* MidArcArrow3: three. (line 561)
+* MidArcArrow3: three. (line 560)
* MidArrow: draw. (line 26)
-* MidArrow3: three. (line 561)
+* MidArrow3: three. (line 560)
* midpoint: Paths and guides. (line 169)
* MidPoint: label. (line 56)
-* min <1>: three. (line 520)
+* min <1>: three. (line 519)
* min <2>: Arrays. (line 218)
* min <3>: Frames and pictures. (line 7)
* min: Paths and guides. (line 263)
@@ -9275,12 +9272,10 @@ Index
* mode: Files. (line 75)
* monotonic: graph. (line 37)
* mouse: GUI. (line 6)
-* mouse bindings: three. (line 150)
+* mouse bindings: three. (line 149)
* Move: Pens. (line 339)
* MoveQuiet: Pens. (line 345)
* multisample: three. (line 140)
-* multisampling: Compiling from UNIX source.
- (line 16)
* N: Tutorial. (line 106)
* name: Files. (line 88)
* named arguments: Named arguments. (line 6)
@@ -9297,10 +9292,10 @@ Index
* NoFill <1>: Frames and pictures. (line 141)
* NoFill: draw. (line 26)
* NoMargin: draw. (line 42)
-* NoMargin3: three. (line 577)
+* NoMargin3: three. (line 576)
* none: Files. (line 61)
* None: draw. (line 19)
-* normal: three. (line 506)
+* normal: three. (line 505)
* nosafe: Options. (line 164)
* NOT: Arithmetic & logical.
(line 80)
@@ -9310,13 +9305,13 @@ Index
* null: Structures. (line 6)
* nullpen <1>: Frames and pictures. (line 127)
* nullpen: label. (line 14)
-* NURBS: three. (line 376)
-* O: three. (line 287)
+* NURBS: three. (line 375)
+* O: three. (line 286)
* obj: obj. (line 9)
-* oblique: three. (line 332)
-* obliqueX: three. (line 340)
-* obliqueY: three. (line 347)
-* obliqueZ: three. (line 332)
+* oblique: three. (line 331)
+* obliqueX: three. (line 339)
+* obliqueY: three. (line 346)
+* obliqueZ: three. (line 331)
* ode: ode. (line 9)
* offset <1>: Options. (line 169)
* offset: Pens. (line 115)
@@ -9341,7 +9336,7 @@ Index
* OR: Arithmetic & logical.
(line 80)
* orientation: Frames and pictures. (line 95)
-* orthographic: three. (line 351)
+* orthographic: three. (line 350)
* outformat: three. (line 140)
* outprefix: Frames and pictures. (line 83)
* output <1>: Options. (line 144)
@@ -9378,33 +9373,33 @@ Index
* pdfviewerOptions: Options. (line 131)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
-* PenMargin2: three. (line 577)
-* PenMargin3: three. (line 577)
+* PenMargin2: three. (line 576)
+* PenMargin3: three. (line 576)
* PenMargins: draw. (line 42)
-* PenMargins2: three. (line 577)
-* PenMargins3: three. (line 577)
+* PenMargins2: three. (line 576)
+* PenMargins3: three. (line 576)
* periodic: graph. (line 37)
* perl: LaTeX usage. (line 30)
* perpendicular: geometry. (line 6)
-* perspective: three. (line 376)
+* perspective: three. (line 375)
* picture: Frames and pictures. (line 35)
* picture alignment: Frames and pictures. (line 209)
* piecewisestraight: Paths and guides. (line 81)
-* pixel: three. (line 584)
+* pixel: three. (line 583)
* Pl: Mathematical functions.
(line 48)
* plain: plain. (line 6)
* planar: three. (line 89)
-* plane: three. (line 314)
-* planeproject: three. (line 503)
-* point <1>: three. (line 520)
+* plane: three. (line 313)
+* planeproject: three. (line 502)
+* point <1>: three. (line 519)
* point: Paths and guides. (line 84)
* polar: Data types. (line 121)
* polargraph: graph. (line 90)
* polygon: graph. (line 485)
* pop: Arrays. (line 39)
* Portrait: Frames and pictures. (line 95)
-* postcontrol <1>: three. (line 520)
+* postcontrol <1>: three. (line 519)
* postcontrol: Paths and guides. (line 135)
* postfix operators: Self & prefix operators.
(line 19)
@@ -9413,9 +9408,9 @@ Index
* PostScript subpath: Tutorial. (line 134)
* pow10: Mathematical functions.
(line 6)
-* prc: three. (line 244)
+* prc: three. (line 243)
* precision: Files. (line 92)
-* precontrol <1>: three. (line 520)
+* precontrol <1>: three. (line 519)
* precontrol: Paths and guides. (line 128)
* prefix operators: Self & prefix operators.
(line 6)
@@ -9440,11 +9435,11 @@ Index
* quotient: Arithmetic & logical.
(line 6)
* RadialShade: Frames and pictures. (line 159)
-* radialshade: fill. (line 49)
+* radialshade: fill. (line 51)
* RadialShadeDraw: Frames and pictures. (line 163)
* radians: Mathematical functions.
(line 17)
-* radius <1>: three. (line 520)
+* radius <1>: three. (line 519)
* radius: Paths and guides. (line 124)
* Rainbow: palette. (line 12)
* rand: Mathematical functions.
@@ -9479,7 +9474,7 @@ Index
* restore: Frames and pictures. (line 265)
* restricted: Structures. (line 6)
* return: Debugger. (line 48)
-* reverse <1>: three. (line 520)
+* reverse <1>: three. (line 519)
* reverse <2>: Arrays. (line 146)
* reverse <3>: Paths and guides. (line 172)
* reverse: Data types. (line 250)
@@ -9491,8 +9486,8 @@ Index
* Right: graph. (line 287)
* RightSide: label. (line 61)
* RightTicks: graph. (line 161)
-* RightView: three. (line 399)
-* rotate: three. (line 471)
+* RightView: three. (line 398)
+* rotate: three. (line 470)
* Rotate: label. (line 36)
* Rotate(pair z): label. (line 39)
* round: Mathematical functions.
@@ -9509,13 +9504,13 @@ Index
* safe: Options. (line 164)
* save: Frames and pictures. (line 262)
* saveline: Files. (line 134)
-* scale: three. (line 470)
+* scale: three. (line 469)
* Scale: graph. (line 698)
* scale <1>: graph. (line 682)
* scale <2>: Transforms. (line 39)
* scale: Pens. (line 115)
* Scale: label. (line 45)
-* scale3: three. (line 467)
+* scale3: three. (line 466)
* scaled graph: graph. (line 663)
* scientific graph: graph. (line 397)
* scroll: Files. (line 108)
@@ -9538,12 +9533,12 @@ Index
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
-* shift <1>: three. (line 455)
+* shift <1>: three. (line 454)
* shift: Transforms. (line 27)
* Shift: label. (line 33)
* shiftless: Transforms. (line 53)
* shipout: Frames and pictures. (line 83)
-* showtarget: three. (line 351)
+* showtarget: three. (line 350)
* Si: Mathematical functions.
(line 48)
* signedint: Files. (line 75)
@@ -9560,14 +9555,14 @@ Index
* singlereal: Files. (line 75)
* sinh: Mathematical functions.
(line 6)
-* SixViews: three. (line 414)
-* SixViewsFR: three. (line 414)
-* SixViewsUS: three. (line 414)
+* SixViews: three. (line 413)
+* SixViewsFR: three. (line 413)
+* SixViewsUS: three. (line 413)
* size <1>: Options. (line 144)
-* size <2>: three. (line 520)
+* size <2>: three. (line 519)
* size <3>: Frames and pictures. (line 43)
* size: Paths and guides. (line 70)
-* size3: three. (line 272)
+* size3: three. (line 271)
* slant: Transforms. (line 45)
* Slant: label. (line 42)
* sleep: Data types. (line 351)
@@ -9599,7 +9594,7 @@ Index
* step: Debugger. (line 39)
* stickframe: markers. (line 16)
* stop: Debugger. (line 10)
-* straight: three. (line 520)
+* straight: three. (line 519)
* Straight: graph. (line 31)
* straight: Paths and guides. (line 77)
* strftime: Data types. (line 298)
@@ -9609,7 +9604,7 @@ Index
* strptime: Data types. (line 306)
* struct: Structures. (line 6)
* structures: Structures. (line 6)
-* subpath <1>: three. (line 520)
+* subpath <1>: three. (line 519)
* subpath: Paths and guides. (line 175)
* subpictures: Frames and pictures. (line 103)
* substr: Data types. (line 246)
@@ -9633,13 +9628,13 @@ Index
(line 6)
* tanh: Mathematical functions.
(line 6)
-* target: three. (line 351)
+* target: three. (line 350)
* tell: Files. (line 92)
* tension <1>: three. (line 6)
* tension: Bezier curves. (line 56)
* tensionSpecifier: Paths and guides. (line 388)
-* tensor product shading: fill. (line 74)
-* tensorshade: fill. (line 74)
+* tensor product shading: fill. (line 78)
+* tensorshade: fill. (line 78)
* tessellation: three. (line 112)
* tex <1>: Options. (line 144)
* tex: Frames and pictures. (line 278)
@@ -9647,7 +9642,7 @@ Index
* TeX string: Data types. (line 181)
* texcommand: Configuring. (line 67)
* TeXHead: draw. (line 26)
-* TeXHead3: three. (line 561)
+* TeXHead3: three. (line 560)
* texpath <1>: label. (line 115)
* texpath: Configuring. (line 67)
* texpreamble: Frames and pictures. (line 286)
@@ -9659,9 +9654,9 @@ Index
* thin: three. (line 123)
* this: Structures. (line 6)
* three: three. (line 6)
-* ThreeViews: three. (line 414)
-* ThreeViewsFR: three. (line 414)
-* ThreeViewsUS: three. (line 414)
+* ThreeViews: three. (line 413)
+* ThreeViewsFR: three. (line 413)
+* ThreeViewsUS: three. (line 413)
* tick: graph. (line 343)
* Ticks: graph. (line 161)
* ticks: graph. (line 161)
@@ -9672,25 +9667,25 @@ Index
* time: Data types. (line 298)
* times: Paths and guides. (line 209)
* Top: graph. (line 137)
-* TopView: three. (line 399)
+* TopView: three. (line 398)
* trace: Debugger. (line 51)
* trailingzero: graph. (line 175)
-* transform <1>: three. (line 495)
+* transform <1>: three. (line 494)
* transform: Transforms. (line 6)
-* transform3: three. (line 450)
+* transform3: three. (line 449)
* transparency: Pens. (line 222)
* transpose: Arrays. (line 205)
* tree: tree. (line 9)
* trembling: trembling. (line 6)
* triangle: geometry. (line 6)
* triangles: three. (line 112)
-* triangulate: contour. (line 157)
+* triangulate: contour. (line 156)
* tridiagonal: Arrays. (line 266)
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 110)
* TrueMargin: draw. (line 42)
-* TrueMargin3: three. (line 577)
+* TrueMargin3: three. (line 576)
* tube <1>: tube. (line 6)
* tube: three. (line 123)
* tutorial: Tutorial. (line 6)
@@ -9700,16 +9695,16 @@ Index
* U3D: embed. (line 24)
* undefined: Paths and guides. (line 271)
* UnFill: Frames and pictures. (line 152)
-* unfill: fill. (line 106)
+* unfill: fill. (line 110)
* UnFill: draw. (line 26)
* unicode: unicode. (line 6)
* uniform: Arrays. (line 155)
* Uninstall: Uninstall. (line 6)
* unique: math. (line 64)
* unit: Data types. (line 80)
-* unitbox <1>: three. (line 320)
+* unitbox <1>: three. (line 319)
* unitbox: Tutorial. (line 155)
-* unitcircle <1>: three. (line 287)
+* unitcircle <1>: three. (line 286)
* unitcircle: Tutorial. (line 128)
* unitrand: Mathematical functions.
(line 39)
@@ -9719,7 +9714,7 @@ Index
(line 6)
* unpacking: Rest arguments. (line 39)
* unravel: Import. (line 30)
-* up: three. (line 351)
+* up: three. (line 350)
* update: Files. (line 36)
* UpsideDown: Frames and pictures. (line 95)
* usepackage: Frames and pictures. (line 291)
@@ -9739,10 +9734,10 @@ Index
* vertex-dependent colors: three. (line 81)
* Vertical: flowchart. (line 81)
* viewportheight: LaTeX usage. (line 51)
-* viewportmargin: three. (line 275)
-* viewportsize: three. (line 275)
+* viewportmargin: three. (line 274)
+* viewportsize: three. (line 274)
* viewportwidth: LaTeX usage. (line 51)
-* views: three. (line 244)
+* views: three. (line 243)
* vim: Editing modes. (line 33)
* virtual functions: Structures. (line 181)
* void: Data types. (line 10)
@@ -9757,7 +9752,7 @@ Index
* word: Arrays. (line 354)
* write <1>: Arrays. (line 394)
* write: Files. (line 53)
-* X: three. (line 287)
+* X: three. (line 286)
* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
* xdr: Files. (line 75)
@@ -9769,15 +9764,15 @@ Index
(line 80)
* xpart: Data types. (line 91)
* xscale: Transforms. (line 33)
-* xscale3: three. (line 458)
+* xscale3: three. (line 457)
* xtick: graph. (line 343)
-* XY: three. (line 480)
+* XY: three. (line 479)
* XYEquals: graph3. (line 21)
* XYZero: graph3. (line 21)
* XZEquals: graph3. (line 21)
* XZero: graph. (line 275)
* XZZero: graph3. (line 21)
-* Y <1>: three. (line 287)
+* Y <1>: three. (line 286)
* Y: Mathematical functions.
(line 6)
* yaxis3: graph3. (line 7)
@@ -9786,14 +9781,14 @@ Index
* ylimits: graph. (line 637)
* ypart: Data types. (line 94)
* yscale: Transforms. (line 36)
-* yscale3: three. (line 461)
+* yscale3: three. (line 460)
* ytick: graph. (line 343)
-* YX: three. (line 495)
-* YZ: three. (line 495)
+* YX: three. (line 494)
+* YZ: three. (line 494)
* YZEquals: graph3. (line 21)
* YZero: graph. (line 125)
* YZZero: graph3. (line 21)
-* Z: three. (line 287)
+* Z: three. (line 286)
* zaxis3: graph3. (line 7)
* zero_Ai: Mathematical functions.
(line 48)
@@ -9809,9 +9804,9 @@ Index
* zeta: Mathematical functions.
(line 48)
* zpart: Data types. (line 163)
-* zscale3: three. (line 464)
-* ZX: three. (line 495)
-* ZY: three. (line 495)
+* zscale3: three. (line 463)
+* ZX: three. (line 494)
+* ZY: three. (line 494)
* |: Arithmetic & logical.
(line 62)
* ||: Arithmetic & logical.
@@ -9827,139 +9822,138 @@ Node: UNIX binary distributions11503
Node: MacOS X binary distributions12609
Node: Microsoft Windows13493
Ref: psview14203
-Node: Configuring15135
-Node: Search paths19349
-Node: Compiling from UNIX source20191
-Ref: multisampling20781
-Node: Editing modes23176
-Node: Subversion25608
-Node: Uninstall26071
-Node: Tutorial26421
-Ref: unitcircle30719
-Node: Drawing commands32655
-Node: draw34366
-Ref: arrows35514
-Node: fill40757
-Ref: gradient shading41801
-Node: clip46029
-Node: label46621
-Ref: Label47219
-Node: Bezier curves53022
-Node: Programming56599
-Ref: array iteration57413
-Node: Data types58494
-Ref: format67691
-Node: Paths and guides71944
-Ref: circle72198
-Ref: extension81618
-Node: Pens88301
-Ref: fillrule95669
-Ref: basealign96566
-Ref: transparency99392
-Ref: makepen102835
-Ref: overwrite103673
-Node: Transforms104883
-Node: Frames and pictures106674
-Ref: envelope107815
-Ref: size108898
-Ref: unitsize109885
-Ref: shipout110945
-Ref: filltype113278
-Ref: add116415
-Ref: add about117361
-Ref: tex120299
-Node: Files121173
-Ref: cd122156
-Ref: scroll126830
-Node: Variable initializers129745
-Node: Structures132470
-Node: Operators139914
-Node: Arithmetic & logical140228
-Node: Self & prefix operators142201
-Node: User-defined operators142989
-Node: Implicit scaling143900
-Node: Functions144463
-Ref: stack overflow147216
-Node: Default arguments147780
-Node: Named arguments148519
-Node: Rest arguments151090
-Node: Mathematical functions154211
-Node: Arrays158876
-Ref: sort165865
-Ref: tridiagonal168269
-Ref: solve169497
-Node: Slices173690
-Node: Casts177580
-Node: Import179545
-Node: Static184782
-Node: LaTeX usage187676
-Node: Base modules194088
-Node: plain196588
-Node: simplex197240
-Node: math197513
-Node: interpolate200218
-Node: geometry200497
-Node: trembling201091
-Node: stats201442
-Node: patterns201702
-Node: markers201938
-Node: tree203721
-Node: binarytree203909
-Node: drawtree204529
-Node: syzygy204733
-Node: feynman205007
-Node: roundedpath205282
-Node: animation205565
-Ref: animate205985
-Node: embed207124
-Node: slide208151
-Node: MetaPost208491
-Node: unicode209207
-Node: latin1210095
-Node: babel210463
-Node: labelpath210692
-Node: labelpath3211512
-Node: annotate211823
-Node: CAD212294
-Node: graph212604
-Ref: ticks219733
-Ref: pathmarkers233060
-Ref: marker233525
-Ref: markuniform233876
-Ref: errorbars235667
-Ref: automatic scaling239704
-Node: palette250333
-Ref: images250451
-Ref: image254623
-Ref: logimage255101
-Ref: penimage256162
-Ref: penfunctionimage256383
-Node: three257107
-Ref: PostScript3D282792
-Node: obj284484
-Node: graph3284736
-Ref: GaussianSurface289891
-Node: grid3290995
-Node: solids291735
-Node: tube292683
-Node: flowchart294918
-Node: contour299487
-Node: contour3304612
-Node: slopefield304919
-Node: ode306356
-Node: Options306616
-Ref: configuration file312661
-Ref: settings312661
-Ref: convert313862
-Node: Interactive mode316829
-Ref: history318982
-Node: GUI320287
-Node: GUI installation320790
-Node: GUI usage321920
-Node: PostScript to Asymptote322823
-Node: Help323579
-Node: Debugger325315
-Node: Credits327100
-Node: Index328032
+Node: Configuring15137
+Node: Search paths19351
+Node: Compiling from UNIX source20193
+Node: Editing modes23051
+Node: Subversion25483
+Node: Uninstall25946
+Node: Tutorial26296
+Ref: unitcircle30594
+Node: Drawing commands32530
+Node: draw34241
+Ref: arrows35389
+Node: fill40632
+Ref: gradient shading41676
+Node: clip46231
+Node: label46823
+Ref: Label47421
+Node: Bezier curves53224
+Node: Programming56926
+Ref: array iteration57740
+Node: Data types58821
+Ref: format68018
+Node: Paths and guides72271
+Ref: circle72525
+Ref: extension81945
+Node: Pens88628
+Ref: fillrule95996
+Ref: basealign96893
+Ref: transparency99719
+Ref: makepen103162
+Ref: overwrite104000
+Node: Transforms105210
+Node: Frames and pictures107001
+Ref: envelope108142
+Ref: size109225
+Ref: unitsize110212
+Ref: shipout111272
+Ref: filltype113605
+Ref: add116742
+Ref: add about117688
+Ref: tex120626
+Node: Files121500
+Ref: cd122483
+Ref: scroll127157
+Node: Variable initializers130072
+Node: Structures132797
+Node: Operators140241
+Node: Arithmetic & logical140555
+Node: Self & prefix operators142528
+Node: User-defined operators143316
+Node: Implicit scaling144227
+Node: Functions144790
+Ref: stack overflow147543
+Node: Default arguments148107
+Node: Named arguments148846
+Node: Rest arguments151417
+Node: Mathematical functions154538
+Node: Arrays159203
+Ref: sort166192
+Ref: tridiagonal168596
+Ref: solve169824
+Node: Slices174017
+Node: Casts177907
+Node: Import179872
+Node: Static185109
+Node: LaTeX usage188003
+Node: Base modules194415
+Node: plain196915
+Node: simplex197567
+Node: math197840
+Node: interpolate200545
+Node: geometry200824
+Node: trembling201418
+Node: stats201687
+Node: patterns201947
+Node: markers202183
+Node: tree203966
+Node: binarytree204154
+Node: drawtree204774
+Node: syzygy204978
+Node: feynman205252
+Node: roundedpath205527
+Node: animation205810
+Ref: animate206230
+Node: embed207369
+Node: slide208396
+Node: MetaPost208736
+Node: unicode209452
+Node: latin1210340
+Node: babel210708
+Node: labelpath210937
+Node: labelpath3211757
+Node: annotate212068
+Node: CAD212539
+Node: graph212849
+Ref: ticks219978
+Ref: pathmarkers233305
+Ref: marker233770
+Ref: markuniform234121
+Ref: errorbars235912
+Ref: automatic scaling239949
+Node: palette250578
+Ref: images250696
+Ref: image254868
+Ref: logimage255346
+Ref: penimage256407
+Ref: penfunctionimage256628
+Node: three257352
+Ref: PostScript3D282920
+Node: obj284612
+Node: graph3284864
+Ref: GaussianSurface290019
+Node: grid3291123
+Node: solids291863
+Node: tube292811
+Node: flowchart295046
+Node: contour299615
+Node: contour3304705
+Node: slopefield305012
+Node: ode306449
+Node: Options306709
+Ref: configuration file312754
+Ref: settings312754
+Ref: convert313955
+Node: Interactive mode316922
+Ref: history319075
+Node: GUI320380
+Node: GUI installation320883
+Node: GUI usage322013
+Node: PostScript to Asymptote322916
+Node: Help323672
+Node: Debugger325408
+Node: Credits327193
+Node: Index328125

End Tag Table
diff --git a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
index ebad4890ee3..9779ad3d7ef 100644
--- a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
Binary files differ