summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-24 18:33:44 +0000
committerKarl Berry <karl@freefriends.org>2021-02-24 18:33:44 +0000
commitdbd941ed19b558edd09219a372b2b0832957b283 (patch)
tree9c6af6f3924d8b1fff6638e510a907306342fa7d /Master/texmf-dist/doc
parenta360890a6c2a4befab6b48084d0731ad09c46631 (diff)
asymptote 2.69 support files
git-svn-id: svn://tug.org/texlive/trunk@57876 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/asymptote/CAD.pdfbin167756 -> 186216 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdfbin77122 -> 77166 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asy-latex.pdfbin194590 -> 194511 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asyRefCard.pdfbin121144 -> 121128 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asymptote.pdfbin1293637 -> 1213066 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/100d.pdb1535
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/1overx.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy16
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/CDlabel.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/Gouraud.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy12
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/Klein.asy11
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy15
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy28
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy80
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/RiemannSphere.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy14
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy56
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/axialshade.asy5
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/bars3.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/centroidfg.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/colorpatch.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/colorplanes.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/conicurv.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/contextfonts.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/controlsystem.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/cosaddition.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy472
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/diatom.asy12
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/dimension.asy24
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy56
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/elliptic.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/equilchord.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/exp.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/fequlogo.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/filesurface.asy12
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/fillcontour.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/fin.asy44
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy50
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/floor.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/gamma.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/gamma3.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/genustwo.asy14
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/icon.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/imagecontour.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy58
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/integraltest.asy12
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/interpolate1.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/intro.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/jump.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/label3zoom.asy16
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/leastsquares.asy12
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/legend.asy26
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/linearregression.asy8
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/linetype.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/lmfit1.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/logo.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/logo3.asy21
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/lowupint.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/markers1.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/markregular.asy10
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/mergeExample.asy18
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/mosaic.asy26
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/mosquito.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/near_earth.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/oneoverx.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/pOrbital.asy (renamed from Master/texmf-dist/doc/asymptote/examples/p-orbital.asy)4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy11
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/pdb.asy21
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/pipes.asy56
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/poster.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy22
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/rainbow.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/roll.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/roundpath.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/shadestroke.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/sinxlex.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/slidedemo.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/slope.asy22
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/soccerball.asy58
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/spectrum.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/spiral3.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/spline.asy20
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/splitpatch.asy32
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/spring.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/strokeshade.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/teapot.asy100
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy100
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/torus.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/triads.asy10
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/triangle.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy29
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/tvgen.asy384
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy30
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/unitoctant.asy41
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/unitoctantx.asy35
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/vertexshading.asy6
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/worldmap.asy10
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/xstitch.asy14
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy4
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/yingyang.asy2
-rw-r--r--Master/texmf-dist/doc/info/asy-faq.info44
-rw-r--r--Master/texmf-dist/doc/info/asymptote.info1753
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.116
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.man1.pdfbin29014 -> 29151 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/xasy.man1.pdfbin14667 -> 14672 bytes
116 files changed, 2687 insertions, 1996 deletions
diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf
index 2838bc85730..373599d13c8 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 69297b6f4f7..157796687b0 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 9a1ceaac57c..628bccc4dde 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 4ece2fff639..ee61f55ceb2 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 55c056d4050..5698afe4acd 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/100d.pdb1 b/Master/texmf-dist/doc/asymptote/examples/100d.pdb1
new file mode 100644
index 00000000000..d9143c1173b
--- /dev/null
+++ b/Master/texmf-dist/doc/asymptote/examples/100d.pdb1
@@ -0,0 +1,535 @@
+HEADER DNA/RNA 05-DEC-94 XXXX
+TITLE CRYSTAL STRUCTURE OF THE HIGHLY DISTORTED CHIMERIC DECAMER
+TITLE 2 R(C)D(CGGCGCCG)R(G)-SPERMINE COMPLEX-SPERMINE BINDING TO
+TITLE 3 PHOSPHATE ONLY AND MINOR GROOVE TERTIARY BASE-PAIRING
+COMPND 5'-R(*CP*)-D(*CP*GP*GP*CP*GP*CP*CP*GP*)-R(*G)-3'
+KEYWDS A-DNA/RNA, DOUBLE HELIX
+EXPDTA X-RAY DIFFRACTION
+AUTHOR C.BAN, B.RAMAKRISHNAN, M.SUNDARALINGAM
+JRNL AUTH C.BAN, B.RAMAKRISHNAN, M.SUNDARALINGAM
+JRNL TITL CRYSTAL STRUCTURE OF THE HIGHLY DISTORTED CHIMERIC
+JRNL TITL 2 DECAMER R(C)D(CGGCGCCG)R(G).SPERMINE
+JRNL TITL 3 COMPLEX--SPERMINE BINDING TO PHOSPHATE ONLY AND
+JRNL TITL 4 MINOR GROOVE TERTIARY BASE-PAIRING.
+JRNL REF NUCLEIC ACIDS RES. V. 22 5466 1994
+JRNL REFN ASTM NARHAD UK ISSN 0305-1048
+REMARK 1
+SEQRES 1 A 10 C DC DG DG DC DG DC DC DG G
+SEQRES 1 B 10 C DC DG DG DC DG DC DC DG G
+HETNAM SPM SPERMINE
+FORMUL 3 SPM C10 H26 N4
+FORMUL 4 HOH *67(H2 O)
+CRYST1 23.980 40.770 44.840 90.00 90.00 90.00 P 21 21 21 8
+ORIGX1 1.000000 0.000000 0.000000 0.00000
+ORIGX2 0.000000 1.000000 0.000000 0.00000
+ORIGX3 0.000000 0.000000 1.000000 0.00000
+SCALE1 0.041701 0.000000 0.000000 0.00000
+SCALE2 0.000000 0.024528 0.000000 0.00000
+SCALE3 0.000000 0.000000 0.022302 0.00000
+ATOM 1 N1 C A 1 -4.931 6.902 7.826 1.00 19.25 N
+ATOM 2 C2 C A 1 -4.838 7.263 9.158 1.00 16.72 C
+ATOM 3 O2 C A 1 -4.287 8.308 9.505 1.00 15.49 O
+ATOM 4 N3 C A 1 -5.367 6.448 10.085 1.00 15.96 N
+ATOM 5 C4 C A 1 -5.978 5.310 9.736 1.00 16.84 C
+ATOM 6 N4 C A 1 -6.592 4.588 10.676 1.00 19.14 N
+ATOM 7 C5 C A 1 -6.059 4.907 8.376 1.00 17.68 C
+ATOM 8 C6 C A 1 -5.522 5.732 7.461 1.00 17.68 C
+ATOM 9 O5' C A 1 -4.549 5.095 4.262 1.00 28.71 O
+ATOM 10 C5' C A 1 -4.176 6.323 3.646 1.00 27.35 C
+ATOM 11 C4' C A 1 -3.853 7.410 4.672 1.00 24.41 C
+ATOM 12 O4' C A 1 -4.992 7.650 5.512 1.00 22.53 O
+ATOM 13 C3' C A 1 -2.713 7.010 5.605 1.00 23.56 C
+ATOM 14 O3' C A 1 -1.379 7.127 5.060 1.00 21.02 O
+ATOM 15 C2' C A 1 -2.950 7.949 6.756 1.00 23.73 C
+ATOM 16 O2' C A 1 -2.407 9.267 6.554 1.00 23.93 O
+ATOM 17 C1' C A 1 -4.489 7.917 6.825 1.00 20.60 C
+ATOM 18 P DC A 2 -0.178 6.220 5.647 1.00 24.85 P
+ATOM 19 N1 DC A 2 -1.070 6.635 10.823 1.00 14.48 N
+ATOM 20 C2 DC A 2 -1.417 6.355 12.130 1.00 13.03 C
+ATOM 21 O2 DC A 2 -1.007 7.022 13.094 1.00 11.15 O
+ATOM 22 N3 DC A 2 -2.233 5.297 12.333 1.00 11.95 N
+ATOM 23 C4 DC A 2 -2.681 4.542 11.344 1.00 11.37 C
+ATOM 24 N4 DC A 2 -3.532 3.569 11.652 1.00 11.93 N
+ATOM 25 C5 DC A 2 -2.314 4.796 9.986 1.00 11.95 C
+ATOM 26 C6 DC A 2 -1.510 5.853 9.776 1.00 11.94 C
+ATOM 27 OP1 DC A 2 0.915 6.451 4.671 1.00 25.96 O
+ATOM 28 OP2 DC A 2 -0.948 4.954 5.664 1.00 24.57 O
+ATOM 29 O5' DC A 2 0.435 6.502 7.097 1.00 24.10 O
+ATOM 30 C5' DC A 2 1.020 7.793 7.281 1.00 19.66 C
+ATOM 31 C4' DC A 2 1.034 8.184 8.738 1.00 17.99 C
+ATOM 32 O4' DC A 2 -0.290 8.244 9.222 1.00 17.23 O
+ATOM 33 C3' DC A 2 1.724 7.167 9.617 1.00 18.98 C
+ATOM 34 O3' DC A 2 3.130 7.395 9.564 1.00 18.39 O
+ATOM 35 C2' DC A 2 1.152 7.607 10.934 1.00 17.33 C
+ATOM 36 C1' DC A 2 -0.273 7.853 10.599 1.00 15.44 C
+ATOM 37 P DG A 3 4.177 6.440 10.285 1.00 21.10 P
+ATOM 38 N9 DG A 3 1.615 4.437 14.168 1.00 11.63 N
+ATOM 39 C8 DG A 3 1.389 4.110 12.865 1.00 10.83 C
+ATOM 40 N7 DG A 3 0.474 3.204 12.690 1.00 12.03 N
+ATOM 41 C5 DG A 3 0.093 2.891 13.972 1.00 9.28 C
+ATOM 42 C6 DG A 3 -0.792 1.917 14.408 1.00 6.67 C
+ATOM 43 O6 DG A 3 -1.528 1.253 13.693 1.00 11.90 O
+ATOM 44 N1 DG A 3 -0.833 1.822 15.808 1.00 7.48 N
+ATOM 45 C2 DG A 3 -0.098 2.583 16.686 1.00 7.12 C
+ATOM 46 N2 DG A 3 -0.228 2.346 17.999 1.00 2.92 N
+ATOM 47 N3 DG A 3 0.745 3.531 16.259 1.00 7.08 N
+ATOM 48 C4 DG A 3 0.788 3.626 14.894 1.00 12.36 C
+ATOM 49 OP1 DG A 3 5.469 7.004 9.830 1.00 21.52 O
+ATOM 50 OP2 DG A 3 3.681 5.183 9.686 1.00 14.50 O
+ATOM 51 O5' DG A 3 4.378 6.142 11.832 1.00 19.95 O
+ATOM 52 C5' DG A 3 4.654 7.213 12.730 1.00 17.61 C
+ATOM 53 C4' DG A 3 4.016 6.885 14.035 1.00 17.62 C
+ATOM 54 O4' DG A 3 2.614 6.626 13.799 1.00 16.77 O
+ATOM 55 C3' DG A 3 4.595 5.586 14.598 1.00 16.31 C
+ATOM 56 O3' DG A 3 5.774 5.836 15.353 1.00 18.86 O
+ATOM 57 C2' DG A 3 3.484 5.274 15.528 1.00 17.71 C
+ATOM 58 C1' DG A 3 2.243 5.627 14.740 1.00 16.27 C
+ATOM 59 P DG A 4 6.647 4.633 15.976 1.00 19.10 P
+ATOM 60 N9 DG A 4 3.496 1.232 18.319 1.00 11.82 N
+ATOM 61 C8 DG A 4 3.617 1.742 17.054 1.00 8.09 C
+ATOM 62 N7 DG A 4 2.902 1.118 16.167 1.00 11.07 N
+ATOM 63 C5 DG A 4 2.252 0.091 16.894 1.00 11.16 C
+ATOM 64 C6 DG A 4 1.310 -0.920 16.456 1.00 9.75 C
+ATOM 65 O6 DG A 4 0.888 -1.151 15.321 1.00 9.97 O
+ATOM 66 N1 DG A 4 0.906 -1.749 17.502 1.00 8.27 N
+ATOM 67 C2 DG A 4 1.340 -1.630 18.818 1.00 8.31 C
+ATOM 68 N2 DG A 4 0.852 -2.494 19.717 1.00 6.42 N
+ATOM 69 N3 DG A 4 2.218 -0.681 19.223 1.00 9.10 N
+ATOM 70 C4 DG A 4 2.629 0.144 18.209 1.00 10.34 C
+ATOM 71 OP1 DG A 4 7.834 5.387 16.410 1.00 21.78 O
+ATOM 72 OP2 DG A 4 6.811 3.466 15.083 1.00 20.41 O
+ATOM 73 O5' DG A 4 5.837 4.160 17.304 1.00 19.69 O
+ATOM 74 C5' DG A 4 5.832 4.777 18.613 1.00 14.70 C
+ATOM 75 C4' DG A 4 5.349 3.746 19.615 1.00 15.74 C
+ATOM 76 O4' DG A 4 4.014 3.339 19.320 1.00 15.71 O
+ATOM 77 C3' DG A 4 6.144 2.446 19.549 1.00 14.86 C
+ATOM 78 O3' DG A 4 7.442 2.553 20.185 1.00 20.22 O
+ATOM 79 C2' DG A 4 5.194 1.467 20.191 1.00 13.42 C
+ATOM 80 C1' DG A 4 3.886 1.904 19.582 1.00 13.10 C
+ATOM 81 P DC A 5 8.623 1.481 19.918 1.00 16.11 P
+ATOM 82 N1 DC A 5 5.142 -2.576 17.527 1.00 12.08 N
+ATOM 83 C2 DC A 5 4.179 -3.389 16.962 1.00 12.60 C
+ATOM 84 O2 DC A 5 3.695 -4.327 17.591 1.00 10.69 O
+ATOM 85 N3 DC A 5 3.792 -3.162 15.680 1.00 10.73 N
+ATOM 86 C4 DC A 5 4.335 -2.176 14.967 1.00 10.86 C
+ATOM 87 N4 DC A 5 3.833 -1.904 13.765 1.00 7.57 N
+ATOM 88 C5 DC A 5 5.346 -1.339 15.528 1.00 12.31 C
+ATOM 89 C6 DC A 5 5.709 -1.571 16.800 1.00 10.26 C
+ATOM 90 OP1 DC A 5 9.474 2.225 20.879 1.00 21.84 O
+ATOM 91 OP2 DC A 5 8.908 1.639 18.468 1.00 19.79 O
+ATOM 92 O5' DC A 5 8.728 -0.072 20.325 1.00 19.47 O
+ATOM 93 C5' DC A 5 8.554 -1.158 19.407 1.00 15.29 C
+ATOM 94 C4' DC A 5 7.470 -2.178 19.802 1.00 12.49 C
+ATOM 95 O4' DC A 5 6.161 -1.717 19.496 1.00 12.55 O
+ATOM 96 C3' DC A 5 7.697 -3.468 19.046 1.00 11.96 C
+ATOM 97 O3' DC A 5 8.775 -4.194 19.666 1.00 14.17 O
+ATOM 98 C2' DC A 5 6.342 -4.056 19.192 1.00 10.58 C
+ATOM 99 C1' DC A 5 5.464 -2.822 18.946 1.00 10.97 C
+ATOM 100 P DG A 6 9.797 -5.058 18.800 1.00 14.87 P
+ATOM 101 N9 DG A 6 5.801 -7.550 16.290 1.00 13.78 N
+ATOM 102 C8 DG A 6 6.477 -6.339 16.189 1.00 11.32 C
+ATOM 103 N7 DG A 6 6.114 -5.628 15.161 1.00 11.53 N
+ATOM 104 C5 DG A 6 5.137 -6.431 14.528 1.00 15.14 C
+ATOM 105 C6 DG A 6 4.442 -6.239 13.291 1.00 14.51 C
+ATOM 106 O6 DG A 6 4.382 -5.224 12.595 1.00 15.52 O
+ATOM 107 N1 DG A 6 3.678 -7.348 12.942 1.00 15.78 N
+ATOM 108 C2 DG A 6 3.558 -8.503 13.679 1.00 16.04 C
+ATOM 109 N2 DG A 6 2.732 -9.421 13.210 1.00 15.11 N
+ATOM 110 N3 DG A 6 4.187 -8.691 14.842 1.00 14.81 N
+ATOM 111 C4 DG A 6 4.959 -7.617 15.206 1.00 13.90 C
+ATOM 112 OP1 DG A 6 10.851 -5.532 19.718 1.00 14.32 O
+ATOM 113 OP2 DG A 6 10.144 -4.575 17.432 1.00 10.67 O
+ATOM 114 O5' DG A 6 8.762 -6.277 18.626 1.00 15.18 O
+ATOM 115 C5' DG A 6 8.679 -7.438 19.428 1.00 15.40 C
+ATOM 116 C4' DG A 6 7.717 -8.446 18.789 1.00 15.34 C
+ATOM 117 O4' DG A 6 6.431 -7.834 18.520 1.00 16.46 O
+ATOM 118 C3' DG A 6 8.150 -9.052 17.449 1.00 16.54 C
+ATOM 119 O3' DG A 6 9.172 -10.043 17.595 1.00 18.58 O
+ATOM 120 C2' DG A 6 6.796 -9.650 17.066 1.00 17.79 C
+ATOM 121 C1' DG A 6 5.804 -8.517 17.397 1.00 13.96 C
+ATOM 122 P DC A 7 10.498 -10.100 16.665 1.00 17.81 P
+ATOM 123 N1 DC A 7 7.217 -9.334 12.285 1.00 7.65 N
+ATOM 124 C2 DC A 7 6.458 -8.793 11.230 1.00 10.22 C
+ATOM 125 O2 DC A 7 5.771 -9.507 10.500 1.00 15.05 O
+ATOM 126 N3 DC A 7 6.567 -7.461 10.942 1.00 6.65 N
+ATOM 127 C4 DC A 7 7.403 -6.694 11.658 1.00 5.07 C
+ATOM 128 N4 DC A 7 7.447 -5.391 11.420 1.00 4.65 N
+ATOM 129 C5 DC A 7 8.188 -7.242 12.730 1.00 4.20 C
+ATOM 130 C6 DC A 7 8.053 -8.558 13.000 1.00 6.45 C
+ATOM 131 OP1 DC A 7 11.307 -11.102 17.394 1.00 17.82 O
+ATOM 132 OP2 DC A 7 11.084 -8.759 16.374 1.00 20.08 O
+ATOM 133 O5' DC A 7 9.986 -10.722 15.264 1.00 17.30 O
+ATOM 134 C5' DC A 7 9.312 -11.986 15.170 1.00 16.36 C
+ATOM 135 C4' DC A 7 8.436 -12.095 13.916 1.00 15.85 C
+ATOM 136 O4' DC A 7 7.361 -11.148 13.955 1.00 16.34 O
+ATOM 137 C3' DC A 7 9.165 -11.823 12.595 1.00 14.83 C
+ATOM 138 O3' DC A 7 10.003 -12.907 12.161 1.00 16.25 O
+ATOM 139 C2' DC A 7 7.973 -11.600 11.717 1.00 11.20 C
+ATOM 140 C1' DC A 7 7.076 -10.772 12.582 1.00 10.61 C
+ATOM 141 P DC A 8 11.175 -12.651 11.083 1.00 18.77 P
+ATOM 142 N1 DC A 8 8.297 -9.310 7.883 1.00 6.87 N
+ATOM 143 C2 DC A 8 7.867 -8.224 7.123 1.00 9.10 C
+ATOM 144 O2 DC A 8 7.226 -8.387 6.080 1.00 7.86 O
+ATOM 145 N3 DC A 8 8.296 -6.966 7.459 1.00 7.75 N
+ATOM 146 C4 DC A 8 9.147 -6.784 8.485 1.00 9.21 C
+ATOM 147 N4 DC A 8 9.589 -5.560 8.779 1.00 7.67 N
+ATOM 148 C5 DC A 8 9.609 -7.891 9.258 1.00 7.40 C
+ATOM 149 C6 DC A 8 9.156 -9.121 8.923 1.00 9.24 C
+ATOM 150 OP1 DC A 8 11.871 -13.952 10.908 1.00 20.04 O
+ATOM 151 OP2 DC A 8 12.020 -11.472 11.376 1.00 20.24 O
+ATOM 152 O5' DC A 8 10.469 -12.357 9.649 1.00 18.79 O
+ATOM 153 C5' DC A 8 9.733 -13.334 8.924 1.00 12.85 C
+ATOM 154 C4' DC A 8 8.867 -12.647 7.941 1.00 14.40 C
+ATOM 155 O4' DC A 8 8.156 -11.587 8.589 1.00 10.91 O
+ATOM 156 C3' DC A 8 9.598 -11.936 6.845 1.00 14.90 C
+ATOM 157 O3' DC A 8 10.249 -12.831 5.936 1.00 15.23 O
+ATOM 158 C2' DC A 8 8.377 -11.232 6.304 1.00 9.34 C
+ATOM 159 C1' DC A 8 7.789 -10.648 7.568 1.00 8.80 C
+ATOM 160 P DG A 9 11.518 -12.329 5.128 1.00 14.64 P
+ATOM 161 N9 DG A 9 9.338 -8.006 2.891 1.00 5.76 N
+ATOM 162 C8 DG A 9 10.079 -8.162 4.036 1.00 7.27 C
+ATOM 163 N7 DG A 9 10.578 -7.077 4.541 1.00 5.05 N
+ATOM 164 C5 DG A 9 10.143 -6.100 3.664 1.00 6.30 C
+ATOM 165 C6 DG A 9 10.387 -4.694 3.690 1.00 6.32 C
+ATOM 166 O6 DG A 9 10.988 -4.056 4.538 1.00 8.77 O
+ATOM 167 N1 DG A 9 9.805 -4.022 2.632 1.00 5.02 N
+ATOM 168 C2 DG A 9 9.072 -4.651 1.658 1.00 7.22 C
+ATOM 169 N2 DG A 9 8.590 -3.921 0.680 1.00 5.13 N
+ATOM 170 N3 DG A 9 8.837 -5.970 1.631 1.00 8.90 N
+ATOM 171 C4 DG A 9 9.395 -6.649 2.656 1.00 5.39 C
+ATOM 172 OP1 DG A 9 11.889 -13.707 4.763 1.00 17.77 O
+ATOM 173 OP2 DG A 9 12.558 -11.435 5.714 1.00 16.33 O
+ATOM 174 O5' DG A 9 10.890 -11.645 3.793 1.00 13.73 O
+ATOM 175 C5' DG A 9 10.098 -12.334 2.826 1.00 10.04 C
+ATOM 176 C4' DG A 9 9.322 -11.365 2.036 1.00 8.60 C
+ATOM 177 O4' DG A 9 8.636 -10.420 2.864 1.00 9.95 O
+ATOM 178 C3' DG A 9 10.183 -10.481 1.201 1.00 11.49 C
+ATOM 179 O3' DG A 9 10.786 -11.138 0.073 1.00 12.29 O
+ATOM 180 C2' DG A 9 9.103 -9.503 0.858 1.00 7.88 C
+ATOM 181 C1' DG A 9 8.570 -9.111 2.181 1.00 8.58 C
+ATOM 182 P G A 10 12.244 -10.723 -0.414 1.00 18.00 P
+ATOM 183 N9 G A 10 11.582 -5.303 -1.017 1.00 15.40 N
+ATOM 184 C8 G A 10 12.179 -6.115 -0.061 1.00 15.00 C
+ATOM 185 N7 G A 10 12.826 -5.480 0.870 1.00 12.61 N
+ATOM 186 C5 G A 10 12.635 -4.148 0.522 1.00 13.15 C
+ATOM 187 C6 G A 10 13.133 -2.991 1.159 1.00 11.89 C
+ATOM 188 O6 G A 10 13.713 -2.965 2.241 1.00 12.64 O
+ATOM 189 N1 G A 10 12.806 -1.814 0.462 1.00 9.10 N
+ATOM 190 C2 G A 10 12.079 -1.777 -0.689 1.00 10.96 C
+ATOM 191 N2 G A 10 11.851 -0.582 -1.197 1.00 11.87 N
+ATOM 192 N3 G A 10 11.588 -2.874 -1.294 1.00 12.41 N
+ATOM 193 C4 G A 10 11.899 -4.020 -0.633 1.00 13.44 C
+ATOM 194 OP1 G A 10 12.221 -11.870 -1.354 1.00 19.65 O
+ATOM 195 OP2 G A 10 13.525 -10.237 0.168 1.00 21.55 O
+ATOM 196 O5' G A 10 11.507 -9.424 -1.092 1.00 18.23 O
+ATOM 197 C5' G A 10 10.721 -9.357 -2.288 1.00 18.20 C
+ATOM 198 C4' G A 10 10.589 -7.934 -2.878 1.00 17.37 C
+ATOM 199 O4' G A 10 10.102 -6.968 -1.936 1.00 15.12 O
+ATOM 200 C3' G A 10 11.859 -7.317 -3.471 1.00 17.88 C
+ATOM 201 O3' G A 10 12.164 -7.754 -4.846 1.00 16.65 O
+ATOM 202 C2' G A 10 11.470 -5.841 -3.464 1.00 16.83 C
+ATOM 203 O2' G A 10 10.607 -5.618 -4.583 1.00 18.75 O
+ATOM 204 C1' G A 10 10.721 -5.691 -2.168 1.00 15.79 C
+TER 205 G A 10
+ATOM 206 N1 C B 11 13.988 2.735 1.589 1.00 16.99 N
+ATOM 207 C2 C B 11 13.552 1.541 1.023 1.00 15.65 C
+ATOM 208 O2 C B 11 12.869 1.532 0.006 1.00 14.94 O
+ATOM 209 N3 C B 11 13.773 0.359 1.678 1.00 16.15 N
+ATOM 210 C4 C B 11 14.386 0.347 2.865 1.00 16.53 C
+ATOM 211 N4 C B 11 14.619 -0.822 3.476 1.00 18.43 N
+ATOM 212 C5 C B 11 14.816 1.571 3.473 1.00 16.78 C
+ATOM 213 C6 C B 11 14.597 2.724 2.804 1.00 15.01 C
+ATOM 214 O5' C B 11 14.526 5.793 4.007 1.00 18.48 O
+ATOM 215 C5' C B 11 14.531 6.777 2.948 1.00 17.64 C
+ATOM 216 C4' C B 11 14.028 6.161 1.616 1.00 17.23 C
+ATOM 217 O4' C B 11 14.808 4.991 1.256 1.00 16.55 O
+ATOM 218 C3' C B 11 12.611 5.611 1.737 1.00 17.97 C
+ATOM 219 O3' C B 11 11.508 6.538 1.711 1.00 18.76 O
+ATOM 220 C2' C B 11 12.546 4.594 0.654 1.00 14.10 C
+ATOM 221 O2' C B 11 12.366 5.290 -0.579 1.00 13.63 O
+ATOM 222 C1' C B 11 13.918 3.977 0.766 1.00 14.14 C
+ATOM 223 P DC B 12 10.233 6.143 2.644 1.00 21.42 P
+ATOM 224 N1 DC B 12 9.527 0.825 1.326 1.00 15.29 N
+ATOM 225 C2 DC B 12 9.472 -0.563 1.382 1.00 14.49 C
+ATOM 226 O2 DC B 12 8.922 -1.257 0.518 1.00 17.30 O
+ATOM 227 N3 DC B 12 10.055 -1.190 2.418 1.00 11.60 N
+ATOM 228 C4 DC B 12 10.676 -0.500 3.383 1.00 15.58 C
+ATOM 229 N4 DC B 12 11.164 -1.186 4.430 1.00 14.28 N
+ATOM 230 C5 DC B 12 10.760 0.927 3.341 1.00 15.60 C
+ATOM 231 C6 DC B 12 10.166 1.544 2.298 1.00 15.73 C
+ATOM 232 OP1 DC B 12 9.634 7.406 2.139 1.00 21.29 O
+ATOM 233 OP2 DC B 12 10.077 5.869 4.079 1.00 22.13 O
+ATOM 234 O5' DC B 12 9.636 4.841 1.804 1.00 20.84 O
+ATOM 235 C5' DC B 12 8.999 5.040 0.519 1.00 19.83 C
+ATOM 236 C4' DC B 12 8.512 3.757 -0.108 1.00 18.55 C
+ATOM 237 O4' DC B 12 9.529 2.733 -0.171 1.00 19.79 O
+ATOM 238 C3' DC B 12 7.498 3.211 0.801 1.00 18.00 C
+ATOM 239 O3' DC B 12 6.305 3.969 0.629 1.00 19.14 O
+ATOM 240 C2' DC B 12 7.475 1.788 0.344 1.00 15.87 C
+ATOM 241 C1' DC B 12 8.913 1.473 0.156 1.00 15.45 C
+ATOM 242 P DG B 13 4.970 3.543 1.371 1.00 21.52 P
+ATOM 243 N9 DG B 13 6.185 -2.069 3.050 1.00 9.23 N
+ATOM 244 C8 DG B 13 6.745 -1.032 3.745 1.00 8.94 C
+ATOM 245 N7 DG B 13 7.370 -1.389 4.833 1.00 7.30 N
+ATOM 246 C5 DG B 13 7.209 -2.767 4.877 1.00 8.43 C
+ATOM 247 C6 DG B 13 7.692 -3.719 5.823 1.00 9.75 C
+ATOM 248 O6 DG B 13 8.258 -3.536 6.903 1.00 14.29 O
+ATOM 249 N1 DG B 13 7.361 -5.014 5.443 1.00 5.73 N
+ATOM 250 C2 DG B 13 6.655 -5.359 4.323 1.00 2.65 C
+ATOM 251 N2 DG B 13 6.506 -6.654 4.079 1.00 2.15 N
+ATOM 252 N3 DG B 13 6.190 -4.477 3.470 1.00 2.55 N
+ATOM 253 C4 DG B 13 6.497 -3.198 3.793 1.00 6.08 C
+ATOM 254 OP1 DG B 13 4.172 4.637 0.743 1.00 22.41 O
+ATOM 255 OP2 DG B 13 5.322 3.646 2.816 1.00 21.67 O
+ATOM 256 O5' DG B 13 4.263 2.118 1.102 1.00 18.28 O
+ATOM 257 C5' DG B 13 3.977 1.214 2.153 1.00 12.90 C
+ATOM 258 C4' DG B 13 3.997 -0.166 1.554 1.00 15.74 C
+ATOM 259 O4' DG B 13 5.326 -0.638 1.288 1.00 15.41 O
+ATOM 260 C3' DG B 13 3.328 -1.110 2.479 1.00 14.99 C
+ATOM 261 O3' DG B 13 1.948 -0.901 2.181 1.00 18.56 O
+ATOM 262 C2' DG B 13 3.943 -2.416 1.990 1.00 14.49 C
+ATOM 263 C1' DG B 13 5.414 -2.020 1.777 1.00 12.61 C
+ATOM 264 P DG B 14 0.784 -1.093 3.255 1.00 15.78 P
+ATOM 265 N9 DG B 14 3.152 -5.336 5.518 1.00 6.83 N
+ATOM 266 C8 DG B 14 3.420 -4.010 5.692 1.00 4.36 C
+ATOM 267 N7 DG B 14 4.172 -3.751 6.719 1.00 5.76 N
+ATOM 268 C5 DG B 14 4.412 -5.012 7.281 1.00 8.36 C
+ATOM 269 C6 DG B 14 5.175 -5.383 8.425 1.00 10.81 C
+ATOM 270 O6 DG B 14 5.939 -4.687 9.102 1.00 10.46 O
+ATOM 271 N1 DG B 14 5.100 -6.738 8.655 1.00 7.70 N
+ATOM 272 C2 DG B 14 4.415 -7.650 7.890 1.00 6.88 C
+ATOM 273 N2 DG B 14 4.444 -8.925 8.254 1.00 4.21 N
+ATOM 274 N3 DG B 14 3.730 -7.316 6.805 1.00 7.97 N
+ATOM 275 C4 DG B 14 3.774 -5.982 6.566 1.00 7.79 C
+ATOM 276 OP1 DG B 14 -0.388 -0.771 2.418 1.00 12.44 O
+ATOM 277 OP2 DG B 14 0.951 -0.425 4.562 1.00 16.99 O
+ATOM 278 O5' DG B 14 0.825 -2.666 3.590 1.00 12.34 O
+ATOM 279 C5' DG B 14 0.518 -3.657 2.618 1.00 15.26 C
+ATOM 280 C4' DG B 14 0.962 -5.042 3.026 1.00 11.81 C
+ATOM 281 O4' DG B 14 2.388 -5.092 3.261 1.00 14.56 O
+ATOM 282 C3' DG B 14 0.298 -5.494 4.281 1.00 10.90 C
+ATOM 283 O3' DG B 14 -1.014 -5.933 3.977 1.00 16.35 O
+ATOM 284 C2' DG B 14 1.223 -6.607 4.600 1.00 8.75 C
+ATOM 285 C1' DG B 14 2.583 -6.029 4.341 1.00 8.31 C
+ATOM 286 P DC B 15 -2.108 -5.846 5.127 1.00 18.17 P
+ATOM 287 N1 DC B 15 0.594 -8.193 8.784 1.00 10.36 N
+ATOM 288 C2 DC B 15 1.420 -8.271 9.913 1.00 13.07 C
+ATOM 289 O2 DC B 15 1.626 -9.323 10.519 1.00 11.62 O
+ATOM 290 N3 DC B 15 1.985 -7.143 10.391 1.00 9.60 N
+ATOM 291 C4 DC B 15 1.755 -5.962 9.810 1.00 9.75 C
+ATOM 292 N4 DC B 15 2.507 -4.945 10.242 1.00 10.36 N
+ATOM 293 C5 DC B 15 0.883 -5.835 8.681 1.00 8.80 C
+ATOM 294 C6 DC B 15 0.336 -6.973 8.201 1.00 11.04 C
+ATOM 295 OP1 DC B 15 -3.198 -6.237 4.195 1.00 23.53 O
+ATOM 296 OP2 DC B 15 -2.242 -4.630 5.951 1.00 23.09 O
+ATOM 297 O5' DC B 15 -1.783 -7.100 6.053 1.00 20.88 O
+ATOM 298 C5' DC B 15 -2.023 -8.439 5.585 1.00 16.99 C
+ATOM 299 C4' DC B 15 -1.560 -9.527 6.542 1.00 16.47 C
+ATOM 300 O4' DC B 15 -0.145 -9.414 6.793 1.00 14.34 O
+ATOM 301 C3' DC B 15 -2.235 -9.419 7.903 1.00 17.63 C
+ATOM 302 O3' DC B 15 -3.580 -9.983 8.004 1.00 16.81 O
+ATOM 303 C2' DC B 15 -1.174 -10.022 8.803 1.00 12.88 C
+ATOM 304 C1' DC B 15 0.116 -9.496 8.210 1.00 14.19 C
+ATOM 305 P DG B 16 -4.447 -9.204 9.118 1.00 23.27 P
+ATOM 306 N9 DG B 16 -0.792 -7.342 13.150 1.00 14.23 N
+ATOM 307 C8 DG B 16 -1.064 -6.617 12.000 1.00 13.86 C
+ATOM 308 N7 DG B 16 -0.426 -5.487 11.941 1.00 10.67 N
+ATOM 309 C5 DG B 16 0.313 -5.477 13.124 1.00 13.65 C
+ATOM 310 C6 DG B 16 1.184 -4.501 13.652 1.00 10.61 C
+ATOM 311 O6 DG B 16 1.552 -3.475 13.129 1.00 10.52 O
+ATOM 312 N1 DG B 16 1.683 -4.846 14.894 1.00 14.28 N
+ATOM 313 C2 DG B 16 1.388 -6.009 15.567 1.00 12.13 C
+ATOM 314 N2 DG B 16 1.910 -6.217 16.766 1.00 10.28 N
+ATOM 315 N3 DG B 16 0.578 -6.929 15.063 1.00 15.53 N
+ATOM 316 C4 DG B 16 0.082 -6.603 13.853 1.00 12.03 C
+ATOM 317 OP1 DG B 16 -5.486 -10.240 8.913 1.00 22.76 O
+ATOM 318 OP2 DG B 16 -4.614 -7.887 8.455 1.00 24.12 O
+ATOM 319 O5' DG B 16 -4.232 -8.798 10.672 1.00 18.16 O
+ATOM 320 C5' DG B 16 -4.091 -9.850 11.581 1.00 18.35 C
+ATOM 321 C4' DG B 16 -3.224 -9.555 12.771 1.00 17.50 C
+ATOM 322 O4' DG B 16 -1.873 -9.267 12.423 1.00 15.59 O
+ATOM 323 C3' DG B 16 -3.673 -8.498 13.727 1.00 17.67 C
+ATOM 324 O3' DG B 16 -4.857 -8.945 14.432 1.00 23.53 O
+ATOM 325 C2' DG B 16 -2.423 -8.573 14.568 1.00 16.53 C
+ATOM 326 C1' DG B 16 -1.278 -8.659 13.568 1.00 15.43 C
+ATOM 327 P DC B 17 -6.006 -7.956 15.048 1.00 19.94 P
+ATOM 328 N1 DC B 17 -2.194 -5.587 17.570 1.00 12.74 N
+ATOM 329 C2 DC B 17 -1.248 -4.622 17.829 1.00 13.09 C
+ATOM 330 O2 DC B 17 -0.698 -4.517 18.933 1.00 12.24 O
+ATOM 331 N3 DC B 17 -0.984 -3.712 16.852 1.00 14.35 N
+ATOM 332 C4 DC B 17 -1.639 -3.762 15.686 1.00 13.79 C
+ATOM 333 N4 DC B 17 -1.297 -2.921 14.711 1.00 16.68 N
+ATOM 334 C5 DC B 17 -2.631 -4.748 15.430 1.00 11.59 C
+ATOM 335 C6 DC B 17 -2.858 -5.633 16.400 1.00 8.53 C
+ATOM 336 OP1 DC B 17 -6.749 -9.243 15.142 1.00 18.85 O
+ATOM 337 OP2 DC B 17 -6.441 -6.892 14.132 1.00 21.49 O
+ATOM 338 O5' DC B 17 -5.598 -7.385 16.536 1.00 17.70 O
+ATOM 339 C5' DC B 17 -5.483 -8.267 17.659 1.00 17.29 C
+ATOM 340 C4' DC B 17 -4.462 -7.850 18.701 1.00 19.19 C
+ATOM 341 O4' DC B 17 -3.142 -7.783 18.121 1.00 20.08 O
+ATOM 342 C3' DC B 17 -4.754 -6.460 19.204 1.00 21.26 C
+ATOM 343 O3' DC B 17 -5.866 -6.375 20.121 1.00 23.03 O
+ATOM 344 C2' DC B 17 -3.399 -6.104 19.736 1.00 18.88 C
+ATOM 345 C1' DC B 17 -2.472 -6.604 18.629 1.00 18.39 C
+ATOM 346 P DC B 18 -7.007 -5.260 19.781 1.00 28.77 P
+ATOM 347 N1 DC B 18 -3.297 -1.380 18.786 1.00 18.17 N
+ATOM 348 C2 DC B 18 -2.446 -0.458 18.171 1.00 16.98 C
+ATOM 349 O2 DC B 18 -1.573 0.166 18.774 1.00 20.32 O
+ATOM 350 N3 DC B 18 -2.583 -0.258 16.848 1.00 16.82 N
+ATOM 351 C4 DC B 18 -3.505 -0.931 16.149 1.00 15.76 C
+ATOM 352 N4 DC B 18 -3.636 -0.665 14.860 1.00 13.34 N
+ATOM 353 C5 DC B 18 -4.372 -1.893 16.748 1.00 12.67 C
+ATOM 354 C6 DC B 18 -4.237 -2.080 18.066 1.00 14.81 C
+ATOM 355 OP1 DC B 18 -8.010 -5.697 20.796 1.00 27.91 O
+ATOM 356 OP2 DC B 18 -7.417 -4.926 18.375 1.00 24.48 O
+ATOM 357 O5' DC B 18 -6.346 -3.878 20.355 1.00 26.69 O
+ATOM 358 C5' DC B 18 -5.876 -3.663 21.675 1.00 22.45 C
+ATOM 359 C4' DC B 18 -4.868 -2.527 21.660 1.00 20.14 C
+ATOM 360 O4' DC B 18 -3.898 -2.791 20.621 1.00 17.95 O
+ATOM 361 C3' DC B 18 -5.383 -1.139 21.350 1.00 20.46 C
+ATOM 362 O3' DC B 18 -6.122 -0.495 22.422 1.00 22.52 O
+ATOM 363 C2' DC B 18 -4.069 -0.456 20.977 1.00 18.70 C
+ATOM 364 C1' DC B 18 -3.245 -1.549 20.252 1.00 18.68 C
+ATOM 365 P DG B 19 -7.015 0.794 21.992 1.00 18.68 P
+ATOM 366 N9 DG B 19 -3.670 3.314 18.697 1.00 8.91 N
+ATOM 367 C8 DG B 19 -4.569 2.317 18.417 1.00 7.23 C
+ATOM 368 N7 DG B 19 -4.814 2.192 17.179 1.00 8.80 N
+ATOM 369 C5 DG B 19 -4.038 3.182 16.585 1.00 8.99 C
+ATOM 370 C6 DG B 19 -3.831 3.450 15.217 1.00 9.86 C
+ATOM 371 O6 DG B 19 -4.361 2.871 14.270 1.00 14.98 O
+ATOM 372 N1 DG B 19 -2.868 4.446 14.998 1.00 8.65 N
+ATOM 373 C2 DG B 19 -2.192 5.116 15.998 1.00 8.58 C
+ATOM 374 N2 DG B 19 -1.417 6.149 15.640 1.00 8.82 N
+ATOM 375 N3 DG B 19 -2.387 4.836 17.299 1.00 9.44 N
+ATOM 376 C4 DG B 19 -3.324 3.871 17.515 1.00 8.64 C
+ATOM 377 OP1 DG B 19 -7.592 0.740 23.355 1.00 20.58 O
+ATOM 378 OP2 DG B 19 -7.881 0.644 20.808 1.00 18.98 O
+ATOM 379 O5' DG B 19 -6.137 2.085 21.765 1.00 14.67 O
+ATOM 380 C5' DG B 19 -5.282 2.635 22.743 1.00 14.92 C
+ATOM 381 C4' DG B 19 -4.265 3.471 22.044 1.00 11.67 C
+ATOM 382 O4' DG B 19 -3.668 2.725 20.993 1.00 13.34 O
+ATOM 383 C3' DG B 19 -4.831 4.632 21.315 1.00 12.46 C
+ATOM 384 O3' DG B 19 -5.233 5.692 22.194 1.00 12.97 O
+ATOM 385 C2' DG B 19 -3.646 4.994 20.460 1.00 10.60 C
+ATOM 386 C1' DG B 19 -3.149 3.663 20.010 1.00 11.00 C
+ATOM 387 P G B 20 -6.156 6.845 21.578 1.00 16.17 P
+ATOM 388 N9 G B 20 -4.621 7.966 16.781 1.00 8.70 N
+ATOM 389 C8 G B 20 -5.409 6.982 17.305 1.00 8.15 C
+ATOM 390 N7 G B 20 -5.951 6.226 16.408 1.00 9.88 N
+ATOM 391 C5 G B 20 -5.496 6.753 15.190 1.00 10.42 C
+ATOM 392 C6 G B 20 -5.780 6.342 13.855 1.00 11.50 C
+ATOM 393 O6 G B 20 -6.476 5.399 13.485 1.00 13.46 O
+ATOM 394 N1 G B 20 -5.138 7.125 12.924 1.00 8.26 N
+ATOM 395 C2 G B 20 -4.310 8.187 13.214 1.00 7.88 C
+ATOM 396 N2 G B 20 -3.735 8.801 12.170 1.00 6.62 N
+ATOM 397 N3 G B 20 -4.043 8.594 14.477 1.00 8.59 N
+ATOM 398 C4 G B 20 -4.676 7.821 15.410 1.00 7.98 C
+ATOM 399 OP1 G B 20 -6.346 7.569 22.839 1.00 11.59 O
+ATOM 400 OP2 G B 20 -7.348 6.334 20.882 1.00 19.70 O
+ATOM 401 O5' G B 20 -5.304 7.716 20.550 1.00 15.64 O
+ATOM 402 C5' G B 20 -4.166 8.497 20.960 1.00 13.60 C
+ATOM 403 C4' G B 20 -3.731 9.295 19.780 1.00 11.64 C
+ATOM 404 O4' G B 20 -3.346 8.405 18.762 1.00 12.78 O
+ATOM 405 C3' G B 20 -4.937 10.017 19.154 1.00 9.26 C
+ATOM 406 O3' G B 20 -5.162 11.232 19.849 1.00 8.82 O
+ATOM 407 C2' G B 20 -4.515 10.231 17.738 1.00 10.28 C
+ATOM 408 O2' G B 20 -3.496 11.210 17.640 1.00 14.06 O
+ATOM 409 C1' G B 20 -3.782 8.924 17.491 1.00 11.06 C
+TER 410 G B 20
+HETATM 411 N1 SPM 21 10.683 -8.783 22.839 1.00 40.13 N
+HETATM 412 C2 SPM 21 11.531 -7.621 23.379 1.00 38.06 C
+HETATM 413 C3 SPM 21 10.826 -6.312 23.033 1.00 36.69 C
+HETATM 414 C4 SPM 21 11.754 -5.116 22.994 1.00 35.02 C
+HETATM 415 N5 SPM 21 10.958 -3.909 22.549 1.00 32.86 N
+HETATM 416 C6 SPM 21 12.018 -2.878 22.231 1.00 32.94 C
+HETATM 417 C7 SPM 21 11.419 -1.515 22.220 1.00 31.05 C
+HETATM 418 C8 SPM 21 12.460 -0.586 21.671 1.00 30.79 C
+HETATM 419 C9 SPM 21 12.057 0.847 21.888 1.00 28.48 C
+HETATM 420 N10 SPM 21 13.064 1.749 21.221 1.00 28.45 N
+HETATM 421 C11 SPM 21 13.493 2.749 22.270 1.00 30.71 C
+HETATM 422 C12 SPM 21 14.237 3.946 21.699 1.00 31.37 C
+HETATM 423 C13 SPM 21 14.691 4.712 22.920 1.00 32.44 C
+HETATM 424 N14 SPM 21 14.460 6.175 22.642 1.00 34.72 N
+HETATM 425 O HOH 22 -2.974 -2.437 11.925 1.00 16.09 O
+HETATM 426 O HOH 23 4.908 -5.520 0.996 1.00 18.38 O
+HETATM 427 O HOH 24 -7.781 4.610 18.814 1.00 18.46 O
+HETATM 428 O HOH 25 -0.410 11.047 5.984 1.00 21.92 O
+HETATM 429 O HOH 26 -8.768 2.303 25.439 1.00 63.34 O
+HETATM 430 O HOH 27 2.982 -6.730 19.716 1.00 59.88 O
+HETATM 431 O HOH 28 14.965 -12.628 -1.536 1.00 20.30 O
+HETATM 432 O HOH 29 11.946 -14.326 0.320 1.00 19.82 O
+HETATM 433 O HOH 30 10.067 -5.986 15.026 1.00 53.92 O
+HETATM 434 O HOH 31 12.687 -7.091 6.513 1.00 22.27 O
+HETATM 435 O HOH 32 12.609 -9.474 8.227 1.00 37.71 O
+HETATM 436 O HOH 33 -2.941 -7.858 2.063 1.00 27.19 O
+HETATM 437 O HOH 34 7.529 -3.577 14.088 1.00 21.79 O
+HETATM 438 O HOH 35 1.254 -0.882 12.378 1.00 24.27 O
+HETATM 439 O HOH 36 3.423 0.963 13.195 1.00 29.99 O
+HETATM 440 O HOH 37 7.112 -6.175 -0.485 1.00 27.77 O
+HETATM 441 O HOH 38 -0.686 -3.219 10.199 1.00 34.51 O
+HETATM 442 O HOH 39 9.580 7.535 14.458 1.00 36.42 O
+HETATM 443 O HOH 40 13.715 -4.726 5.032 1.00 69.56 O
+HETATM 444 O HOH 41 5.720 -2.345 11.434 1.00 31.09 O
+HETATM 445 O HOH 42 3.591 6.788 4.471 1.00 54.80 O
+HETATM 446 O HOH 43 10.402 4.780 14.504 1.00 68.31 O
+HETATM 447 O HOH 44 14.574 -10.275 18.466 1.00 49.77 O
+HETATM 448 O HOH 45 9.740 9.480 0.051 1.00 32.13 O
+HETATM 449 O HOH 46 0.657 2.761 2.939 1.00 32.50 O
+HETATM 450 O HOH 47 -4.337 -5.705 11.632 1.00 61.29 O
+HETATM 451 O HOH 48 8.511 0.032 6.773 1.00 19.39 O
+HETATM 452 O HOH 49 4.696 -1.081 7.336 1.00 33.58 O
+HETATM 453 O HOH 50 15.251 -12.102 2.108 1.00 32.25 O
+HETATM 454 O HOH 51 -6.031 -4.587 15.810 1.00 44.75 O
+HETATM 455 O HOH 52 3.985 7.860 0.750 1.00 43.33 O
+HETATM 456 O HOH 53 -9.947 -8.411 16.066 1.00 42.79 O
+HETATM 457 O HOH 54 14.022 -9.173 2.574 1.00 61.84 O
+HETATM 458 O HOH 55 8.927 4.925 21.552 1.00 21.30 O
+HETATM 459 O HOH 56 12.080 -9.656 20.565 1.00 39.11 O
+HETATM 460 O HOH 57 10.264 3.453 5.213 1.00 32.36 O
+HETATM 461 O HOH 58 7.585 8.903 10.458 1.00 55.81 O
+HETATM 462 O HOH 59 -6.958 -12.129 15.577 1.00 25.61 O
+HETATM 463 O HOH 60 7.487 1.041 16.040 1.00 46.35 O
+HETATM 464 O HOH 61 -0.194 -3.247 7.396 1.00 35.93 O
+HETATM 465 O HOH 62 8.225 6.727 12.206 1.00 60.91 O
+HETATM 466 O HOH 63 -7.060 4.463 4.604 1.00 46.27 O
+HETATM 467 O HOH 64 7.946 3.533 12.709 1.00 28.03 O
+HETATM 468 O HOH 65 6.779 -1.926 8.904 1.00 41.06 O
+HETATM 469 O HOH 66 -4.616 1.948 8.938 1.00 36.90 O
+HETATM 470 O HOH 67 2.587 3.984 4.922 1.00 71.03 O
+HETATM 471 O HOH 68 -2.870 3.373 6.568 1.00 35.34 O
+HETATM 472 O HOH 69 -2.641 -4.676 8.852 1.00 65.95 O
+HETATM 473 O HOH 70 7.896 2.158 5.060 1.00 37.59 O
+HETATM 474 O HOH 71 -10.031 -4.027 18.622 1.00 67.65 O
+HETATM 475 O HOH 72 -8.176 -1.645 24.639 1.00 49.61 O
+HETATM 476 O HOH 73 17.116 0.579 15.466 1.00 47.99 O
+HETATM 477 O HOH 74 -2.555 0.759 5.884 1.00 40.81 O
+HETATM 478 O HOH 75 5.250 1.995 7.543 1.00 70.98 O
+HETATM 479 O HOH 76 -10.113 -6.723 18.202 1.00 59.20 O
+HETATM 480 O HOH 77 1.829 -2.266 9.724 1.00 75.20 O
+HETATM 481 O HOH 78 -8.873 -3.504 22.680 1.00 79.41 O
+HETATM 482 O HOH 79 -9.310 -1.446 19.391 1.00 71.79 O
+HETATM 483 O HOH 80 -6.613 0.677 10.598 1.00 80.35 O
+HETATM 484 O HOH 81 -7.134 2.452 7.202 1.00 72.90 O
+HETATM 485 O HOH 82 13.359 4.222 15.085 1.00 55.82 O
+HETATM 486 O HOH 83 -1.981 3.230 3.724 1.00 91.06 O
+HETATM 487 O HOH 84 8.014 -16.765 6.352 1.00 97.71 O
+HETATM 488 O HOH 85 13.277 -1.574 6.340 1.00 80.86 O
+HETATM 489 O HOH 86 4.216 1.820 10.481 1.00 76.69 O
+HETATM 490 O HOH 87 10.662 -11.389 23.778 1.00 49.18 O
+HETATM 491 O HOH 88 -2.029 -10.316 17.858 1.00 83.02 O
+CONECT 411 412
+CONECT 412 411 413
+CONECT 413 412 414
+CONECT 414 413 415
+CONECT 415 414 416
+CONECT 416 415 417
+CONECT 417 416 418
+CONECT 418 417 419
+CONECT 419 418 420
+CONECT 420 419 421
+CONECT 421 420 422
+CONECT 422 421 423
+CONECT 423 422 424
+CONECT 424 423
+MASTER 0 0 0 0 0 0 0 6 489 2 14 2
+END
diff --git a/Master/texmf-dist/doc/asymptote/examples/1overx.asy b/Master/texmf-dist/doc/asymptote/examples/1overx.asy
index 5d9775d44dc..9bbbf282aca 100644
--- a/Master/texmf-dist/doc/asymptote/examples/1overx.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/1overx.asy
@@ -8,7 +8,7 @@ bool3 branch(real x)
static int lastsign=0;
if(x == 0) return false;
int sign=sgn(x);
- bool b=lastsign == 0 || sign == lastsign;
+ bool b=lastsign == 0 || sign == lastsign;
lastsign=sign;
return b ? true : default;
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy b/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy
index 4e3e55cb40e..1091ae22504 100644
--- a/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy
@@ -5,9 +5,9 @@ currentlight=Headlamp;
surface s=surface(patch(new triple[][] {
{(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
- {(0,1,0),(1,0,1),(1,0,1),(2,1,0)},
- {(0,1,0),(1,0,-1),(1,0,-1),(2,1,0)},
- {(0,2,0),(1,2,0),(1,2,0),(2,2,0)}}));
+ {(0,1,0),(1,0,1),(1,0,1),(2,1,0)},
+ {(0,1,0),(1,0,-1),(1,0,-1),(2,1,0)},
+ {(0,2,0),(1,2,0),(1,2,0),(2,2,0)}}));
draw(s,yellow);
draw(s.s[0].vequals(0.5),squarecap+2bp+blue,currentlight);
diff --git a/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy b/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy
index 62c01a55717..1055fbb1513 100644
--- a/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy
@@ -10,29 +10,33 @@ ROLL=17.39344555165265
// viewpoint=getstring("viewpoint",viewpoint);
currentprojection=perspective(viewpoint);
-triple[][][] P={
+triple[][][] P=
{
+ {
{(-1.6,0,1.875),(-2.3,0,1.875),(-2.7,0,1.875),(-2.7,0,1.65),},
{(-1.6,-0.3,1.875),(-2.3,-0.3,1.875),(-2.7,-0.3,1.875),(-2.7,-0.3,1.65),},
{(-1.5,-0.3,2.1),(-2.5,-0.3,2.1),(-3,-0.3,2.1),(-3,-0.3,1.65),},
{(-1.5,0,2.1),(-2.5,0,2.1),(-3,0,2.1),(-3,0,1.65),}
- },{
+ },
+ {
{(-2.7,0,1.65),(-2.7,0,1.425),(-2.5,0,0.975),(-2,0,0.75),},
{(-2.7,-0.3,1.65),(-2.7,-0.3,1.425),(-2.5,-0.3,0.975),(-2,-0.3,0.75),},
{(-3,-0.3,1.65),(-3,-0.3,1.2),(-2.65,-0.3,0.7275),(-1.9,-0.3,0.45),},
{(-3,0,1.65),(-3,0,1.2),(-2.65,0,0.7275),(-1.9,0,0.45),}
- },{
+ },
+ {
{(-2.7,0,1.65),(-2.7,0,1.875),(-2.3,0,1.875),(-1.6,0,1.875),},
{(-2.7,0.3,1.65),(-2.7,0.3,1.875),(-2.3,0.3,1.875),(-1.6,0.3,1.875),},
{(-3,0.3,1.65),(-3,0.3,2.1),(-2.5,0.3,2.1),(-1.5,0.3,2.1),},
{(-3,0,1.65),(-3,0,2.1),(-2.5,0,2.1),(-1.5,0,2.1),}
- },{
+ },
+ {
{(-2,0,0.75),(-2.5,0,0.975),(-2.7,0,1.425),(-2.7,0,1.65),},
{(-2,0.3,0.75),(-2.5,0.3,0.975),(-2.7,0.3,1.425),(-2.7,0.3,1.65),},
{(-1.9,0.3,0.45),(-2.65,0.3,0.7275),(-3,0.3,1.2),(-3,0.3,1.65),},
{(-1.9,0,0.45),(-2.65,0,0.7275),(-3,0,1.2),(-3,0,1.65),}
- }
-};
+ }
+ };
picture pic;
size(pic,15cm);
diff --git a/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy b/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy
index 2ac1272c9f9..70c8e50a404 100644
--- a/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy
@@ -5,12 +5,12 @@ asy(nativeformat(),"logo");
fill(unitcircle^^(scale(2/11.7)*unitcircle),
evenodd+rgb(124/255,205/255,124/255));
label(scale(1.1)*minipage(
-"\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\
+ "\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\
\smallskip
\small The Vector Graphics Language}\\
\smallskip
\textsc{Andy Hammerlindl, John Bowman, and Tom Prince}
-http://asymptote.sourceforge.net\\
+https://asymptote.sourceforge.io\\
",8cm),(0,0.6));
label(graphic("logo","height=7cm"),(0,-0.22));
clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd);
diff --git a/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy b/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy
index d49813e5e66..7df039e04c5 100644
--- a/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy
@@ -1,6 +1,6 @@
size(200);
-pen[] p={red,green,blue,magenta};
+pen[] p={red,green,blue,yellow};
pair[] z={(-1,0),(0,0),(0,1),(1,0)};
int[] edges={0,0,0,1};
gouraudshade(z[0]--z[2]--z[3]--cycle,p,z,edges);
diff --git a/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy b/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy
index 7f4cbbebb24..86e66f9edd2 100644
--- a/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy
@@ -1,14 +1,14 @@
import graph;
-size(140mm,70mm,IgnoreAspect);
-scale(false);
+size(140mm,70mm,IgnoreAspect);
+scale(false);
real[] x={1,3,4,5,6};
-real[] y={1,5,2,0,4};
+real[] y={1,5,2,0,4};
-marker mark=marker(scale(1mm)*cross(6,false,r=0.35),red,Fill);
+marker mark=marker(scale(1mm)*cross(6,false,r=0.35),red,Fill);
draw(graph(x,y,Hermite),"Hermite Spline",mark);
-xaxis("$x$",Bottom,LeftTicks(x));
-yaxis("$y$",Left,LeftTicks);
+xaxis("$x$",Bottom,LeftTicks(x));
+yaxis("$y$",Left,LeftTicks);
attach(legend(),point(NW),40S+30E,UnFill);
diff --git a/Master/texmf-dist/doc/asymptote/examples/Klein.asy b/Master/texmf-dist/doc/asymptote/examples/Klein.asy
index a5e7418fe6f..ae46b1b2a19 100644
--- a/Master/texmf-dist/doc/asymptote/examples/Klein.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/Klein.asy
@@ -2,12 +2,11 @@ import graph3;
size(469pt);
-currentprojection=perspective(
-camera=(25.0851928432063,-30.3337528952473,19.3728775115443),
-up=Z,
-target=(-0.590622314050054,0.692357205025578,-0.627122488455679),
-zoom=1,
-autoadjust=false);
+currentprojection=
+ perspective(camera=(25.0851928432063,-30.3337528952473,19.3728775115443),
+ up=Z,
+ target=(-0.590622314050054,0.692357205025578,-0.627122488455679),
+ zoom=1,autoadjust=false);
triple f(pair t) {
real u=t.x;
diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy b/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy
index c4da5c2ff5f..9ad121ecc65 100644
--- a/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy
@@ -8,13 +8,14 @@ currentprojection=perspective(50,80,50);
// udegree=3, nu=6;
real[] knot={0,0,0,0,0.4,0.6,1,1,1,1};
-triple[] P={
- (-31.2061,12.001,6.45082),
- (-31.3952,14.7353,6.53707),
- (-31.5909,21.277,6.70051),
- (-31.4284,25.4933,6.76745),
- (-31.5413,30.3485,6.68777),
- (-31.4896,32.2839,6.58385)
+triple[] P=
+ {
+ (-31.2061,12.001,6.45082),
+ (-31.3952,14.7353,6.53707),
+ (-31.5909,21.277,6.70051),
+ (-31.4284,25.4933,6.76745),
+ (-31.5413,30.3485,6.68777),
+ (-31.4896,32.2839,6.58385)
};
draw(P,knot,green);
diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy b/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy
index 5258c9986de..484e8c4cd15 100644
--- a/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy
@@ -1,16 +1,16 @@
import three;
/* Reference:
-@article{Qin97,
- title={{Representing quadric surfaces using NURBS surfaces}},
- author={Qin, K.},
- journal={Journal of Computer Science and Technology},
- volume={12},
- number={3},
- pages={210--216},
- year={1997},
- publisher={Springer}
-}
+ @article{Qin97,
+ title={{Representing quadric surfaces using NURBS surfaces}},
+ author={Qin, K.},
+ journal={Journal of Computer Science and Technology},
+ volume={12},
+ number={3},
+ pages={210--216},
+ year={1997},
+ publisher={Springer}
+ }
*/
size(10cm);
@@ -31,8 +31,8 @@ P.cyclic=true;
real[][] weights=new real[3][4];
for(int i=0; i < 3; ++i)
-for(int j=0; j < 4; ++j)
- weights[i][j]=W[i]*w[j];
+ for(int j=0; j < 4; ++j)
+ weights[i][j]=W[i]*w[j];
real[] uknot={0,0,1/3,1/2,1,1};
real[] vknot={0,0,0,0,1,1,1,1};
@@ -40,7 +40,7 @@ real[] vknot={0,0,0,0,1,1,1,1};
int N=1;
for(int k=0; k < N; ++k)
-for(int i=0; i < 4; ++i)
- draw(shift(k*Z)*P[i:i+3],uknot,vknot,weights,blue);
+ for(int i=0; i < 4; ++i)
+ draw(shift(k*Z)*P[i:i+3],uknot,vknot,weights,blue);
// draw(unitsphere,red+opacity(0.1));
diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy b/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy
index 32df6ff98ea..4bfafefbc33 100644
--- a/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy
@@ -9,43 +9,49 @@ currentprojection=perspective(50,80,50);
real[] uknot={0,0,0,0,0.5,1,1,1,1};
real[] vknot={0,0,0,0,0.4,0.6,1,1,1,1};
-triple[][] P={{
- (-31.2061,12.001,6.45082),
- (-31.3952,14.7353,6.53707),
- (-31.5909,21.277,6.70051),
- (-31.4284,25.4933,6.76745),
- (-31.5413,30.3485,6.68777),
- (-31.4896,32.2839,6.58385)
- },{
- (-28.279,12.001,7.89625),
- (-28.4187,14.7353,8.00954),
- (-28.5633,21.277,8.22422),
- (-28.4433,25.4933,8.31214),
- (-28.5266,30.3485,8.20749),
- (-28.4885,32.2839,8.07099)
- },{
- (-20,12.001,10.0379),
- (-20,14.7353,10.2001),
- (-20,21.277,10.5076),
- (-20,25.4933,10.6335),
- (-20,30.3485,10.4836),
- (-20,32.2839,10.2881)
- },{
- (-11.721,12.001,7.84024),
- (-11.5813,14.7353,7.95269),
- (-11.4367,21.277,8.16575),
- (-11.5567,25.4933,8.25302),
- (-11.4734,30.3485,8.14915),
- (-11.5115,32.2839,8.01367)
- },{
- (-8.79391,12.001,6.39481),
- (-8.60483,14.7353,6.48022),
- (-8.40905,21.277,6.64204),
- (-8.57158,25.4933,6.70832),
- (-8.45874,30.3485,6.62943),
- (-8.51041,32.2839,6.52653)
- }
-};
+triple[][] P=
+ {
+ {
+ (-31.2061,12.001,6.45082),
+ (-31.3952,14.7353,6.53707),
+ (-31.5909,21.277,6.70051),
+ (-31.4284,25.4933,6.76745),
+ (-31.5413,30.3485,6.68777),
+ (-31.4896,32.2839,6.58385)
+ },
+ {
+ (-28.279,12.001,7.89625),
+ (-28.4187,14.7353,8.00954),
+ (-28.5633,21.277,8.22422),
+ (-28.4433,25.4933,8.31214),
+ (-28.5266,30.3485,8.20749),
+ (-28.4885,32.2839,8.07099)
+ },
+ {
+ (-20,12.001,10.0379),
+ (-20,14.7353,10.2001),
+ (-20,21.277,10.5076),
+ (-20,25.4933,10.6335),
+ (-20,30.3485,10.4836),
+ (-20,32.2839,10.2881)
+ },
+ {
+ (-11.721,12.001,7.84024),
+ (-11.5813,14.7353,7.95269),
+ (-11.4367,21.277,8.16575),
+ (-11.5567,25.4933,8.25302),
+ (-11.4734,30.3485,8.14915),
+ (-11.5115,32.2839,8.01367)
+ },
+ {
+ (-8.79391,12.001,6.39481),
+ (-8.60483,14.7353,6.48022),
+ (-8.40905,21.277,6.64204),
+ (-8.57158,25.4933,6.70832),
+ (-8.45874,30.3485,6.62943),
+ (-8.51041,32.2839,6.52653)
+ }
+ };
draw(P,uknot,vknot,new pen[] {red,green,blue,magenta});
diff --git a/Master/texmf-dist/doc/asymptote/examples/RiemannSphere.asy b/Master/texmf-dist/doc/asymptote/examples/RiemannSphere.asy
index ec1ab7586a9..40f9d065a30 100644
--- a/Master/texmf-dist/doc/asymptote/examples/RiemannSphere.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/RiemannSphere.asy
@@ -33,9 +33,9 @@ draw(p,1bp+heavyred);
draw(q,1bp+heavyblue);
triple
- A=(0,0,1),
- B=(u(40),v(40),w(40)),
- C=(x(40),y(40),z(40));
+A=(0,0,1),
+B=(u(40),v(40),w(40)),
+C=(x(40),y(40),z(40));
path3 L=A--C;
draw(L,1bp+black);
diff --git a/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy b/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy
index a1f1b665089..92f94bdc721 100644
--- a/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy
@@ -1,13 +1,13 @@
import graph3;
import palette;
-
+
size(200,300,keepAspect=false);
//settings.nothin=true;
-
+
currentprojection=orthographic(10,10,30);
currentlight=(10,10,5);
triple f(pair t) {return (exp(t.x)*cos(t.y),exp(t.x)*sin(t.y),t.y);}
-
+
surface s=surface(f,(-4,-2pi),(0,4pi),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
draw(s,render(merge=true));
diff --git a/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy b/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy
index 8cb3af2cfa9..65098ac9359 100644
--- a/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy
@@ -5,11 +5,11 @@ import palette;
int n=3;
size(200,300,keepAspect=false);
-
+
currentprojection=orthographic(10,10,30);
currentlight=(10,10,5);
triple f(pair t) {return (t.x*cos(t.y),t.x*sin(t.y),t.x^(1/n)*sin(t.y/n));}
-
+
surface s=surface(f,(0,0),(1,2pi*n),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
diff --git a/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy b/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy
index 2e0d4facd64..5936000fd3f 100644
--- a/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy
@@ -2,15 +2,15 @@ size(200);
import palette;
import three;
currentprojection=perspective(8,2,1);
-
+
triple[] M={(0,0,1),1/3*(sqrt(8),0,-1),
1/3*((sqrt(8))*Cos(120),(sqrt(8))*Sin(120),-1),
1/3*((sqrt(8))*Cos(240),(sqrt(8))*Sin(240),-1)};
-
+
int level=5;
-
+
surface s;
-
+
void recur(triple p, real u, int l) {
if(l < level)
for(triple V : M)
@@ -23,9 +23,9 @@ void recur(triple p, real u, int l) {
s.append(surface((p+u*(V+M[3]))--(p+u*(V+M[2]))--(p+u*(V+M[1]))--cycle));
}
}
-
+
recur(O,0.5,1);
-
+
s.colors(palette(s.map(zpart),Rainbow()));
-
+
draw(s,render(merge=true));
diff --git a/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy b/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy
index deaf7c1dec3..f26db20ff6b 100644
--- a/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy
@@ -4,36 +4,40 @@ import three;
currentprojection=orthographic(1,1,1);
-triple[] M={
- (-1,-1,-1),(0,-1,-1),(1,-1,-1),(1,0,-1),
- (1,1,-1),(0,1,-1),(-1,1,-1),(-1,0,-1),
- (-1,-1,0),(1,-1,0),(1,1,0),(-1,1,0),
- (-1,-1,1),(0,-1,1),(1,-1,1),(1,0,1),(1,1,1),(0,1,1),(-1,1,1),(-1,0,1)
-};
+triple[] M=
+ {
+ (-1,-1,-1),(0,-1,-1),(1,-1,-1),(1,0,-1),
+ (1,1,-1),(0,1,-1),(-1,1,-1),(-1,0,-1),
+ (-1,-1,0),(1,-1,0),(1,1,0),(-1,1,0),
+ (-1,-1,1),(0,-1,1),(1,-1,1),(1,0,1),(1,1,1),(0,1,1),(-1,1,1),(-1,0,1)
+ };
-surface[] Squares={
- surface((1,-1,-1)--(1,1,-1)--(1,1,1)--(1,-1,1)--cycle),
- surface((-1,-1,-1)--(-1,1,-1)--(-1,1,1)--(-1,-1,1)--cycle),
- surface((1,1,-1)--(-1,1,-1)--(-1,1,1)--(1,1,1)--cycle),
- surface((1,-1,-1)--(-1,-1,-1)--(-1,-1,1)--(1,-1,1)--cycle),
- surface((1,-1,1)--(1,1,1)--(-1,1,1)--(-1,-1,1)--cycle),
- surface((1,-1,-1)--(1,1,-1)--(-1,1,-1)--(-1,-1,-1)--cycle),
+surface[] Squares=
+ {
+ surface((1,-1,-1)--(1,1,-1)--(1,1,1)--(1,-1,1)--cycle),
+ surface((-1,-1,-1)--(-1,1,-1)--(-1,1,1)--(-1,-1,1)--cycle),
+ surface((1,1,-1)--(-1,1,-1)--(-1,1,1)--(1,1,1)--cycle),
+ surface((1,-1,-1)--(-1,-1,-1)--(-1,-1,1)--(1,-1,1)--cycle),
+ surface((1,-1,1)--(1,1,1)--(-1,1,1)--(-1,-1,1)--cycle),
+ surface((1,-1,-1)--(1,1,-1)--(-1,1,-1)--(-1,-1,-1)--cycle),
};
-int[][] SquaresPoints={
- {2,3,4,10,16,15,14,9},
- {0,7,6,11,18,19,12,8},
- {4,5,6,11,18,17,16,10},
- {2,1,0,8,12,13,14,9},
- {12,13,14,15,16,17,18,19},
- {0,1,2,3,4,5,6,7}
-};
+int[][] SquaresPoints=
+ {
+ {2,3,4,10,16,15,14,9},
+ {0,7,6,11,18,19,12,8},
+ {4,5,6,11,18,17,16,10},
+ {2,1,0,8,12,13,14,9},
+ {12,13,14,15,16,17,18,19},
+ {0,1,2,3,4,5,6,7}
+ };
-int[][] index={
- {0,2,4},{0,1},{1,2,4},{2,3},{1,3,4},{0,1},{0,3,4},{2,3},
- {4,5},{4,5},{4,5},{4,5},
- {0,2,5},{0,1},{1,2,5},{2,3},{1,3,5},{0,1},{0,3,5},{2,3}
-};
+int[][] index=
+ {
+ {0,2,4},{0,1},{1,2,4},{2,3},{1,3,4},{0,1},{0,3,4},{2,3},
+ {4,5},{4,5},{4,5},{4,5},
+ {0,2,5},{0,1},{1,2,5},{2,3},{1,3,5},{0,1},{0,3,5},{2,3}
+ };
int[] Sponge0=array(n=6,value=1);
diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy b/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy
index bbfdd21eaba..22bd4e2f3cb 100644
--- a/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy
@@ -16,7 +16,7 @@ access embed; // For non-portable embedded movies
usersetting();
titlepage("Slides with {\tt Asymptote}: Animations","John C. Bowman",
- "University of Alberta","\today","http://asymptote.sf.net");
+ "University of Alberta","\today","https://asymptote.sourceforge.io");
title("Embedded PDF movies (portable)");
animation a=animation("A");
diff --git a/Master/texmf-dist/doc/asymptote/examples/axialshade.asy b/Master/texmf-dist/doc/asymptote/examples/axialshade.asy
new file mode 100644
index 00000000000..97977b2aeaa
--- /dev/null
+++ b/Master/texmf-dist/doc/asymptote/examples/axialshade.asy
@@ -0,0 +1,5 @@
+size(0,100);
+
+axialshade(unitsquare,red,(0,0),blue,(1,1));
+
+
diff --git a/Master/texmf-dist/doc/asymptote/examples/bars3.asy b/Master/texmf-dist/doc/asymptote/examples/bars3.asy
index 4205d46f37c..58adcfb99f8 100644
--- a/Master/texmf-dist/doc/asymptote/examples/bars3.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/bars3.asy
@@ -1,5 +1,5 @@
import three;
-import palette;
+import palette;
import graph3;
size(300);
diff --git a/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy b/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy
index 2e26454cdbe..278274fb404 100644
--- a/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy
@@ -8,8 +8,8 @@ real g(real x) {return x^2;}
draw(graph(f,a,b,operator ..),red);
draw(graph(g,a,b,operator ..),blue);
-
-xaxis();
+
+xaxis();
int n=5;
@@ -18,7 +18,7 @@ for(int i=0; i <= n; ++i) {
real x=a+width*i;
draw((x,g(x))--(x,f(x)));
}
-
+
labelx("$a$",a);
labelx("$b$",b);
draw((a,0)--(a,g(a)),dotted);
diff --git a/Master/texmf-dist/doc/asymptote/examples/colorpatch.asy b/Master/texmf-dist/doc/asymptote/examples/colorpatch.asy
index e0f6b5b4272..fccb03f8c6b 100644
--- a/Master/texmf-dist/doc/asymptote/examples/colorpatch.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/colorpatch.asy
@@ -5,9 +5,9 @@ size(10cm);
surface s=surface(patch(new triple[][] {
{(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
- {(0,1,0),(1,0,1),(1,0,1),(2,1,0)},
- {(0,1,0),(1,0,-1),(1,0,-1),(2,1,0)},
- {(0,2,0),(1,2,0),(1,2,0),(2,2,0)}}));
+ {(0,1,0),(1,0,1),(1,0,1),(2,1,0)},
+ {(0,1,0),(1,0,-1),(1,0,-1),(2,1,0)},
+ {(0,2,0),(1,2,0),(1,2,0),(2,2,0)}}));
s.s[0].colors=new pen[] {red,green,blue,black};
draw(s,nolight);
diff --git a/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy b/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy
index 16bef25b545..805b0819931 100644
--- a/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy
@@ -16,7 +16,7 @@ int[] edges={0,0,0,2};
gouraudshade(faces.push(y),project(y),p,edges);
gouraudshade(faces.push(l),project(l),p,edges);
gouraudshade(faces.push(g),project(g),new pen[]{cyan,magenta,yellow,black},
- edges);
+ edges);
add(faces);
diff --git a/Master/texmf-dist/doc/asymptote/examples/conicurv.asy b/Master/texmf-dist/doc/asymptote/examples/conicurv.asy
index cb678710c11..8170bb1b7cb 100644
--- a/Master/texmf-dist/doc/asymptote/examples/conicurv.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/conicurv.asy
@@ -1,4 +1,4 @@
-// Original name : conicurv.mp
+// Original name : conicurv.mp
// Author : L. Nobre G.
// Translators : J. Pienaar (2004) and John Bowman (2005)
@@ -7,7 +7,7 @@ texpreamble("\usepackage{bm}");
size(300,0);
-currentprojection=perspective(10,-5,5.44);
+currentprojection=perspective(10,-5,5.44);
real theta=30, width=3, shortradius=2, bord=2, refsize=1, vecsize=2;
real height=0.3, anglar=1.75, totup=3;
diff --git a/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy b/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy
index 39177abdba3..9e7811d9601 100644
--- a/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy
@@ -1,6 +1,6 @@
settings.tex="context";
// Work around ConTeXT bug for font sizes less than 12pt:
-texpreamble("\setupbodyfont[8pt]");
+texpreamble("\setupbodyfont[8pt]");
usetypescript("iwona");
usetypescript("antykwa-torunska");
diff --git a/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy b/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy
index bfd8336f1f6..af7906ecad3 100644
--- a/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy
@@ -4,7 +4,7 @@ import flowchart;
block delay=roundrectangle("$e^{-sT_t}$",(0.33,0));
block system=roundrectangle("$\frac{s+3}{s^2+0.3s+1}$",(0.6,0));
block controller=roundrectangle("$0.06\left( 1 + \frac{1}{s}\right)$",
- (0.45,-0.25));
+ (0.45,-0.25));
block sum1=circle("",(0.15,0),mindiameter=0.3cm);
block junction1=circle("",(0.75,0),fillpen=currentpen);
@@ -16,7 +16,7 @@ draw(junction1);
add(new void(picture pic, transform t) {
blockconnector operator --=blockconnector(pic,t);
-
+
block(0,0)--Label("$u$",align=N)--Arrow--sum1--Arrow--delay--Arrow--
system--junction1--Label("$y$",align=N)--Arrow--block(1,0);
diff --git a/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy b/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy
index f6ce8de62a4..c996367d1c2 100644
--- a/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy
@@ -4,7 +4,7 @@ import geometry;
real A=130;
real B=40;
-pair O=(0,0);
+pair O=(0,0);
pair R=(1,0);
pair P=dir(A);
pair Q=dir(B);
diff --git a/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy b/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy
index ddc7e286d58..8487449c992 100644
--- a/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy
@@ -17,243 +17,245 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-string[] Element={
- "Xx", // 0
- "H", // 1
- "He", // 2
- "Li", // 3
- "Be", // 4
- "B", // 5
- "C", // 6
- "N", // 7
- "O", // 8
- "F", // 9
- "Ne", // 10
- "Na", // 11
- "Mg", // 12
- "Al", // 13
- "Si", // 14
- "P", // 15
- "S", // 16
- "Cl", // 17
- "Ar", // 18
- "K", // 19
- "Ca", // 20
- "Sc", // 21
- "Ti", // 22
- "V", // 23
- "Cr", // 24
- "Mn", // 25
- "Fe", // 26
- "Co", // 27
- "Ni", // 28
- "Cu", // 29
- "Zn", // 30
- "Ga", // 31
- "Ge", // 32
- "As", // 33
- "Se", // 34
- "Br", // 35
- "Kr", // 36
- "Rb", // 37
- "Sr", // 38
- "Y", // 39
- "Zr", // 40
- "Nb", // 41
- "Mo", // 42
- "Tc", // 43
- "Ru", // 44
- "Rh", // 45
- "Pd", // 46
- "Ag", // 47
- "Cd", // 48
- "In", // 49
- "Sn", // 50
- "Sb", // 51
- "Te", // 52
- "I", // 53
- "Xe", // 54
- "Cs", // 55
- "Ba", // 56
- "La", // 57
- "Ce", // 58
- "Pr", // 59
- "Nd", // 60
- "Pm", // 61
- "Sm", // 62
- "Eu", // 63
- "Gd", // 64
- "Tb", // 65
- "Dy", // 66
- "Ho", // 67
- "Er", // 68
- "Tm", // 69
- "Yb", // 70
- "Lu", // 71
- "Hf", // 72
- "Ta", // 73
- "W", // 74
- "Re", // 75
- "Os", // 76
- "Ir", // 77
- "Pt", // 78
- "Au", // 79
- "Hg", // 80
- "Tl", // 81
- "Pb", // 82
- "Bi", // 83
- "Po", // 84
- "At", // 85
- "Rn", // 86
- "Fr", // 87
- "Ra", // 88
- "Ac", // 89
- "Th", // 90
- "Pa", // 91
- "U", // 92
- "Np", // 93
- "Pu", // 94
- "Am", // 95
- "Cm", // 96
- "Bk", // 97
- "Cf", // 98
- "Es", // 99
- "Fm", // 100
- "Md", // 101
- "No", // 102
- "Lr", // 103
- "Rf", // 104
- "Db", // 105
- "Sg", // 106
- "Bh", // 107
- "Hs", // 108
- "Mt", // 109
- /*
- "Ds", // 110
- "Uuu",// 111
- "Uub",// 112
- "Uut",// 113
- "Uuq",// 114
- "Uup",// 115
- "Uuh",// 116
- "Uus",// 117
- "Uuo",// 118
- */
-};
+string[] Element=
+ {
+ "Xx", // 0
+ "H", // 1
+ "He", // 2
+ "Li", // 3
+ "Be", // 4
+ "B", // 5
+ "C", // 6
+ "N", // 7
+ "O", // 8
+ "F", // 9
+ "Ne", // 10
+ "Na", // 11
+ "Mg", // 12
+ "Al", // 13
+ "Si", // 14
+ "P", // 15
+ "S", // 16
+ "Cl", // 17
+ "Ar", // 18
+ "K", // 19
+ "Ca", // 20
+ "Sc", // 21
+ "Ti", // 22
+ "V", // 23
+ "Cr", // 24
+ "Mn", // 25
+ "Fe", // 26
+ "Co", // 27
+ "Ni", // 28
+ "Cu", // 29
+ "Zn", // 30
+ "Ga", // 31
+ "Ge", // 32
+ "As", // 33
+ "Se", // 34
+ "Br", // 35
+ "Kr", // 36
+ "Rb", // 37
+ "Sr", // 38
+ "Y", // 39
+ "Zr", // 40
+ "Nb", // 41
+ "Mo", // 42
+ "Tc", // 43
+ "Ru", // 44
+ "Rh", // 45
+ "Pd", // 46
+ "Ag", // 47
+ "Cd", // 48
+ "In", // 49
+ "Sn", // 50
+ "Sb", // 51
+ "Te", // 52
+ "I", // 53
+ "Xe", // 54
+ "Cs", // 55
+ "Ba", // 56
+ "La", // 57
+ "Ce", // 58
+ "Pr", // 59
+ "Nd", // 60
+ "Pm", // 61
+ "Sm", // 62
+ "Eu", // 63
+ "Gd", // 64
+ "Tb", // 65
+ "Dy", // 66
+ "Ho", // 67
+ "Er", // 68
+ "Tm", // 69
+ "Yb", // 70
+ "Lu", // 71
+ "Hf", // 72
+ "Ta", // 73
+ "W", // 74
+ "Re", // 75
+ "Os", // 76
+ "Ir", // 77
+ "Pt", // 78
+ "Au", // 79
+ "Hg", // 80
+ "Tl", // 81
+ "Pb", // 82
+ "Bi", // 83
+ "Po", // 84
+ "At", // 85
+ "Rn", // 86
+ "Fr", // 87
+ "Ra", // 88
+ "Ac", // 89
+ "Th", // 90
+ "Pa", // 91
+ "U", // 92
+ "Np", // 93
+ "Pu", // 94
+ "Am", // 95
+ "Cm", // 96
+ "Bk", // 97
+ "Cf", // 98
+ "Es", // 99
+ "Fm", // 100
+ "Md", // 101
+ "No", // 102
+ "Lr", // 103
+ "Rf", // 104
+ "Db", // 105
+ "Sg", // 106
+ "Bh", // 107
+ "Hs", // 108
+ "Mt", // 109
+ /*
+ "Ds", // 110
+ "Uuu",// 111
+ "Uub",// 112
+ "Uut",// 113
+ "Uuq",// 114
+ "Uup",// 115
+ "Uuh",// 116
+ "Uus",// 117
+ "Uuo",// 118
+ */
+ };
// Default table of CPK atom colors
// (ghemical colors with a few proposed modifications).
-string[] Hexcolor={
- "FF1493", // Xx 0
- "FFFFFF", // H 1
- "D9FFFF", // He 2
- "CC80FF", // Li 3
- "C2FF00", // Be 4
- "FFB5B5", // B 5
- "909090", // C 6 - changed from ghemical
- "3050F8", // N 7 - changed from ghemical
- "FF0D0D", // O 8
- "90E050", // F 9 - changed from ghemical
- "B3E3F5", // Ne 10
- "AB5CF2", // Na 11
- "8AFF00", // Mg 12
- "BFA6A6", // Al 13
- "F0C8A0", // Si 14 - changed from ghemical
- "FF8000", // P 15
- "FFFF30", // S 16
- "1FF01F", // Cl 17
- "80D1E3", // Ar 18
- "8F40D4", // K 19
- "3DFF00", // Ca 20
- "E6E6E6", // Sc 21
- "BFC2C7", // Ti 22
- "A6A6AB", // V 23
- "8A99C7", // Cr 24
- "9C7AC7", // Mn 25
- "E06633", // Fe 26 - changed from ghemical
- "F090A0", // Co 27 - changed from ghemical
- "50D050", // Ni 28 - changed from ghemical
- "C88033", // Cu 29 - changed from ghemical
- "7D80B0", // Zn 30
- "C28F8F", // Ga 31
- "668F8F", // Ge 32
- "BD80E3", // As 33
- "FFA100", // Se 34
- "A62929", // Br 35
- "5CB8D1", // Kr 36
- "702EB0", // Rb 37
- "00FF00", // Sr 38
- "94FFFF", // Y 39
- "94E0E0", // Zr 40
- "73C2C9", // Nb 41
- "54B5B5", // Mo 42
- "3B9E9E", // Tc 43
- "248F8F", // Ru 44
- "0A7D8C", // Rh 45
- "006985", // Pd 46
- "C0C0C0", // Ag 47 - changed from ghemical
- "FFD98F", // Cd 48
- "A67573", // In 49
- "668080", // Sn 50
- "9E63B5", // Sb 51
- "D47A00", // Te 52
- "940094", // I 53
- "429EB0", // Xe 54
- "57178F", // Cs 55
- "00C900", // Ba 56
- "70D4FF", // La 57
- "FFFFC7", // Ce 58
- "D9FFC7", // Pr 59
- "C7FFC7", // Nd 60
- "A3FFC7", // Pm 61
- "8FFFC7", // Sm 62
- "61FFC7", // Eu 63
- "45FFC7", // Gd 64
- "30FFC7", // Tb 65
- "1FFFC7", // Dy 66
- "00FF9C", // Ho 67
- "00E675", // Er 68
- "00D452", // Tm 69
- "00BF38", // Yb 70
- "00AB24", // Lu 71
- "4DC2FF", // Hf 72
- "4DA6FF", // Ta 73
- "2194D6", // W 74
- "267DAB", // Re 75
- "266696", // Os 76
- "175487", // Ir 77
- "D0D0E0", // Pt 78 - changed from ghemical
- "FFD123", // Au 79 - changed from ghemical
- "B8B8D0", // Hg 80 - changed from ghemical
- "A6544D", // Tl 81
- "575961", // Pb 82
- "9E4FB5", // Bi 83
- "AB5C00", // Po 84
- "754F45", // At 85
- "428296", // Rn 86
- "420066", // Fr 87
- "007D00", // Ra 88
- "70ABFA", // Ac 89
- "00BAFF", // Th 90
- "00A1FF", // Pa 91
- "008FFF", // U 92
- "0080FF", // Np 93
- "006BFF", // Pu 94
- "545CF2", // Am 95
- "785CE3", // Cm 96
- "8A4FE3", // Bk 97
- "A136D4", // Cf 98
- "B31FD4", // Es 99
- "B31FBA", // Fm 100
- "B30DA6", // Md 101
- "BD0D87", // No 102
- "C70066", // Lr 103
- "CC0059", // Rf 104
- "D1004F", // Db 105
- "D90045", // Sg 106
- "E00038", // Bh 107
- "E6002E", // Hs 108
- "EB0026" // Mt 109
-};
+string[] Hexcolor=
+ {
+ "FF1493", // Xx 0
+ "FFFFFF", // H 1
+ "D9FFFF", // He 2
+ "CC80FF", // Li 3
+ "C2FF00", // Be 4
+ "FFB5B5", // B 5
+ "909090", // C 6 - changed from ghemical
+ "3050F8", // N 7 - changed from ghemical
+ "FF0D0D", // O 8
+ "90E050", // F 9 - changed from ghemical
+ "B3E3F5", // Ne 10
+ "AB5CF2", // Na 11
+ "8AFF00", // Mg 12
+ "BFA6A6", // Al 13
+ "F0C8A0", // Si 14 - changed from ghemical
+ "FF8000", // P 15
+ "FFFF30", // S 16
+ "1FF01F", // Cl 17
+ "80D1E3", // Ar 18
+ "8F40D4", // K 19
+ "3DFF00", // Ca 20
+ "E6E6E6", // Sc 21
+ "BFC2C7", // Ti 22
+ "A6A6AB", // V 23
+ "8A99C7", // Cr 24
+ "9C7AC7", // Mn 25
+ "E06633", // Fe 26 - changed from ghemical
+ "F090A0", // Co 27 - changed from ghemical
+ "50D050", // Ni 28 - changed from ghemical
+ "C88033", // Cu 29 - changed from ghemical
+ "7D80B0", // Zn 30
+ "C28F8F", // Ga 31
+ "668F8F", // Ge 32
+ "BD80E3", // As 33
+ "FFA100", // Se 34
+ "A62929", // Br 35
+ "5CB8D1", // Kr 36
+ "702EB0", // Rb 37
+ "00FF00", // Sr 38
+ "94FFFF", // Y 39
+ "94E0E0", // Zr 40
+ "73C2C9", // Nb 41
+ "54B5B5", // Mo 42
+ "3B9E9E", // Tc 43
+ "248F8F", // Ru 44
+ "0A7D8C", // Rh 45
+ "006985", // Pd 46
+ "C0C0C0", // Ag 47 - changed from ghemical
+ "FFD98F", // Cd 48
+ "A67573", // In 49
+ "668080", // Sn 50
+ "9E63B5", // Sb 51
+ "D47A00", // Te 52
+ "940094", // I 53
+ "429EB0", // Xe 54
+ "57178F", // Cs 55
+ "00C900", // Ba 56
+ "70D4FF", // La 57
+ "FFFFC7", // Ce 58
+ "D9FFC7", // Pr 59
+ "C7FFC7", // Nd 60
+ "A3FFC7", // Pm 61
+ "8FFFC7", // Sm 62
+ "61FFC7", // Eu 63
+ "45FFC7", // Gd 64
+ "30FFC7", // Tb 65
+ "1FFFC7", // Dy 66
+ "00FF9C", // Ho 67
+ "00E675", // Er 68
+ "00D452", // Tm 69
+ "00BF38", // Yb 70
+ "00AB24", // Lu 71
+ "4DC2FF", // Hf 72
+ "4DA6FF", // Ta 73
+ "2194D6", // W 74
+ "267DAB", // Re 75
+ "266696", // Os 76
+ "175487", // Ir 77
+ "D0D0E0", // Pt 78 - changed from ghemical
+ "FFD123", // Au 79 - changed from ghemical
+ "B8B8D0", // Hg 80 - changed from ghemical
+ "A6544D", // Tl 81
+ "575961", // Pb 82
+ "9E4FB5", // Bi 83
+ "AB5C00", // Po 84
+ "754F45", // At 85
+ "428296", // Rn 86
+ "420066", // Fr 87
+ "007D00", // Ra 88
+ "70ABFA", // Ac 89
+ "00BAFF", // Th 90
+ "00A1FF", // Pa 91
+ "008FFF", // U 92
+ "0080FF", // Np 93
+ "006BFF", // Pu 94
+ "545CF2", // Am 95
+ "785CE3", // Cm 96
+ "8A4FE3", // Bk 97
+ "A136D4", // Cf 98
+ "B31FD4", // Es 99
+ "B31FBA", // Fm 100
+ "B30DA6", // Md 101
+ "BD0D87", // No 102
+ "C70066", // Lr 103
+ "CC0059", // Rf 104
+ "D1004F", // Db 105
+ "D90045", // Sg 106
+ "E00038", // Bh 107
+ "E6002E", // Hs 108
+ "EB0026" // Mt 109
+ };
diff --git a/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy b/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy
index 5bee2342d83..bdb0566d568 100644
--- a/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy
@@ -8,7 +8,7 @@ string txt1="\hbox{This is a test of \emph{curved} 3D labels in
\textbf{Asymptote} (implemented with {\tt texpath}).}";
string txt2="This is a test of curved labels in Asymptote\\(implemented
-without the {\tt PSTricks pstextpath} macro).";
+without the {\tt PSTricks pstextpath} macro).";
draw(surface(g),paleblue+opacity(0.5));
draw(labelpath(txt1,subpath(g,0,reltime(g,0.95)),angle=-90),orange);
diff --git a/Master/texmf-dist/doc/asymptote/examples/diatom.asy b/Master/texmf-dist/doc/asymptote/examples/diatom.asy
index 23673dcadf5..0d571e2c9c6 100644
--- a/Master/texmf-dist/doc/asymptote/examples/diatom.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/diatom.asy
@@ -40,7 +40,7 @@ for(int taxon=0; taxon < n; ++taxon) {
real[] P=percentage[taxon];
if(max(P) < ignorebelow) continue;
final=taxon;
-}
+}
real angle=45;
real L=3cm;
@@ -100,10 +100,10 @@ for(int taxon=0; taxon < n; ++taxon) {
pair z1=t*z+v;
pair w1=z1+Ldir;
draw[i]=new void(frame f) {
- path g=z0--(z0.x+(ymax-z0.y)/Tan(angle),ymax)--
- (z1.x+(ymax-z1.y)/Tan(angle),ymax)--z1;
- draw(f,g);
- label(f,group[i],point(g,1.5),align);
+ path g=z0--(z0.x+(ymax-z0.y)/Tan(angle),ymax)--
+ (z1.x+(ymax-z1.y)/Tan(angle),ymax)--z1;
+ draw(f,g);
+ label(f,group[i],point(g,1.5),align);
};
});
}
@@ -113,7 +113,7 @@ for(int taxon=0; taxon < n; ++taxon) {
if(taxon == 0) yaxis(pic,depthlabel,Left,RightTicks(0,10),above=true);
if(taxon == final) yaxis(pic,Right,LeftTicks("%",0,10),above=true);
-
+
add(shift(location,0)*pic);
location += pic.userMax().x;
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/dimension.asy b/Master/texmf-dist/doc/asymptote/examples/dimension.asy
index 1244ba84e68..c22110aa5e9 100644
--- a/Master/texmf-dist/doc/asymptote/examples/dimension.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/dimension.asy
@@ -1,7 +1,7 @@
-size(12cm,0);
-
+size(12cm,0);
+
void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0,
- pen p=currentpen)
+ pen p=currentpen)
{
real d=3mm;
path g=A--B;
@@ -9,15 +9,15 @@ void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0,
pic.add(new void(frame f, transform t) {
picture opic;
path G=T*t*g;
- draw(opic,Label(L,Center,UnFill(1)),G,p,Arrows(NoFill),Bars,PenMargins);
+ draw(opic,Label(L,Center,UnFill(1)),G,p,Arrows(NoFill),Bars,PenMargins);
add(f,opic.fit());
});
pic.addBox(min(g),max(g),T*min(p),T*max(p));
-}
-
-pair A=(0,0), B=(3,3);
-
-dot(A);
-dot(B);
-
-distance(A,B,"$\ell$",1);
+}
+
+pair A=(0,0), B=(3,3);
+
+dot(A);
+dot(B);
+
+distance(A,B,"$\ell$",1);
diff --git a/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy b/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy
index d229f76b748..d6484ada99a 100644
--- a/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy
@@ -1,47 +1,47 @@
-import graph;
+import graph;
import palette;
-texpreamble("\usepackage[amssymb,thinqspace,thinspace]{SIunits}");
-
-size(800,200);
-
+texpreamble("\usepackage[amssymb,thinqspace,thinspace]{SIunits}");
+
+size(800,200);
+
real c=3e8;
real nm=1e-9;
-real freq(real lambda) {return c/(lambda*nm);}
-real lambda(real f) {return c/(f*nm);}
-
-real fmin=10;
-real fmax=1e23;
-
-scale(Log(true),Linear(true));
-xlimits(fmin,fmax);
-ylimits(0,1);
-
+real freq(real lambda) {return c/(lambda*nm);}
+real lambda(real f) {return c/(f*nm);}
+
+real fmin=10;
+real fmax=1e23;
+
+scale(Log(true),Linear(true));
+xlimits(fmin,fmax);
+ylimits(0,1);
+
real uv=freq(400);
real ir=freq(700);
-
+
bounds visible=bounds(Scale(uv).x,Scale(ir).x);
palette(visible,uv,ir+(0,2),Bottom,Rainbow(),invisible);
-xaxis(Label("\hertz",1),Bottom,RightTicks,above=true);
-
+xaxis(Label("\hertz",1),Bottom,RightTicks,above=true);
+
real log10Left(real x) {return -log10(x);}
real pow10Left(real x) {return pow10(-x);}
scaleT LogLeft=scaleT(log10Left,pow10Left,logarithmic=true);
-picture q=secondaryX(new void(picture p) {
- scale(p,LogLeft,Linear);
+picture q=secondaryX(new void(picture p) {
+ scale(p,LogLeft,Linear);
xlimits(p,lambda(fmax),lambda(fmin));
- ylimits(p,0,1);
- xaxis(p,Label("\nano\metre",1,0.01N),Top,LeftTicks(DefaultLogFormat,n=10));
- });
-
-add(q,above=true);
+ ylimits(p,0,1);
+ xaxis(p,Label("\nano\metre",1,0.01N),Top,LeftTicks(DefaultLogFormat,n=10));
+ });
+
+add(q,above=true);
margin margin=PenMargin(0,0);
-draw("radio",Scale((10,1))--Scale((5e12,1)),S,Arrow);
+draw("radio",Scale((10,1))--Scale((5e12,1)),S,Arrow);
draw("infrared",Scale((1e12,1.75))--Scale(shift(0,1.75)*ir),LeftSide,Arrows,margin);
draw("UV",Scale(shift(0,1.75)*uv)--Scale((1e17,1.76)),LeftSide,Arrows,margin);
-draw("x-rays",Scale((1e16,1))--Scale((1e21,1)),RightSide,Arrows);
-draw("$\gamma$-rays",Scale((fmax,1.75))--Scale((2e18,1.75)),Arrow);
+draw("x-rays",Scale((1e16,1))--Scale((1e21,1)),RightSide,Arrows);
+draw("$\gamma$-rays",Scale((fmax,1.75))--Scale((2e18,1.75)),Arrow);
diff --git a/Master/texmf-dist/doc/asymptote/examples/elliptic.asy b/Master/texmf-dist/doc/asymptote/examples/elliptic.asy
index 728508f0110..71fb80db6d5 100644
--- a/Master/texmf-dist/doc/asymptote/examples/elliptic.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/elliptic.asy
@@ -74,7 +74,7 @@ size(0,200);
curve c; c.a=-1; c.b=4;
-pair oncurve(real x)
+pair oncurve(real x)
{
return (x,sqrt(c.y2(x)));
}
@@ -111,5 +111,5 @@ dot("$2P$", PP, SW);
add(output,currentpicture.fit(),(0.5cm,0),E);
shipout(output);
-
+
restore();
diff --git a/Master/texmf-dist/doc/asymptote/examples/equilchord.asy b/Master/texmf-dist/doc/asymptote/examples/equilchord.asy
index b93da942d08..b7ed365d3ba 100644
--- a/Master/texmf-dist/doc/asymptote/examples/equilchord.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/equilchord.asy
@@ -6,7 +6,7 @@ currentlight=(-1,-1,2);
real t=0.5;
real F(pair z) {
- return (z.x^2+z.y^2 <= 1) ? sqrt(3)*(sqrt(1-z.x^2)-abs(z.y)) : 0;
+ return (z.x^2+z.y^2 <= 1) ? sqrt(3)*(sqrt(1-z.x^2)-abs(z.y)) : 0;
}
real a=1.5;
diff --git a/Master/texmf-dist/doc/asymptote/examples/exp.asy b/Master/texmf-dist/doc/asymptote/examples/exp.asy
index 2c4eed90d4e..3558a2759bd 100644
--- a/Master/texmf-dist/doc/asymptote/examples/exp.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/exp.asy
@@ -4,11 +4,11 @@ size(150,0);
real f(real x) {return exp(x);}
pair F(real x) {return (x,f(x));}
+draw(graph(f,-4,2,operator ..),red);
+
xaxis("$x$");
yaxis("$y$",0);
-draw(graph(f,-4,2,operator ..),red);
-
labely(1,E);
label("$e^x$",F(1),SE);
diff --git a/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy b/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy
index 0f9fb0212d1..e896911994c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy
@@ -4,7 +4,7 @@ import obj;
size(200,0);
size3(200);
-if(settings.render < 0) settings.render=8;
+if(settings.render < 0) settings.render=8;
texpreamble("\usepackage[T1]{fontenc}");
texpreamble("\usepackage{ccfonts,eulervm}");
@@ -34,4 +34,4 @@ add(new void(frame f, transform3 t, picture pic, projection P) {
draw(f,surface(invert(box(min(f,P),max(f,P)),min3(f),P),
new pen[] {orange,red,yellow,brown}+opacity(0.9)));
}
-);
+ );
diff --git a/Master/texmf-dist/doc/asymptote/examples/filesurface.asy b/Master/texmf-dist/doc/asymptote/examples/filesurface.asy
index b4817a05863..2202554876f 100644
--- a/Master/texmf-dist/doc/asymptote/examples/filesurface.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/filesurface.asy
@@ -19,7 +19,7 @@ surface s=surface(f,(0,0),(x.length-1,y.length-1),x.length-1,y.length-1);
real[] level=uniform(min(f)*(1-sqrtEpsilon),max(f)*(1+sqrtEpsilon),4);
s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}),
- Rainbow()));
+ Rainbow()));
draw(s,meshpen=thick(),render(merge=true));
@@ -32,11 +32,11 @@ yaxis3("$y$",Bounds,InTicks(Step=1,step=0.1));
zaxis3("$z$",Bounds,InTicks);
/*
-picture palette;
-size3(palette,1cm);
-draw(palette,unitcube,red);
-frame F=palette.fit3();
-add(F,(M.x,m.y,m.z));
+ picture palette;
+ size3(palette,1cm);
+ draw(palette,unitcube,red);
+ frame F=palette.fit3();
+ add(F,(M.x,m.y,m.z));
*/
currentprojection=perspective(camera=target+realmult(dir(68,225),M-m),
diff --git a/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy
index 311192fb7f8..0197386670f 100644
--- a/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy
@@ -15,7 +15,7 @@ int Divs=10;
defaultpen(1bp);
bounds range=bounds(-1,1);
-
+
real[] Cvals=uniform(range.min,range.max,Divs);
guide[][] g=contour(f,a,b,Cvals,N,operator --);
diff --git a/Master/texmf-dist/doc/asymptote/examples/fin.asy b/Master/texmf-dist/doc/asymptote/examples/fin.asy
index 8fe88f3dc0e..f1b7e20182a 100644
--- a/Master/texmf-dist/doc/asymptote/examples/fin.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/fin.asy
@@ -2,7 +2,7 @@ import three;
import palette;
int N = 26;
-real[] C = array(N,0);
+real[] C = array(N,0);
real[][] A = new real[N][N];
for(int i = 0; i < N; ++i)
for(int j = 0; j < N; ++j)
@@ -46,23 +46,23 @@ A[i][indexof(1,2)] = 1; C[i] = Tb;
// interior nodes
for(int m = 2; m<13; ++m)
-{
- A[i][indexof(m,2)] = -4;
- A[i][indexof(m-1,2)] = A[i][indexof(m+1,2)] = 1;
- A[i][indexof(m,1)] = 2;
- C[i] = 0;
- ++i;
-}
+ {
+ A[i][indexof(m,2)] = -4;
+ A[i][indexof(m-1,2)] = A[i][indexof(m+1,2)] = 1;
+ A[i][indexof(m,1)] = 2;
+ C[i] = 0;
+ ++i;
+ }
// convective bottom side nodes
for(int m = 2; m<13; ++m)
-{
- A[i][indexof(m,1)] = -(2+h*delta/k);
- A[i][indexof(m-1,1)] = A[i][indexof(m+1,1)] = 0.5;
- A[i][indexof(m,2)] = 1;
- C[i] = -h*delta*Tinf/k;
- ++i;
-}
+ {
+ A[i][indexof(m,1)] = -(2+h*delta/k);
+ A[i][indexof(m-1,1)] = A[i][indexof(m+1,1)] = 0.5;
+ A[i][indexof(m,2)] = 1;
+ C[i] = -h*delta*Tinf/k;
+ ++i;
+ }
// convective bottom right corner node
A[i][indexof(13,2)] = A[i][indexof(12,1)] = 0.5;
@@ -115,18 +115,18 @@ material lookupColour(int m,int n)
draw(shift(0,1,0)*rightsquare,lookupColour(1,2));
for(int i = 2; i < 13; ++i)
-{
- draw(shift(i-1,1,0)*square,lookupColour(i,2));
-}
+ {
+ draw(shift(i-1,1,0)*square,lookupColour(i,2));
+ }
draw(shift(12,1,0)*leftsquare,lookupColour(13,2));
draw(shift(0,2,0)*SEcorner,lookupColour(1,3));
draw(shift(0,0,0)*NEcorner,lookupColour(1,1));
for(int i = 2; i < 13; ++i)
-{
- draw(shift(i-1,0,0)*topsquare,lookupColour(i,1));
- draw(shift(i-1,2,0)*bottomsquare,lookupColour(i,3));
-}
+ {
+ draw(shift(i-1,0,0)*topsquare,lookupColour(i,1));
+ draw(shift(i-1,2,0)*bottomsquare,lookupColour(i,3));
+ }
draw(shift(12,2,0)*SWcorner,lookupColour(13,3));
draw(shift(12,0,0)*NWcorner,lookupColour(13,1));
diff --git a/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy b/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy
index 88eae565a34..68c49440428 100644
--- a/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy
@@ -1,28 +1,28 @@
-import trembling;
-if(settings.outformat == "")
- settings.outformat="pdf";
-
-size(6cm,0);
-
-real R=1/5;
-real h=0.5;
-real d=1/12;
-real l=.7;
-
-pair pA=(-l,0);
-pair pB=(l,0);
+import trembling;
+if(settings.outformat == "")
+ settings.outformat="pdf";
+
+size(6cm,0);
+
+real R=1/5;
+real h=0.5;
+real d=1/12;
+real l=.7;
+
+pair pA=(-l,0);
+pair pB=(l,0);
tremble tr=tremble(angle=10,frequency=0.1,random=50,fuzz=1);
-path waterline=tr.deform(pA..pB);
-
-path disk=shift(0,-d)*scale(R)*unitcircle;
-path water=waterline--(l,-h)--(-l,-h)--(-l,0)--cycle;
-path container=(l,1/7)--(l,-h)--(-l,-h)--(-l,1/7);
-
-filldraw(disk,red,linewidth(.3));
-fill(water,mediumgrey+opacity(0.5));
-draw(waterline);
-
-draw(container,linewidth(1.5));
-
+path waterline=tr.deform(pA..pB);
+
+path disk=shift(0,-d)*scale(R)*unitcircle;
+path water=waterline--(l,-h)--(-l,-h)--(-l,0)--cycle;
+path container=(l,1/7)--(l,-h)--(-l,-h)--(-l,1/7);
+
+filldraw(disk,red,linewidth(.3));
+fill(water,mediumgrey+opacity(0.5));
+draw(waterline);
+
+draw(container,linewidth(1.5));
+
shipout(bbox(2mm));
diff --git a/Master/texmf-dist/doc/asymptote/examples/floor.asy b/Master/texmf-dist/doc/asymptote/examples/floor.asy
index 02c2446abe8..ed61c0e8730 100644
--- a/Master/texmf-dist/doc/asymptote/examples/floor.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/floor.asy
@@ -10,7 +10,7 @@ bool3 branch(real x) {
static real lasty;
static bool first=true;
real y=floor(x);
- bool samebranch=first || lasty == y;
+ bool samebranch=first || lasty == y;
first=false;
if(samebranch) lasty=x;
else {
@@ -21,7 +21,7 @@ bool3 branch(real x) {
return samebranch ? true : default;
};
-draw(graph(Floor,-5.5,5.5,500,branch));
+draw(graph(Floor,-5.5,5.5,500,branch));
axes("$x$",rotate(0)*"$\lfloor x\rfloor$",red);
dot(Close);
diff --git a/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy b/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy
index 796e357a5ff..77c78c0e2ce 100644
--- a/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy
@@ -3,8 +3,8 @@ size(0,300);
import flowchart;
block block1=rectangle(Label("Example",magenta),
- pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
- "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
+ pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
+ "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red);
block block3=roundrectangle("Do something",(-1,1));
block block4=bevel("Don't do something",(1,1));
diff --git a/Master/texmf-dist/doc/asymptote/examples/gamma.asy b/Master/texmf-dist/doc/asymptote/examples/gamma.asy
index f92dd775abb..136ec01401f 100644
--- a/Master/texmf-dist/doc/asymptote/examples/gamma.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/gamma.asy
@@ -12,7 +12,7 @@ bool3 branch(real x)
}
draw(graph(gamma,-4,4,n=2000,branch),red);
-
+
scale(false);
xlimits(-4,4);
ylimits(-6,6);
diff --git a/Master/texmf-dist/doc/asymptote/examples/gamma3.asy b/Master/texmf-dist/doc/asymptote/examples/gamma3.asy
index e522dad4e70..6fc56065cb2 100644
--- a/Master/texmf-dist/doc/asymptote/examples/gamma3.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/gamma3.asy
@@ -7,7 +7,7 @@ currentprojection=orthographic(1,-2,1);
real X=4.5;
real M=abs(gamma((X,0)));
-pair Gamma(pair z)
+pair Gamma(pair z)
{
return (z.x > 0 || z != floor(z.x)) ? gamma(z) : M;
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/genustwo.asy b/Master/texmf-dist/doc/asymptote/examples/genustwo.asy
index 0d346481d04..79e07e22684 100644
--- a/Master/texmf-dist/doc/asymptote/examples/genustwo.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/genustwo.asy
@@ -12,9 +12,9 @@ real toruscontour(real x, real y, real z) {
return (r-2)^2 + z^2 - tuberadius^2;
}
-// Take the union of the two tangent tori (by taking
+// Take the union of the two tangent tori (by taking
// the product of the functions defining them). Then
-// add (or subtract) a bit of noise to smooth things
+// add (or subtract) a bit of noise to smooth things
// out.
real f(real x, real y, real z) {
real f1 = toruscontour(x - 2 - tuberadius, y, z);
@@ -22,15 +22,15 @@ real f(real x, real y, real z) {
return f1 * f2 - 0.1;
}
-// The noisy function extends a bit farther than the union of
+// The noisy function extends a bit farther than the union of
// the two tori, so include a bit of extra space in the box.
triple max = (2*(2+tuberadius), 2+tuberadius, tuberadius)
- + (0.1, 0.1, 0.1);
+ + (0.1, 0.1, 0.1);
triple min = -max;
// Draw the implicit surface.
-draw(implicitsurface(f, min, max, overlapedges=true,
+draw(implicitsurface(f, min, max, overlapedges=true,
nx=20, nz=5),
surfacepen=material(diffusepen=gray(0.6),
- emissivepen=gray(0.3),
- specularpen=gray(0.1)));
+ emissivepen=gray(0.3),
+ specularpen=gray(0.1)));
diff --git a/Master/texmf-dist/doc/asymptote/examples/icon.asy b/Master/texmf-dist/doc/asymptote/examples/icon.asy
index 1701fe0f32e..0170f2605ce 100644
--- a/Master/texmf-dist/doc/asymptote/examples/icon.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/icon.asy
@@ -4,7 +4,7 @@ size(30,30,IgnoreAspect);
real f(real t) {return t < 0 ? -1/t : -0.5/t;}
-picture logo(pair s=0, pen q)
+picture logo(pair s=0, pen q)
{
picture pic;
pen p=linewidth(3)+q;
@@ -17,6 +17,6 @@ picture logo(pair s=0, pen q)
draw(pic,z+c+eps--z,p);
yaxis(pic,p);
return shift(s)*pic;
-}
+}
add(logo(red));
diff --git a/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy b/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy
index 6b5eb455cad..d61b6148c53 100644
--- a/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy
@@ -19,7 +19,7 @@ pen tickpen=gray+0.5*linewidth(currentpen);
pen[] Palette=BWRainbow();
bounds range=image(f,Automatic,a,b,N,Palette);
-
+
// Major contours
real[] Cvals=uniform(range.min,range.max,Divs);
diff --git a/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy b/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy
index d3bdc783757..302d69194d9 100644
--- a/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy
@@ -1,47 +1,47 @@
import stats;
-import graph;
-import palette;
-import contour;
-
+import graph;
+import palette;
+import contour;
+
size(20cm);
scale(false);
pair[] data=new pair[50000];
for(int i=0; i < data.length; ++i)
- data[i]=Gaussrandpair();
-
-// Histogram limits and number of bins
-pair datamin=(-0.15,-0.15);
-pair datamax=(0.15,0.15);
-int Nx=30;
-int Ny=30;
+ data[i]=Gaussrandpair();
+
+// Histogram limits and number of bins
+pair datamin=(-0.15,-0.15);
+pair datamax=(0.15,0.15);
+int Nx=30;
+int Ny=30;
int[][] bins=frequency(data,datamin,datamax,Nx,Ny);
-
-real[] values=new real[Nx*Ny];
+
+real[] values=new real[Nx*Ny];
pair[] points=new pair[Nx*Ny];
-int k=0;
+int k=0;
real dx=(datamax.x-datamin.x)/Nx;
real dy=(datamax.y-datamin.y)/Ny;
for(int i=0; i < Nx; ++i) {
for(int j=0; j < Ny; ++j) {
- values[k]=bins[i][j];
- points[k]=(datamin.x+(i+0.5)*dx,datamin.y+(j+0.5)*dy);
- ++k;
+ values[k]=bins[i][j];
+ points[k]=(datamin.x+(i+0.5)*dx,datamin.y+(j+0.5)*dy);
+ ++k;
}
-}
-
-// Create a color palette
+}
+
+// Create a color palette
pen[] InvGrayscale(int NColors=256) {
- real ninv=1.0/(NColors-1.0);
- return sequence(new pen(int i) {return gray(1-17*i*ninv);},NColors);
-}
-
-// Draw the histogram, with axes
-bounds range=image(points,values,Range(0,40),InvGrayscale());
+ real ninv=1.0/(NColors-1.0);
+ return sequence(new pen(int i) {return gray(1-17*i*ninv);},NColors);
+}
+
+// Draw the histogram, with axes
+bounds range=image(points,values,Range(0,40),InvGrayscale());
draw(contour(points,values,new real[] {1,2,3,4,8,12,16,20,24,28,32,36,40},
- operator--),blue);
-xaxis("$x$",BottomTop,LeftTicks,above=true);
-yaxis("$y$",LeftRight,RightTicks,above=true);
+ operator--),blue);
+xaxis("$x$",BottomTop,LeftTicks,above=true);
+yaxis("$y$",LeftRight,RightTicks,above=true);
diff --git a/Master/texmf-dist/doc/asymptote/examples/integraltest.asy b/Master/texmf-dist/doc/asymptote/examples/integraltest.asy
index c45b1eb8f17..4bcd3737d0d 100644
--- a/Master/texmf-dist/doc/asymptote/examples/integraltest.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/integraltest.asy
@@ -9,17 +9,17 @@ dotfactor=7;
void subinterval(real a, real b)
{
path g=box((a,0),(b,f(b)));
- filldraw(g,lightgray);
+ filldraw(g,lightgray);
draw(box((a,f(a)),(b,0)));
}
int a=1, b=9;
-
-xaxis("$x$",0,b);
-yaxis("$y$",0);
-
+
+xaxis("$x$",0,b);
+yaxis("$y$",0);
+
draw(graph(f,a,b,operator ..),red);
-
+
int n=2;
for(int i=a; i <= b; ++i) {
diff --git a/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy b/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy
index 8845c8dd2f8..19d77449abd 100644
--- a/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy
@@ -127,9 +127,9 @@ attach(legend(),point(10S),30S);
shipout("runge4");
-erase();
+erase();
-// Test 5: The situation is much better using Tchebychev points.
+// Test 5: The situation is much better using Tchebychev points.
unitsize(2cm);
@@ -194,7 +194,7 @@ attach(legend(),point(10S),30S);
shipout("runge6");
-erase();
+erase();
// Test 7: Another Tchebychev example.
diff --git a/Master/texmf-dist/doc/asymptote/examples/intro.asy b/Master/texmf-dist/doc/asymptote/examples/intro.asy
index 68aa7e0347f..8fe021e0ec0 100644
--- a/Master/texmf-dist/doc/asymptote/examples/intro.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/intro.asy
@@ -32,7 +32,7 @@ titlepage(long ? "Asymptote: The Vector Graphics Language" :
%and Instituto Nacional de Matem\'atica Pura e Aplicada (IMPA)
\medskip\Green{Collaborators: Orest Shardt, Michail Vidiassov}",
"June 30, 2010",
-"http://asymptote.sf.net/intro.pdf");
+"https://asymptote.sourceforge.io/intro.pdf");
title("History");
item("1979: \TeX\ and \MF\ (Knuth)");
@@ -48,7 +48,7 @@ subitem("2010: 3D PDF enhancements (Vidiassov \& Bowman)");
title("Statistics (as of June, 2010)");
item("Runs under Linux/UNIX, Mac OS X, Microsoft Windows.");
item("4000 downloads/month from primary\hfill\\
- {\tt asymptote.sourceforge.net} site alone.");
+ {\tt asymptote.sourceforge.io} site alone.");
item("80\ 000 lines of low-level C++ code.");
item("36\ 000 lines of high-level Asymptote code.");
@@ -941,7 +941,7 @@ defaultpen(0.5);
title("\mbox{Asymptote: 2D \& 3D Vector Graphics Language}");
asyinclude("../examples/logo3");
skip();
-center("\tt http://asymptote.sf.net");
+center("\tt https://asymptote.sourceforge.io");
center("(freely available under the LGPL license)");
// LocalWords: pdflatex mflogo viewportsize pagewidth pagemargin goysr bibtex
diff --git a/Master/texmf-dist/doc/asymptote/examples/jump.asy b/Master/texmf-dist/doc/asymptote/examples/jump.asy
index 7ae19be3886..d2fdb41c643 100644
--- a/Master/texmf-dist/doc/asymptote/examples/jump.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/jump.asy
@@ -1,13 +1,13 @@
import graph;
size(4inches,0);
-real f1(real x) {return (1+x^2);}
+real f1(real x) {return (1+x^2);}
real f2(real x) {return (4-x);}
xaxis("$x$",LeftTicks,Arrow);
yaxis("$y$",RightTicks,Arrow);
-draw("$y=1+x^2$",graph(f1,-2,1));
+draw("$y=1+x^2$",graph(f1,-2,1));
dot((1,f1(1)),UnFill);
draw("$y=4-x$",graph(f2,1,5),LeftSide,red,Arrow);
diff --git a/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy b/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy
index cba4f98cb54..022a09a32d9 100644
--- a/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy
@@ -3,14 +3,14 @@ import three;
currentlight=Headlamp;
size(469.75499pt,0);
-currentprojection=perspective(
-camera=(160.119024441391,136.348802919248,253.822628496226),
-up=(-0.188035408976828,0.910392236102215,-0.368549401594584),
-target=(25.5462739598034,1.77605243766079,-9.93996244768584),
-zoom=5.59734733413271,
-angle=5.14449021168139,
-viewportshift=(0.813449720559684,-0.604674743165144),
-autoadjust=false);
+currentprojection=
+ perspective(camera=(160.119024441391,136.348802919248,253.822628496226),
+ up=(-0.188035408976828,0.910392236102215,-0.368549401594584),
+ target=(25.5462739598034,1.77605243766079,-9.93996244768584),
+ zoom=5.59734733413271,
+ angle=5.14449021168139,
+ viewportshift=(0.813449720559684,-0.604674743165144),
+ autoadjust=false);
draw(scale3(4)*extrude("$\displaystyle\int\limits_{-\infty}^{+\infty}\!\! e^{-\alpha x^2}\!\!=\sqrt{\frac{\pi}{\alpha}}$",2Z),
material(blue));
diff --git a/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy b/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy
index 37477d58858..6362e8323ef 100644
--- a/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy
@@ -22,7 +22,7 @@ real last=700;
// Remove negative or zero values of rho:
t=rho > 0 ? t : null;
rho=rho > 0 ? rho : null;
-
+
scale(Log(true),Linear(true));
int n=step > 0 ? ceil((last-first)/step) : 0;
@@ -33,17 +33,17 @@ for(int i=0; i <= n; ++i) {
real first=first+i*step;
real[] logrho=(t >= first & t <= last) ? log(rho) : null;
real[] logt=(t >= first & t <= last) ? -log(t) : null;
-
+
if(logt.length < 2) break;
-
+
// Fit to the line logt=L.m*logrho+L.b:
linefit L=leastsquares(logt,logrho);
-
+
T.push(first);
xi.push(L.m);
dxi.push(L.dm);
-}
-
+}
+
draw(graph(T,xi),blue);
errorbars(T,xi,dxi,red);
diff --git a/Master/texmf-dist/doc/asymptote/examples/legend.asy b/Master/texmf-dist/doc/asymptote/examples/legend.asy
index 09a31868ae4..b00cdd14e6b 100644
--- a/Master/texmf-dist/doc/asymptote/examples/legend.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/legend.asy
@@ -1,15 +1,15 @@
-import graph;
-size(8cm,6cm,IgnoreAspect);
-
-typedef real realfcn(real);
-realfcn F(real p) {
- return new real(real x) {return sin(p*x);};
-};
-
+import graph;
+size(8cm,6cm,IgnoreAspect);
+
+typedef real realfcn(real);
+realfcn F(real p) {
+ return new real(real x) {return sin(p*x);};
+};
+
for(int i=1; i < 5; ++i)
draw(graph(F(i*pi),0,1),Pen(i),
- "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$");
-xaxis("$x$",BottomTop,LeftTicks);
-yaxis("$y$",LeftRight,RightTicks(trailingzero));
-
-attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill);
+ "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$");
+xaxis("$x$",BottomTop,LeftTicks);
+yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill);
diff --git a/Master/texmf-dist/doc/asymptote/examples/linearregression.asy b/Master/texmf-dist/doc/asymptote/examples/linearregression.asy
index a1cc6ff6bcb..7ec50d8fb0c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/linearregression.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/linearregression.asy
@@ -28,13 +28,13 @@ while (!eof(duncan)) {
real[] coeffs = leastsquares(independentvars, dependentvars, warn=false);
if (coeffs.length == 0) {
abort("Unable to find regression: independent variables are "
- + "linearly dependent.");
+ + "linearly dependent.");
}
real f(pair xy) {
return coeffs[0] * xy.x // income
- + coeffs[1] * xy.y // education
- + coeffs[2]; // residue
+ + coeffs[1] * xy.y // education
+ + coeffs[2]; // residue
}
real xmin = infinity, xmax = -infinity, ymin = infinity, ymax = -infinity;
@@ -52,7 +52,7 @@ draw(surface(f, (xmin, ymin), (xmax, ymax)),
for (int ii = 0; ii < independentvars.length; ++ii) {
triple pt = (independentvars[ii][0], independentvars[ii][1],
- dependentvars[ii]);
+ dependentvars[ii]);
draw(shift(pt) * unitsphere, material(yellow, emissivepen=0.2*yellow));
real z = f((pt.x, pt.y));
if (pt.z > z) draw (pt -- (pt.x, pt.y, z), green);
diff --git a/Master/texmf-dist/doc/asymptote/examples/linetype.asy b/Master/texmf-dist/doc/asymptote/examples/linetype.asy
index dc4762c2478..477ada1e14d 100644
--- a/Master/texmf-dist/doc/asymptote/examples/linetype.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/linetype.asy
@@ -6,7 +6,7 @@ void testline(real y) {
draw((0,y-40)--(100,y-40),currentpen+dashdotted);
draw((0,y-50)--(100,y-50),currentpen+longdashdotted);
draw((0,y-60)--(100,y-60),currentpen+Dotted);
-}
+}
currentpen=linewidth(0.5);
testline(100);
diff --git a/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy b/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy
index c25a7c4b4be..36ac3f173f6 100644
--- a/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy
@@ -4,10 +4,10 @@ import graph;
size(10cm, 7cm, IgnoreAspect);
real[] date = { 1790, 1800, 1810, 1820, 1830, 1840, 1850, 1860, 1870, 1880,
-1890, 1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990 };
+ 1890, 1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990 };
real[] population = { 3.929, 5.308, 7.240, 9.638, 12.866, 17.069, 23.192, 31.443,
-38.558, 50.156, 62.948, 75.996, 91.972, 105.711, 122.775, 131.669, 150.697,
-179.323, 203.185, 226.546, 248.710 };
+ 38.558, 50.156, 62.948, 75.996, 91.972, 105.711, 122.775, 131.669, 150.697,
+ 179.323, 203.185, 226.546, 248.710 };
real t0 = 1776;
diff --git a/Master/texmf-dist/doc/asymptote/examples/logo.asy b/Master/texmf-dist/doc/asymptote/examples/logo.asy
index d180558ad34..3cd42079ede 100644
--- a/Master/texmf-dist/doc/asymptote/examples/logo.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/logo.asy
@@ -1,6 +1,6 @@
size(140,80,IgnoreAspect);
-picture logo(pair s=0, pen q)
+picture logo(pair s=0, pen q)
{
picture pic;
pen p=linewidth(2)+fontsize(24pt)+q;
@@ -19,7 +19,7 @@ picture logo(pair s=0, pen q)
draw(pic,(0,y1)--(0,y2),p);
draw(pic,(a,0)--(b,0),p);
return shift(s)*pic;
-}
+}
pair z=(-0.015,0.08);
for(int x=0; x < 10; ++x)
diff --git a/Master/texmf-dist/doc/asymptote/examples/logo3.asy b/Master/texmf-dist/doc/asymptote/examples/logo3.asy
index c7947f1c41c..363305ede5c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/logo3.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/logo3.asy
@@ -1,11 +1,15 @@
import three;
-//size(105,50,IgnoreAspect);
-size(560,320,IgnoreAspect); // Fullsize
+size(560,320,IgnoreAspect);
size3(140,80,15);
-currentprojection=perspective(-2,20,10,up=Y);
-currentlight=White;
-viewportmargin=(0,10);
+
+currentprojection=
+ perspective(camera=(-0.7387428806982,-50.4754947040394,10.1433958227456),
+ up=(0.0023,0.158056646909439,0.000753078712035578),
+ target=(0.275794537878997,1.26294757366264,-0.0498743055531516),
+ zoom=1,
+ angle=3.26228798100531,
+ autoadjust=false);
real a=-0.4;
real b=0.95;
@@ -32,12 +36,11 @@ g.push(point(A,0)--shift(-f*hy,f*h)*A--point(A,1)--shift(f*hy,-f*h)*reverse(A)--
g.push(point(B,0)--shift(f*hy,-f*h)*B--point(B,1)--shift(-f*hy,f*h)*reverse(B)--cycle);
triple H=-0.1Z;
-material m=material(lightgray,shininess=1.0);
+material m=material(0.5*red+0.125*purple,shininess=1.0);
for(path p : g)
- draw(extrude(p,H),m);
+ draw(extrude(p,H),m,nolight);
surface s=surface(g);
draw(s,red,nolight);
-draw(shift(H)*s,m);
-
+draw(shift(H)*s,m,nolight);
diff --git a/Master/texmf-dist/doc/asymptote/examples/lowupint.asy b/Master/texmf-dist/doc/asymptote/examples/lowupint.asy
index 3a14cd91104..1c3a0cd9488 100644
--- a/Master/texmf-dist/doc/asymptote/examples/lowupint.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/lowupint.asy
@@ -8,8 +8,8 @@ void rectangle(real a, real b, real c, real h(real,real))
real height=(a < c && c < b) ? f(c) : h(f(a),f(b));
pair p=(a,0), q=(b,height);
path g=box(p,q);
- fill(g,lightgray);
- draw(g);
+ fill(g,lightgray);
+ draw(g);
}
void partition(real a, real b, real c, real h(real,real))
diff --git a/Master/texmf-dist/doc/asymptote/examples/markers1.asy b/Master/texmf-dist/doc/asymptote/examples/markers1.asy
index a3af424616d..7db56315f91 100644
--- a/Master/texmf-dist/doc/asymptote/examples/markers1.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/markers1.asy
@@ -64,7 +64,7 @@ label("$10$",point(p,0),3W);
p=T*p;
draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm,
FillDraw(.8red),circleabove=true,dotframe,
- above=false));
+ above=false));
label("$11$",point(p,0),3W);
//line 12 **********
diff --git a/Master/texmf-dist/doc/asymptote/examples/markregular.asy b/Master/texmf-dist/doc/asymptote/examples/markregular.asy
index 716599fbcf1..ea08b952238 100644
--- a/Master/texmf-dist/doc/asymptote/examples/markregular.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/markregular.asy
@@ -8,8 +8,8 @@ real ymin=-2,ymax=10;
real f(real x) {return x^2;}
marker cross=marker(scale(4)*rotate(45)*cross(4),
- markuniform(new pair(real t) {return Scale((t,f(t)));},
- xmin,xmax,round(2*(xmax-xmin))),1bp+red);
+ markuniform(new pair(real t) {return Scale((t,f(t)));},
+ xmin,xmax,round(2*(xmax-xmin))),1bp+red);
draw(graph(f,xmin,xmax,n=400),linewidth(1bp),cross);
@@ -17,10 +17,10 @@ ylimits(-2.5,10,Crop);
xaxis(Label("$x$",position=EndPoint, align=NE),xmin=xmin,xmax=xmax,
Ticks(scale(.7)*Label(align=E),NoZero,begin=false,beginlabel=false,
- end=false,endlabel=false,Step=1,step=.25,
- Size=1mm, size=.5mm,pTick=black,ptick=gray),Arrow);
+ end=false,endlabel=false,Step=1,step=.25,
+ Size=1mm, size=.5mm,pTick=black,ptick=gray),Arrow);
yaxis(Label("$y$",position=EndPoint, align=NE),ymin=ymin,ymax=ymax,
Ticks(scale(.7)*Label(),NoZero,begin=false,beginlabel=false,
- end=false,endlabel=false,Step=1,step=.25,Size=1mm,size=.5mm,
+ end=false,endlabel=false,Step=1,step=.25,Size=1mm,size=.5mm,
pTick=black,ptick=gray),Arrow);
diff --git a/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy b/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy
index e0fdcd0f6c7..9f331c7a130 100644
--- a/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy
@@ -20,11 +20,11 @@ draw(p);
path l = point(p[1],2)--point(p[0],4);
draw(l,red);
for(int i = 0; i < p.length; ++i)
-{
- real[][] ts = intersections(l,p[i]);
- for(real[] t:ts)
- dot(point(l,t[0]));
-}
+ {
+ real[][] ts = intersections(l,p[i]);
+ for(real[] t:ts)
+ dot(point(l,t[0]));
+ }
path l2 = point(l,intersections(l,p[0])[0][0])--point(l,intersections(l,p[2])[1][0]);
real to = intersections(l,p[0])[0][1];
real ti = intersections(l,p[2])[1][1];
@@ -71,7 +71,7 @@ filldraw(shift(w)*q,lightgrey);
real x = min(p).x - 4.5w;
string l = "abcdef";
for(int i = 0; i < 6; ++i)
-{
- label("("+substr(l,i,1)+")",(x,min(p).y),3S,fontsize(10pt));
- x += w;
-}
+ {
+ label("("+substr(l,i,1)+")",(x,min(p).y),3S,fontsize(10pt));
+ x += w;
+ }
diff --git a/Master/texmf-dist/doc/asymptote/examples/mosaic.asy b/Master/texmf-dist/doc/asymptote/examples/mosaic.asy
index 0f19117c4b3..0a59ca56918 100644
--- a/Master/texmf-dist/doc/asymptote/examples/mosaic.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/mosaic.asy
@@ -19,7 +19,7 @@ path c_line(path p) {
// returns the path obtained by adding to p a copy rotated
// around the endpoint of p by 180 degrees
// works only if the initial point and the endpoint of p are different
- // a c_line is symetric with respect to the center of
+ // a c_line is symetric with respect to the center of
// the straight line between its endpoints
//
return p..rotate(180,point(p,length(p)))*reverse(p);
@@ -41,7 +41,7 @@ path tounitcircle(path p, int n=300) {
}
void centershade(picture pic=currentpicture, path p, pen in, pen out,
- pen drawpen=currentpen) {
+ pen drawpen=currentpen) {
pair center=0.5(max(p)+min(p));
real radius=0.5abs(max(p)-min(p));
radialshade(pic,p,in,center,0,out,center,radius);
@@ -86,7 +86,7 @@ for(int i=0; i < entry.length; ++i) {
}
for(int j=0; j < 7; ++j) {
- tage[j]=shift((j,yc)+diff)*kasten;
+ tage[j]=shift((j,yc)+diff)*kasten;
filldraw(tage[j],farbe(j),black+2bp);
label(wochentag[j],zentrum(tage[j]),Palatino());
for(int i=0; i < 6; ++i) {bx[i][j]=shift((j,-yc*i)+diff)*kasten;
@@ -94,10 +94,10 @@ for(int j=0; j < 7; ++j) {
if(holiday[i][j]) {filldraw(bx[i][j],farbe(6),black+2bp);};
};
};
-filldraw(Gkasten,0.3white,black+2bp);
+filldraw(Gkasten,0.3white,black+2bp);
for(int j=0; j < 7; ++j)
for(int i=0; i < 6 ; ++i) {label(entry[i][j],zentrum(bx[i][j]),Palatino());}
-label("\Huge Februar 2006",zentrum(Gkasten),Palatino()+white);
+label("\Huge Februar 2006",zentrum(Gkasten),Palatino()+white);
// Zentrum=center; Februar=february
add(kalender,currentpicture);
erase();
@@ -139,9 +139,9 @@ for(int j=-4; j < 4; ++j)
(1-i/10)*chartreuse,black+2bp);
}
}
-
-// Now we produce the bijective images inside
-// a suitably scaled unitcircle
+
+// Now we produce the bijective images inside
+// a suitably scaled unitcircle
for(int k=-1; k < 2; ++k)
for(int l=-1; l < 2; ++l) {
transform tr=shift(k*tri+l*trii);
@@ -149,11 +149,11 @@ for(int k=-1; k < 2; ++k)
centershade(temppic,scale(2.5)*tounitcircle(tr*kontur[i],380),
(1-i/10)*white,(1-i/10)*orange,black+2bp);
}
- }
-
-add(temppic);
+ }
+
+add(temppic);
-// We clip the picture to a suitable box
+// We clip the picture to a suitable box
pair piccenter=0.5*(temppic.min()+temppic.max());
pair picbox=temppic.max()-temppic.min();
real picwidth=picbox.x;
@@ -162,4 +162,4 @@ transform trialtrans=shift(0,-1.5)*shift(piccenter)*yscale(scalefactor)*
clip(trialtrans*unitsquare);
// add the calendar at a suitable position
-add(kalender.fit(0.75*outputwidth),interp(point(S),point(N),1/13));
+add(kalender.fit(0.75*outputwidth),interp(point(S),point(N),1/13));
diff --git a/Master/texmf-dist/doc/asymptote/examples/mosquito.asy b/Master/texmf-dist/doc/asymptote/examples/mosquito.asy
index 7e299d264d3..7b113eabb7c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/mosquito.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/mosquito.asy
@@ -49,7 +49,7 @@ draw(minipage("\flushright{viral incubation rate ($k$)}",40pt),ei,
RightSide,Arrow,PenMargin);
path ise=point(infectious,E)--point(se,0.5);
-
+
draw("$(ac)$",ise,LeftSide,dashed,Arrow,PenMargin);
label(minipage("\flushleft{biting rate $\times$ transmission
probability}",50pt),point(infectious,SE),dir(-60)+S);
@@ -58,7 +58,7 @@ path isi=point(infectiousM,W)--point(si,2.0/3);
draw("$(ab)$",isi,LeftSide,dashed,Arrow,PenMargin);
draw(se,LeftSide,Arrow,PenMargin);
-
+
real t=2.0;
draw("$\beta_M$",
point(susceptibleM,E){right}..tension t..{left}point(larval,E),
diff --git a/Master/texmf-dist/doc/asymptote/examples/near_earth.asy b/Master/texmf-dist/doc/asymptote/examples/near_earth.asy
index afdf64c6b5c..faff0120305 100644
--- a/Master/texmf-dist/doc/asymptote/examples/near_earth.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/near_earth.asy
@@ -7,7 +7,7 @@ size(300,0);
pen thickp=linewidth(0.5mm);
real radius=0.8, lambda=37, aux=60;
-currentprojection=perspective(4,1,2);
+currentprojection=perspective(4,1,2);
// Planes
pen bg=gray(0.9)+opacity(0.5);
@@ -21,7 +21,7 @@ draw(Label("$x$",1),O--r*X,p,Arrow3);
draw(Label("$y$",1),O--r*Y,p,Arrow3);
draw(Label("$z$",1),O--r*Z,p,Arrow3);
label("$\rm O$",(0,0,0),W);
-
+
// Point Q
triple pQ=radius*dir(lambda,aux);
draw(O--radius*dir(90,aux),dashed);
diff --git a/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy b/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy
index 5d9775d44dc..9bbbf282aca 100644
--- a/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy
@@ -8,7 +8,7 @@ bool3 branch(real x)
static int lastsign=0;
if(x == 0) return false;
int sign=sgn(x);
- bool b=lastsign == 0 || sign == lastsign;
+ bool b=lastsign == 0 || sign == lastsign;
lastsign=sign;
return b ? true : default;
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy b/Master/texmf-dist/doc/asymptote/examples/pOrbital.asy
index 4638aa21a22..fc8e96e7fe0 100644
--- a/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/pOrbital.asy
@@ -3,7 +3,7 @@ import palette;
size(200);
currentprojection=orthographic(6,8,2);
viewportmargin=(1cm,0);
-
+
real c0=0.1;
real f(real r) {return r*(1-r/6)*exp(-r/3);}
@@ -27,5 +27,5 @@ s.colors(palette(s.map(abs),Gradient(palegreen,heavyblue)));
render render=render(compression=Low,merge=true);
draw(s,render);
draw(zscale3(-1)*s);
-
+
axes3("$x$","$y$","$z$",Arrow3);
diff --git a/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy b/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy
index 73a78460e04..ef8cf94b893 100644
--- a/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy
@@ -7,11 +7,12 @@ path3 g=randompath3(10);
draw(g,red);
-triple[][] P={
- {(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
- {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)},
- {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)},
- {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)}};
+triple[][] P=
+ {
+ {(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
+ {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)},
+ {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)},
+ {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)}};
surface s=surface(patch(P));
s.append(unitplane);
diff --git a/Master/texmf-dist/doc/asymptote/examples/pdb.asy b/Master/texmf-dist/doc/asymptote/examples/pdb.asy
index 43b771fdd0d..68cec9e3671 100644
--- a/Master/texmf-dist/doc/asymptote/examples/pdb.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/pdb.asy
@@ -24,7 +24,7 @@ string filename="100d.pdb1";
string prefix=stripextension(filename);
file data=input(filename);
-pen color(string e)
+pen color(string e)
{
e=replace(e," ","");
int n=length(e);
@@ -33,7 +33,7 @@ pen color(string e)
int index=find(Element == e);
if(index < 0) return currentpen;
return rgb(Hexcolor[index]);
-}
+}
// ATOM
string[] name,altLoc,resName,chainID,iCode,element,charge;
@@ -42,7 +42,7 @@ real[][] occupancy,tempFactor;
bool newchain=true;
-struct bond
+struct bond
{
int i,j;
void operator init(int i, int j) {
@@ -53,7 +53,7 @@ struct bond
bond[] bonds;
-struct atom
+struct atom
{
string name;
triple v;
@@ -87,8 +87,8 @@ while(true) {
serial=(int) substr(line,6,5);
a.name=substr(line,76,2);
a.v=((real) substr(line,30,8),
- (real) substr(line,38,8),
- (real) substr(line,46,8));
+ (real) substr(line,38,8),
+ (real) substr(line,46,8));
}
if(ATOM) {
if(newchain) {
@@ -109,12 +109,12 @@ while(true) {
int i=(int) substr(line,6,5);
while(true) {
string s=replace(substr(line,11+k,5)," ","");
- if(s == "") break;
+ if(s == "") break;
k += 5;
int j=(int) s;
if(j <= i) continue;
bonds.push(bond(i,j));
- }
+ }
}
}
@@ -158,7 +158,6 @@ string options;
string viewfilename=prefix+".views";
if(!error(input(viewfilename,check=false)))
- options="3Dviews="+viewfilename;
+ options="3Dviews="+locatefile(viewfilename);
-shipout(prefix,options=options);
-currentpicture.erase();
+shipout(options=options);
diff --git a/Master/texmf-dist/doc/asymptote/examples/pipes.asy b/Master/texmf-dist/doc/asymptote/examples/pipes.asy
index 383fda80fd5..83c9ec609d4 100644
--- a/Master/texmf-dist/doc/asymptote/examples/pipes.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/pipes.asy
@@ -4,14 +4,14 @@ import graph3;
import palette;
size(8cm);
-currentprojection=perspective(
-camera=(13.3596389245356,8.01038090435314,14.4864483364785),
-up=(-0.0207054323419367,-0.00472438375047319,0.0236460907598947),
-target=(-1.06042550499095,2.68154529985845,0.795007562120261));
+currentprojection=
+ perspective(camera=(13.3596389245356,8.01038090435314,14.4864483364785),
+ up=(-0.0207054323419367,-0.00472438375047319,0.0236460907598947),
+ target=(-1.06042550499095,2.68154529985845,0.795007562120261));
defaultpen(fontsize(6pt));
-// draw coordinates and frames
+// draw coordinates and frames
// axis1 is defined by z axis of TBase
// axis2 is defined by z axis of TEnd
void DrawFrame(transform3 TBase, transform3 TEnd, string s)
@@ -25,57 +25,57 @@ void DrawFrame(transform3 TBase, transform3 TEnd, string s)
real[][] A=
{
- {v1.x,-v2.x,-n.x},
- {v1.y,-v2.y,-n.y},
- {v1.z,-v2.z,-n.z}
+ {v1.x,-v2.x,-n.x},
+ {v1.y,-v2.y,-n.y},
+ {v1.z,-v2.z,-n.z}
};
triple vb=p2-p1;
real[] b={vb.x,vb.y,vb.z};
-
- // Get the extention along vector v1 and v2,
+
+ // Get the extention along vector v1 and v2,
// so, we can get the common normal between two axis
real[] x=solve(A,b);
real s1=x[0];
real s2=x[1];
-
+
// get foot of a perpendicular on both axies
triple foot1=p1+s1*v1;
triple foot2=p2+s2*v2;
-
+
// draw two axis
triple axis_a,axis_b;
axis_a=p1+s1*v1*1.5;
axis_b=p1-s1*v1*1.5;
draw(axis_a--axis_b);
-
+
axis_a=p2+s2*v2*1.5;
axis_b=p2-s2*v2*1.5;
draw(axis_a--axis_b);
-
- // draw "a"(common normal)
- draw(Label("$a_{"+s+"}$"),foot1--foot2,linewidth(1pt));
+
+ // draw "a"(common normal)
+ draw(Label("$a_{"+s+"}$"),foot1--foot2,linewidth(1pt));
// draw the coordinates frame
triple dx,dy,dz,org;
real length=0.8;
-
+
org=foot1;
dx =length*unit(foot2-foot1); // define the x axis of the frame on "a"
dz =length*unit(v1); // define the z axis which is along axis1
dy =length*unit(cross(dz,dx));
-
+
draw(Label("$X_{"+s+"}$",1,align=-dy-dz),org--(org+dx),red+linewidth(1.5pt),
Arrow3(8));
- draw(Label("$Y_{"+s+"}$",1,align=2dy-dz-dx),org--(org+dy),
- green+linewidth(1.5pt), Arrow3(8));
+ draw(Label("$Y_{"+s+"}$",1,align=2dy-dz-dx),org--(org+dy),
+ green+linewidth(1.5pt), Arrow3(8));
draw(Label("$Z_{"+s+"}$",1,align=-2dx-dy),org--(org+dz),
- blue+linewidth(1.5pt), Arrow3(8));
-
+ blue+linewidth(1.5pt), Arrow3(8));
+
dot(Label("$O_{"+s+"}$",align =-dx-dz,black),org,black); // origin
-
+
}
void DrawLink(transform3 TBase, transform3 TEnd, pen objStyle,string s)
@@ -85,27 +85,27 @@ void DrawLink(transform3 TBase, transform3 TEnd, pen objStyle,string s)
path3 generator=(0.5*r,0,h)--(r,0,h)--(r,0,0)--(0.5*r,0,0);
revolution vase=revolution(O,generator,0,360);
surface objSurface=surface(vase);
-
+
render render=render(merge=true);
// draw two cylinders
draw(TBase*objSurface,objStyle,render);
draw(TEnd*shift((0,0,-h+1e-5))*objSurface,objStyle,render);
-
+
// draw the link between two cylinders
triple pStart=TBase*(0.5*h*Z);
triple pEnd =TEnd*(-0.5*h*Z);
triple pControl1=0.25*(pEnd-pStart)+TBase*(0,0,h);
triple pControl2=-0.25*(pEnd-pStart)+TEnd*(0,0,-h);
path3 p=pStart..controls pControl1 and pControl2..pEnd;
- draw(tube(p,scale(0.2)*unitsquare),objStyle,render);
+ draw(tube(p,scale(0.2)*unitsquare),objStyle,render);
}
// t1 and t2 define the starting frame and ending frame of the first link(i-1)
transform3 t1=shift((0,0,1));
transform3 t2=shift((0,0,-1))*rotate(-20,Y)*shift((0,3,2));
// as, the two links were connected, so t2 is also the starting frame of link(i)
-// t3 defines the ending frame of link(i)
+// t3 defines the ending frame of link(i)
transform3 t3=t2*rotate(40,Z)*shift((0,3,1.5))*rotate(-15,Y)*shift(-1.5*Z);
// draw link(i-1)
@@ -137,4 +137,4 @@ draw("$\theta_{i}$",arc(p0,p1a,p2),ArcArrow3(3));
// draw d_{i-1}
triple org_i =t2*shift((0,0,1.5))*O;
-draw(Label("$d_{i}$",0.13),p0--org_i,linewidth(1pt));
+draw(Label("$d_{i}$",0.13),p0--org_i,linewidth(1pt));
diff --git a/Master/texmf-dist/doc/asymptote/examples/poster.asy b/Master/texmf-dist/doc/asymptote/examples/poster.asy
index cbcefc4bf69..b49d064d84e 100644
--- a/Master/texmf-dist/doc/asymptote/examples/poster.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/poster.asy
@@ -16,7 +16,7 @@ label(background,"$x\sin\frac{1}{x}$",F(0.92/pi),3SE,grey+fontsize(14pt));
frame f=background.fit();
box(f,RadialShade(yellow,0.6*yellow+red),above=false);
background.erase();
-add(background,f);
+add(background,f);
title("Young Researchers' Conference",align=3S,fontsize(48pt));
center("University of Alberta, Edmonton, April 1--2, 2006");
diff --git a/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy b/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy
index 8bbe7f38c3d..a6755af2098 100644
--- a/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy
@@ -1,17 +1,17 @@
-import solids;
-import palette;
-
-currentprojection=orthographic(20,0,3);
-
-size(400,300,IgnoreAspect);
-
+import solids;
+import palette;
+
+currentprojection=orthographic(20,0,3);
+
+size(400,300,IgnoreAspect);
+
revolution r=revolution(graph(new triple(real x) {
- return (x,0,sin(x)*exp(-x/2));},0,2pi,operator ..),axis=Z);
-surface s=surface(r);
-
+ return (x,0,sin(x)*exp(-x/2));},0,2pi,operator ..),axis=Z);
+surface s=surface(r);
+
surface S=planeproject(shift(-Z)*unitsquare3)*s;
S.colors(palette(s.map(zpart),Rainbow()));
render render=render(compression=Low,merge=true);
draw(S,render);
-draw(s,lightgray,render);
+draw(s,lightgray,render);
diff --git a/Master/texmf-dist/doc/asymptote/examples/rainbow.asy b/Master/texmf-dist/doc/asymptote/examples/rainbow.asy
index c85282a87b1..1da0e07ae7c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/rainbow.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/rainbow.asy
@@ -4,7 +4,7 @@ pen indigo=rgb(102/255,0,238/255);
void rainbow(path g) {
draw(new path[] {scale(1.3)*g,scale(1.2)*g,scale(1.1)*g,g,
- scale(0.9)*g,scale(0.8)*g,scale(0.7)*g},
+ scale(0.9)*g,scale(0.8)*g,scale(0.7)*g},
new pen[] {red,orange,yellow,green,blue,indigo,purple});
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/roll.asy b/Master/texmf-dist/doc/asymptote/examples/roll.asy
index 4d15ac0febe..52b34b0ca26 100644
--- a/Master/texmf-dist/doc/asymptote/examples/roll.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/roll.asy
@@ -3,7 +3,7 @@ import graph3;
size(200,0);
triple f(pair t) {
-return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y));
+ return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y));
}
surface s=surface(f,(0,0),(2pi,2pi),7,20,Spline);
diff --git a/Master/texmf-dist/doc/asymptote/examples/roundpath.asy b/Master/texmf-dist/doc/asymptote/examples/roundpath.asy
index e6d31c6bc9c..58fa17e8267 100644
--- a/Master/texmf-dist/doc/asymptote/examples/roundpath.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/roundpath.asy
@@ -22,7 +22,7 @@ draw(shift(-30,-30)*roundedpath(B,1), red);
for (int i = 1; i < 20; ++i) // only round edges
draw(shift(0,-30)*roundedpath(B,i/4), rgb(0.5, i*0.049,0) + linewidth(0.5));
-for (int i = 1; i < 20; ++i) // round edged and scale
+for (int i = 1; i < 20; ++i) // round edged and scale
draw(shift(0,-60)*roundedpath(B,i/4,1-i/50), rgb(1, 1 - i*0.049,i*0.049) + linewidth(0.5));
for (int i = 1; i < 50; ++i) // shift (round edged und scaled shifted version)
diff --git a/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy
index 27b89b9c384..85143f7acec 100644
--- a/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy
@@ -26,7 +26,7 @@ picture secondary=secondaryY(new void(picture pic) {
draw(pic,graph(pic,t,infectious,t >= 10 & t <= 15),red);
yaxis(pic,Right,red,LeftTicks(begin=false,end=false));
});
-
+
add(secondary);
label(shift(5mm*N)*"Proportion of crows",point(NW),E);
diff --git a/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy b/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy
index 44f0b6e8a3f..b4ee872aa15 100644
--- a/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy
@@ -1,5 +1,5 @@
size(100);
radialshade(W..N..E--(0,0),stroke=true,
- red+linewidth(30),(0,0),0.25,yellow,(0,0),1);
+ red+linewidth(30),(0,0),0.25,yellow,(0,0),1);
diff --git a/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy b/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy
index 912fa3c889b..051411699f1 100644
--- a/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy
@@ -3,7 +3,7 @@ import geometry;
size(0,100);
real theta=30;
-pair A=(0,0);
+pair A=(0,0);
pair B=dir(theta);
pair C=(1,0);
pair D=(1,Tan(theta));
@@ -21,4 +21,4 @@ dot("$C$",C);
dot("$D$",D);
dot(("$E$"),E,S);
label("$1$",A--B,LeftSide);
-
+
diff --git a/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy b/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy
index 0cbd15af741..107564601fb 100644
--- a/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy
@@ -31,7 +31,7 @@ titlepage(title="Slides with {\tt Asymptote}: A Demo",
author="John C. Bowman",
institution="University of Alberta",
date="\today",
- url="http://asymptote.sf.net");
+ url="https://asymptote.sourceforge.io");
outline("Basic Commands");
item("item");
@@ -112,7 +112,7 @@ add(pic.fit(0,14cm));
title("\mbox{Asymptote: 2D \& 3D Vector Graphics Language}");
asyinclude("logo3");
-center("\tt http://asymptote.sf.net");
+center("\tt https://asymptote.sourceforge.io");
center("(freely available under the LGPL license)");
bibliography("refs");
diff --git a/Master/texmf-dist/doc/asymptote/examples/slope.asy b/Master/texmf-dist/doc/asymptote/examples/slope.asy
index ae7fb45daf9..832f8c13fc7 100644
--- a/Master/texmf-dist/doc/asymptote/examples/slope.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/slope.asy
@@ -20,8 +20,8 @@ real Y0[]=new real[] {-1,2};
real[] F(real t, real[] y) {
return sequence(new real(int m) {return f(t,y[M-m-1]);},M);
- // return new real[] {exp((L[1]-1)*t)*y[1],
- // -exp(-(L[1]-1)*t)*y[0]};
+ // return new real[] {exp((L[1]-1)*t)*y[1],
+ // -exp(-(L[1]-1)*t)*y[0]};
// return new real[]{-y[0]^2};
}
@@ -46,23 +46,23 @@ for(int i=0; i < n-1; ++i) {
// real[] exact=new real[] {exp(-b)*sin(b),exp(-L[1]*b)*cos(b)};
for(int m=0; m < M; ++m)
maxnorm=max(maxnorm,abs(S.y[S.y.length-1][m]-exact[m]));
- if(maxnorm != 0) {
- tau.push(dt);
- // error.push(dt^-(order+1)*maxnorm);
- error.push(maxnorm);
- }
+ if(maxnorm != 0) {
+ tau.push(dt);
+ // error.push(dt^-(order+1)*maxnorm);
+ error.push(maxnorm);
+ }
}
/*
-for(int i=0; i < n-1; ++i) {
+ for(int i=0; i < n-1; ++i) {
real dt=(b-a)*lambda^(n-i);
real maxnorm=0;
for(int m=0; m < M; ++m) {
- solution S=integrate(Y0[m],L[m],f,a,b,dt,dynamic=false,0.000,1000,RK4_375,verbose=false);
- maxnorm=max(maxnorm,abs(S.y[S.y.length-1]-exact[m]));
+ solution S=integrate(Y0[m],L[m],f,a,b,dt,dynamic=false,0.000,1000,RK4_375,verbose=false);
+ maxnorm=max(maxnorm,abs(S.y[S.y.length-1]-exact[m]));
}
error2.push(dt^-order*maxnorm);
-}
+ }
*/
//scale(Log,Log);
diff --git a/Master/texmf-dist/doc/asymptote/examples/soccerball.asy b/Master/texmf-dist/doc/asymptote/examples/soccerball.asy
index 5cf0f015055..68a95edbdca 100644
--- a/Master/texmf-dist/doc/asymptote/examples/soccerball.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/soccerball.asy
@@ -1,43 +1,45 @@
import graph3;
size(400);
currentlight.background=palegreen;
+settings.digits=15;
defaultrender=render(compression=Zero,merge=true);
real c=(1+sqrt(5))/2;
-
+
triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
triple[] x={(0,c,1),(0,-c,1),(0,-c,-1),(0,c,-1)};
triple[] y={(1,0,c),(1,0,-c),(-1,0,-c),(-1,0,c)};
-
-triple[][] Q={
- {z[0],y[1],x[3],x[0],y[0],z[3]},
- {z[1],x[0],x[3],y[2],z[2],y[3]},
- {z[2],z[1],y[2],x[2],x[1],y[3]},
- {z[3],z[0],y[0],x[1],x[2],y[1]},
- {x[0],x[3],z[1],y[3],y[0],z[0]},
- {x[1],x[2],z[2],y[3],y[0],z[3]},
- {x[2],x[1],z[3],y[1],y[2],z[2]},
- {x[3],x[0],z[0],y[1],y[2],z[1]},
- {y[0],y[3],x[1],z[3],z[0],x[0]},
- {y[1],y[2],x[2],z[3],z[0],x[3]},
- {y[2],y[1],x[3],z[1],z[2],x[2]},
- {y[3],y[0],x[0],z[1],z[2],x[1]}
-};
-
+
+triple[][] Q=
+ {
+ {z[0],y[1],x[3],x[0],y[0],z[3]},
+ {z[1],x[0],x[3],y[2],z[2],y[3]},
+ {z[2],z[1],y[2],x[2],x[1],y[3]},
+ {z[3],z[0],y[0],x[1],x[2],y[1]},
+ {x[0],x[3],z[1],y[3],y[0],z[0]},
+ {x[1],x[2],z[2],y[3],y[0],z[3]},
+ {x[2],x[1],z[3],y[1],y[2],z[2]},
+ {x[3],x[0],z[0],y[1],y[2],z[1]},
+ {y[0],y[3],x[1],z[3],z[0],x[0]},
+ {y[1],y[2],x[2],z[3],z[0],x[3]},
+ {y[2],y[1],x[3],z[1],z[2],x[2]},
+ {y[3],y[0],x[0],z[1],z[2],x[1]}
+ };
+
int nArc=4;
path3 p=Arc(O,Q[0][0],Q[0][1],nArc);
real R=abs(point(p,reltime(p,1/3)));
-
+
triple[][] P;
for(int i=0;i < Q.length;++i){
P[i]=new triple[] ;
for(int j=0;j < Q[i].length;++j){
P[i][j]=Q[i][j]/R;
- }
-}
-
+ }
+}
+
// FIXME: Use a baryicentric coordinate mesh
surface sphericaltriangle(triple center, triple A, triple B, triple C,
int nu=3, int nv=nu) {
@@ -48,10 +50,10 @@ surface sphericaltriangle(triple center, triple A, triple B, triple C,
path3 cr=Arc(O,relpoint(tri2,p.x),relpoint(tri3,p.x),nArc);
return relpoint(cr,p.y);
};
-
+
return surface(tri,(0,0),(1-sqrtEpsilon,1),nu,nv,Spline);
-}
-
+}
+
for(int i=0;i < P.length;++i){
triple[] pentagon=sequence(new triple(int k) {
path3 p=Arc(O,P[i][0],P[i][k+1],nArc);
@@ -64,8 +66,8 @@ for(int i=0;i < P.length;++i){
for(int i=0;i < 5;++i){
surface sf=sphericaltriangle(O,pentagon[i],M,pentagon[i+1]);
draw(sf,black);
- }
-}
+ }
+}
for(int i=0;i < P.length;++i) {
for(int j=1;j <= 5;++j) {
@@ -85,6 +87,6 @@ for(int i=0;i < P.length;++i) {
for(int i=0;i < 6;++i) {
surface sf=sphericaltriangle(O,hexagon[i],M,hexagon[i+1]);
draw(sf,white);
- }
- }
+ }
+ }
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/spectrum.asy b/Master/texmf-dist/doc/asymptote/examples/spectrum.asy
index a5d576921cf..95c5f8a0d1b 100644
--- a/Master/texmf-dist/doc/asymptote/examples/spectrum.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/spectrum.asy
@@ -11,7 +11,7 @@ pen nm2rgb(real wl, real gamma=0.8, bool intensity=true) {
if(wl > 510 && wl <= 580) {rgb=((wl-510)/70,1,0);}
if(wl > 580 && wl <= 645) {rgb=(1,(645-wl)/65,0);}
if(wl > 645 && wl <= 780) {rgb=(1,0,0);}
-
+
real Intensity=1;
if(intensity) {
if(wl >= 700) {Intensity=0.3+0.7*(780-wl)/80;}
diff --git a/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy b/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy
index ca8b8c3d584..6585f7c2036 100644
--- a/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy
@@ -1,9 +1,9 @@
-size(100);
-import solids;
+size(100);
+import solids;
currentprojection=orthographic(5,4,2);
-revolution sphere=sphere(1);
+revolution sphere=sphere(1);
draw(surface(sphere),green+opacity(0.2));
draw(sphere,m=7,blue);
diff --git a/Master/texmf-dist/doc/asymptote/examples/spiral3.asy b/Master/texmf-dist/doc/asymptote/examples/spiral3.asy
index 727ca3f6d3a..79a15a52c41 100644
--- a/Master/texmf-dist/doc/asymptote/examples/spiral3.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/spiral3.asy
@@ -1,8 +1,8 @@
import graph3;
import palette;
-
+
size3(10cm);
-
+
currentprojection=orthographic(5,4,2);
viewportmargin=(2cm,0);
diff --git a/Master/texmf-dist/doc/asymptote/examples/spline.asy b/Master/texmf-dist/doc/asymptote/examples/spline.asy
index 9d79ef3a962..f01ba3306e6 100644
--- a/Master/texmf-dist/doc/asymptote/examples/spline.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/spline.asy
@@ -1,15 +1,15 @@
-import graph;
-import interpolate;
-
-size(15cm,15cm,IgnoreAspect);
-
-real a=1997, b=2002;
-int n=5;
-real[] xpt=a+sequence(n+1)*(b-a)/n;
-real[] ypt={31,36,26,22,21,24};
+import graph;
+import interpolate;
+
+size(15cm,15cm,IgnoreAspect);
+
+real a=1997, b=2002;
+int n=5;
+real[] xpt=a+sequence(n+1)*(b-a)/n;
+real[] ypt={31,36,26,22,21,24};
horner h=diffdiv(xpt,ypt);
fhorner L=fhorner(h);
-
+
scale(false,true);
pen p=linewidth(1);
diff --git a/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
index f8578bbbcc9..1fa9325f4ce 100644
--- a/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
@@ -33,10 +33,10 @@ struct split
if(depth > 0)
write(pt.tree[i],qt.tree[j],Pi,Qj,depth);
}
- }
+ }
}
}
-
+
// Output the subpatches of p from subdivision.
void read(surface[] S, tree t, triple[][] p, int depth=n) {
--depth;
@@ -44,7 +44,7 @@ struct split
triple[][][] P=Split(p);
for(int i=0; i < 2; ++i) {
- if(t.tree.initialized(i))
+ if(t.tree.initialized(i))
read(S,t.tree[i],P[i],depth);
else {
S[0].push(patch(P[i]));
@@ -62,19 +62,21 @@ struct split
currentprojection=orthographic(0,0,1);
-triple[][] A={
- {(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
- {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)},
- {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)},
- {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)}
-};
+triple[][] A=
+ {
+ {(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
+ {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)},
+ {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)},
+ {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)}
+ };
-triple[][] B={
- {(0.5,0,-1),(0.5,1,-1),(0.5,2,-1),(0.5,3,-1)},
- {(0.5,0,0),(0.5,1,0),(0.5,2,0),(0.5,3,0)},
- {(0.5,0,1),(0.5,1,1),(0.5,2,1),(0.5,3,1)},
- {(0.5,0,2),(0.5,1,2),(0.5,2,2),(0.5,3,2)}
-};
+triple[][] B=
+ {
+ {(0.5,0,-1),(0.5,1,-1),(0.5,2,-1),(0.5,3,-1)},
+ {(0.5,0,0),(0.5,1,0),(0.5,2,0),(0.5,3,0)},
+ {(0.5,0,1),(0.5,1,1),(0.5,2,1),(0.5,3,1)},
+ {(0.5,0,2),(0.5,1,2),(0.5,2,2),(0.5,3,2)}
+ };
split S=split(B,A);
diff --git a/Master/texmf-dist/doc/asymptote/examples/spring.asy b/Master/texmf-dist/doc/asymptote/examples/spring.asy
index cbfb256eee4..4427d3a0f8c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/spring.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/spring.asy
@@ -2,7 +2,7 @@ pair coilpoint(real lambda, real r, real t)
{
return (2.0*lambda*t+r*cos(t),r*sin(t));
}
-
+
guide coil(guide g=nullpath, real lambda, real r, real a, real b, int n)
{
real width=(b-a)/n;
@@ -15,14 +15,14 @@ guide coil(guide g=nullpath, real lambda, real r, real a, real b, int n)
void drawspring(real x, string label) {
real r=8;
- real t1=-pi;
+ real t1=-pi;
real t2=10*pi;
real lambda=(t2-t1+x)/(t2-t1);
pair b=coilpoint(lambda,r,t1);
pair c=coilpoint(lambda,r,t2);
pair a=b-20;
pair d=c+20;
-
+
draw(a--b,BeginBar(2*barsize()));
draw(c--d);
draw(coil(lambda,r,t1,t2,100));
diff --git a/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy b/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy
index 639333ec476..6cf847e9c06 100644
--- a/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy
@@ -1,11 +1,11 @@
import three;
-
+
currentprojection=perspective(50*dir(70,15));
picture pic;
unitsize(pic,1cm);
draw(pic,xscale3(10)*unitcube,yellow,blue);
-
+
addStereoViews(pic);
diff --git a/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy b/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy
index f9413091d1c..2e0a3b0f4d4 100644
--- a/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy
@@ -1,4 +1,4 @@
size(100);
guide g=(0,0)..controls(70,30) and (-40,30)..(30,0);
latticeshade(g,stroke=true,linewidth(10),
- new pen[][] {{red,orange,yellow},{green,blue,purple}});
+ new pen[][] {{red,orange,yellow},{green,blue,purple}});
diff --git a/Master/texmf-dist/doc/asymptote/examples/teapot.asy b/Master/texmf-dist/doc/asymptote/examples/teapot.asy
index bff93ace194..f3328151fde 100644
--- a/Master/texmf-dist/doc/asymptote/examples/teapot.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/teapot.asy
@@ -5,168 +5,200 @@ size(20cm);
currentprojection=perspective(250,-250,250);
currentlight=Viewport;
-triple[][][] Q={
+triple[][][] Q=
{
+ {
{(39.68504,0,68.0315),(37.91339,0,71.75197),(40.74803,0,71.75197),(42.51969,0,68.0315)},
{(39.68504,-22.22362,68.0315),(37.91339,-21.2315,71.75197),(40.74803,-22.8189,71.75197),(42.51969,-23.81102,68.0315)},
{(22.22362,-39.68504,68.0315),(21.2315,-37.91339,71.75197),(22.8189,-40.74803,71.75197),(23.81102,-42.51969,68.0315)},
{(0,-39.68504,68.0315),(0,-37.91339,71.75197),(0,-40.74803,71.75197),(0,-42.51969,68.0315)}
- },{
+ },
+ {
{(0,-39.68504,68.0315),(0,-37.91339,71.75197),(0,-40.74803,71.75197),(0,-42.51969,68.0315)},
{(-22.22362,-39.68504,68.0315),(-21.2315,-37.91339,71.75197),(-22.8189,-40.74803,71.75197),(-23.81102,-42.51969,68.0315)},
{(-39.68504,-22.22362,68.0315),(-37.91339,-21.2315,71.75197),(-40.74803,-22.8189,71.75197),(-42.51969,-23.81102,68.0315)},
{(-39.68504,0,68.0315),(-37.91339,0,71.75197),(-40.74803,0,71.75197),(-42.51969,0,68.0315)}
- },{
+ },
+ {
{(-39.68504,0,68.0315),(-37.91339,0,71.75197),(-40.74803,0,71.75197),(-42.51969,0,68.0315)},
{(-39.68504,22.22362,68.0315),(-37.91339,21.2315,71.75197),(-40.74803,22.8189,71.75197),(-42.51969,23.81102,68.0315)},
{(-22.22362,39.68504,68.0315),(-21.2315,37.91339,71.75197),(-22.8189,40.74803,71.75197),(-23.81102,42.51969,68.0315)},
{(0,39.68504,68.0315),(0,37.91339,71.75197),(0,40.74803,71.75197),(0,42.51969,68.0315)}
- },{
+ },
+ {
{(0,39.68504,68.0315),(0,37.91339,71.75197),(0,40.74803,71.75197),(0,42.51969,68.0315)},
{(22.22362,39.68504,68.0315),(21.2315,37.91339,71.75197),(22.8189,40.74803,71.75197),(23.81102,42.51969,68.0315)},
{(39.68504,22.22362,68.0315),(37.91339,21.2315,71.75197),(40.74803,22.8189,71.75197),(42.51969,23.81102,68.0315)},
{(39.68504,0,68.0315),(37.91339,0,71.75197),(40.74803,0,71.75197),(42.51969,0,68.0315)}
- },{
+ },
+ {
{(42.51969,0,68.0315),(49.60629,0,53.1496),(56.69291,0,38.26771),(56.69291,0,25.51181)},
{(42.51969,-23.81102,68.0315),(49.60629,-27.77952,53.1496),(56.69291,-31.74803,38.26771),(56.69291,-31.74803,25.51181)},
{(23.81102,-42.51969,68.0315),(27.77952,-49.60629,53.1496),(31.74803,-56.69291,38.26771),(31.74803,-56.69291,25.51181)},
{(0,-42.51969,68.0315),(0,-49.60629,53.1496),(0,-56.69291,38.26771),(0,-56.69291,25.51181)}
- },{
+ },
+ {
{(0,-42.51969,68.0315),(0,-49.60629,53.1496),(0,-56.69291,38.26771),(0,-56.69291,25.51181)},
{(-23.81102,-42.51969,68.0315),(-27.77952,-49.60629,53.1496),(-31.74803,-56.69291,38.26771),(-31.74803,-56.69291,25.51181)},
{(-42.51969,-23.81102,68.0315),(-49.60629,-27.77952,53.1496),(-56.69291,-31.74803,38.26771),(-56.69291,-31.74803,25.51181)},
{(-42.51969,0,68.0315),(-49.60629,0,53.1496),(-56.69291,0,38.26771),(-56.69291,0,25.51181)}
- },{
+ },
+ {
{(-42.51969,0,68.0315),(-49.60629,0,53.1496),(-56.69291,0,38.26771),(-56.69291,0,25.51181)},
{(-42.51969,23.81102,68.0315),(-49.60629,27.77952,53.1496),(-56.69291,31.74803,38.26771),(-56.69291,31.74803,25.51181)},
{(-23.81102,42.51969,68.0315),(-27.77952,49.60629,53.1496),(-31.74803,56.69291,38.26771),(-31.74803,56.69291,25.51181)},
{(0,42.51969,68.0315),(0,49.60629,53.1496),(0,56.69291,38.26771),(0,56.69291,25.51181)}
- },{
+ },
+ {
{(0,42.51969,68.0315),(0,49.60629,53.1496),(0,56.69291,38.26771),(0,56.69291,25.51181)},
{(23.81102,42.51969,68.0315),(27.77952,49.60629,53.1496),(31.74803,56.69291,38.26771),(31.74803,56.69291,25.51181)},
{(42.51969,23.81102,68.0315),(49.60629,27.77952,53.1496),(56.69291,31.74803,38.26771),(56.69291,31.74803,25.51181)},
{(42.51969,0,68.0315),(49.60629,0,53.1496),(56.69291,0,38.26771),(56.69291,0,25.51181)}
- },{
+ },
+ {
{(56.69291,0,25.51181),(56.69291,0,12.7559),(42.51969,0,6.377957),(42.51969,0,4.251961)},
{(56.69291,-31.74803,25.51181),(56.69291,-31.74803,12.7559),(42.51969,-23.81102,6.377957),(42.51969,-23.81102,4.251961)},
{(31.74803,-56.69291,25.51181),(31.74803,-56.69291,12.7559),(23.81102,-42.51969,6.377957),(23.81102,-42.51969,4.251961)},
{(0,-56.69291,25.51181),(0,-56.69291,12.7559),(0,-42.51969,6.377957),(0,-42.51969,4.251961)}
- },{
+ },
+ {
{(0,-56.69291,25.51181),(0,-56.69291,12.7559),(0,-42.51969,6.377957),(0,-42.51969,4.251961)},
{(-31.74803,-56.69291,25.51181),(-31.74803,-56.69291,12.7559),(-23.81102,-42.51969,6.377957),(-23.81102,-42.51969,4.251961)},
{(-56.69291,-31.74803,25.51181),(-56.69291,-31.74803,12.7559),(-42.51969,-23.81102,6.377957),(-42.51969,-23.81102,4.251961)},
{(-56.69291,0,25.51181),(-56.69291,0,12.7559),(-42.51969,0,6.377957),(-42.51969,0,4.251961)}
- },{
+ },
+ {
{(-56.69291,0,25.51181),(-56.69291,0,12.7559),(-42.51969,0,6.377957),(-42.51969,0,4.251961)},
{(-56.69291,31.74803,25.51181),(-56.69291,31.74803,12.7559),(-42.51969,23.81102,6.377957),(-42.51969,23.81102,4.251961)},
{(-31.74803,56.69291,25.51181),(-31.74803,56.69291,12.7559),(-23.81102,42.51969,6.377957),(-23.81102,42.51969,4.251961)},
{(0,56.69291,25.51181),(0,56.69291,12.7559),(0,42.51969,6.377957),(0,42.51969,4.251961)}
- },{
+ },
+ {
{(0,56.69291,25.51181),(0,56.69291,12.7559),(0,42.51969,6.377957),(0,42.51969,4.251961)},
{(31.74803,56.69291,25.51181),(31.74803,56.69291,12.7559),(23.81102,42.51969,6.377957),(23.81102,42.51969,4.251961)},
{(56.69291,31.74803,25.51181),(56.69291,31.74803,12.7559),(42.51969,23.81102,6.377957),(42.51969,23.81102,4.251961)},
{(56.69291,0,25.51181),(56.69291,0,12.7559),(42.51969,0,6.377957),(42.51969,0,4.251961)}
- },{
+ },
+ {
{(-45.35433,0,57.40157),(-65.19685,0,57.40157),(-76.53543,0,57.40157),(-76.53543,0,51.02362)},
{(-45.35433,-8.503932,57.40157),(-65.19685,-8.503932,57.40157),(-76.53543,-8.503932,57.40157),(-76.53543,-8.503932,51.02362)},
{(-42.51969,-8.503932,63.77952),(-70.86614,-8.503932,63.77952),(-85.03937,-8.503932,63.77952),(-85.03937,-8.503932,51.02362)},
{(-42.51969,0,63.77952),(-70.86614,0,63.77952),(-85.03937,0,63.77952),(-85.03937,0,51.02362)}
- },{
+ },
+ {
{(-42.51969,0,63.77952),(-70.86614,0,63.77952),(-85.03937,0,63.77952),(-85.03937,0,51.02362)},
{(-42.51969,8.503932,63.77952),(-70.86614,8.503932,63.77952),(-85.03937,8.503932,63.77952),(-85.03937,8.503932,51.02362)},
{(-45.35433,8.503932,57.40157),(-65.19685,8.503932,57.40157),(-76.53543,8.503932,57.40157),(-76.53543,8.503932,51.02362)},
{(-45.35433,0,57.40157),(-65.19685,0,57.40157),(-76.53543,0,57.40157),(-76.53543,0,51.02362)}
- },{
+ },
+ {
{(-76.53543,0,51.02362),(-76.53543,0,44.64566),(-70.86614,0,31.88976),(-56.69291,0,25.51181)},
{(-76.53543,-8.503932,51.02362),(-76.53543,-8.503932,44.64566),(-70.86614,-8.503932,31.88976),(-56.69291,-8.503932,25.51181)},
{(-85.03937,-8.503932,51.02362),(-85.03937,-8.503932,38.26771),(-75.11811,-8.503932,26.5748),(-53.85826,-8.503932,17.00787)},
{(-85.03937,0,51.02362),(-85.03937,0,38.26771),(-75.11811,0,26.5748),(-53.85826,0,17.00787)}
- },{
+ },
+ {
{(-85.03937,0,51.02362),(-85.03937,0,38.26771),(-75.11811,0,26.5748),(-53.85826,0,17.00787)},
{(-85.03937,8.503932,51.02362),(-85.03937,8.503932,38.26771),(-75.11811,8.503932,26.5748),(-53.85826,8.503932,17.00787)},
{(-76.53543,8.503932,51.02362),(-76.53543,8.503932,44.64566),(-70.86614,8.503932,31.88976),(-56.69291,8.503932,25.51181)},
{(-76.53543,0,51.02362),(-76.53543,0,44.64566),(-70.86614,0,31.88976),(-56.69291,0,25.51181)}
- },{
+ },
+ {
{(48.18897,0,40.3937),(73.70078,0,40.3937),(65.19685,0,59.52755),(76.53543,0,68.0315)},
{(48.18897,-18.70866,40.3937),(73.70078,-18.70866,40.3937),(65.19685,-7.086619,59.52755),(76.53543,-7.086619,68.0315)},
{(48.18897,-18.70866,17.00787),(87.87401,-18.70866,23.38582),(68.0315,-7.086619,57.40157),(93.5433,-7.086619,68.0315)},
{(48.18897,0,17.00787),(87.87401,0,23.38582),(68.0315,0,57.40157),(93.5433,0,68.0315)}
- },{
+ },
+ {
{(48.18897,0,17.00787),(87.87401,0,23.38582),(68.0315,0,57.40157),(93.5433,0,68.0315)},
{(48.18897,18.70866,17.00787),(87.87401,18.70866,23.38582),(68.0315,7.086619,57.40157),(93.5433,7.086619,68.0315)},
{(48.18897,18.70866,40.3937),(73.70078,18.70866,40.3937),(65.19685,7.086619,59.52755),(76.53543,7.086619,68.0315)},
{(48.18897,0,40.3937),(73.70078,0,40.3937),(65.19685,0,59.52755),(76.53543,0,68.0315)}
- },{
+ },
+ {
{(76.53543,0,68.0315),(79.37007,0,70.15748),(82.20472,0,70.15748),(79.37007,0,68.0315)},
{(76.53543,-7.086619,68.0315),(79.37007,-7.086619,70.15748),(82.20472,-4.251961,70.15748),(79.37007,-4.251961,68.0315)},
{(93.5433,-7.086619,68.0315),(99.92125,-7.086619,70.68897),(97.79527,-4.251961,71.22047),(90.70866,-4.251961,68.0315)},
{(93.5433,0,68.0315),(99.92125,0,70.68897),(97.79527,0,71.22047),(90.70866,0,68.0315)}
- },{
+ },
+ {
{(93.5433,0,68.0315),(99.92125,0,70.68897),(97.79527,0,71.22047),(90.70866,0,68.0315)},
{(93.5433,7.086619,68.0315),(99.92125,7.086619,70.68897),(97.79527,4.251961,71.22047),(90.70866,4.251961,68.0315)},
{(76.53543,7.086619,68.0315),(79.37007,7.086619,70.15748),(82.20472,4.251961,70.15748),(79.37007,4.251961,68.0315)},
{(76.53543,0,68.0315),(79.37007,0,70.15748),(82.20472,0,70.15748),(79.37007,0,68.0315)}
- },{
+ },
+ {
{(0,0,89.29133),(22.67716,0,89.29133),(0,0,80.7874),(5.669294,0,76.53543)},
{(0,0,89.29133),(22.67716,-12.7559,89.29133),(0,0,80.7874),(5.669294,-3.174809,76.53543)},
{(0,0,89.29133),(12.7559,-22.67716,89.29133),(0,0,80.7874),(3.174809,-5.669294,76.53543)},
{(0,0,89.29133),(0,-22.67716,89.29133),(0,0,80.7874),(0,-5.669294,76.53543)}
- },{
+ },
+ {
{(0,0,89.29133),(0,-22.67716,89.29133),(0,0,80.7874),(0,-5.669294,76.53543)},
{(0,0,89.29133),(-12.7559,-22.67716,89.29133),(0,0,80.7874),(-3.174809,-5.669294,76.53543)},
{(0,0,89.29133),(-22.67716,-12.7559,89.29133),(0,0,80.7874),(-5.669294,-3.174809,76.53543)},
{(0,0,89.29133),(-22.67716,0,89.29133),(0,0,80.7874),(-5.669294,0,76.53543)}
- },{
+ },
+ {
{(0,0,89.29133),(-22.67716,0,89.29133),(0,0,80.7874),(-5.669294,0,76.53543)},
{(0,0,89.29133),(-22.67716,12.7559,89.29133),(0,0,80.7874),(-5.669294,3.174809,76.53543)},
{(0,0,89.29133),(-12.7559,22.67716,89.29133),(0,0,80.7874),(-3.174809,5.669294,76.53543)},
{(0,0,89.29133),(0,22.67716,89.29133),(0,0,80.7874),(0,5.669294,76.53543)}
- },{
+ },
+ {
{(0,0,89.29133),(0,22.67716,89.29133),(0,0,80.7874),(0,5.669294,76.53543)},
{(0,0,89.29133),(12.7559,22.67716,89.29133),(0,0,80.7874),(3.174809,5.669294,76.53543)},
{(0,0,89.29133),(22.67716,12.7559,89.29133),(0,0,80.7874),(5.669294,3.174809,76.53543)},
{(0,0,89.29133),(22.67716,0,89.29133),(0,0,80.7874),(5.669294,0,76.53543)}
- },{
+ },
+ {
{(5.669294,0,76.53543),(11.33858,0,72.28346),(36.85039,0,72.28346),(36.85039,0,68.0315)},
{(5.669294,-3.174809,76.53543),(11.33858,-6.349609,72.28346),(36.85039,-20.63622,72.28346),(36.85039,-20.63622,68.0315)},
{(3.174809,-5.669294,76.53543),(6.349609,-11.33858,72.28346),(20.63622,-36.85039,72.28346),(20.63622,-36.85039,68.0315)},
{(0,-5.669294,76.53543),(0,-11.33858,72.28346),(0,-36.85039,72.28346),(0,-36.85039,68.0315)}
- },{
+ },
+ {
{(0,-5.669294,76.53543),(0,-11.33858,72.28346),(0,-36.85039,72.28346),(0,-36.85039,68.0315)},
{(-3.174809,-5.669294,76.53543),(-6.349609,-11.33858,72.28346),(-20.63622,-36.85039,72.28346),(-20.63622,-36.85039,68.0315)},
{(-5.669294,-3.174809,76.53543),(-11.33858,-6.349609,72.28346),(-36.85039,-20.63622,72.28346),(-36.85039,-20.63622,68.0315)},
{(-5.669294,0,76.53543),(-11.33858,0,72.28346),(-36.85039,0,72.28346),(-36.85039,0,68.0315)},
- },{
+ },
+ {
{(-5.669294,0,76.53543),(-11.33858,0,72.28346),(-36.85039,0,72.28346),(-36.85039,0,68.0315)},
{(-5.669294,3.174809,76.53543),(-11.33858,6.349609,72.28346),(-36.85039,20.63622,72.28346),(-36.85039,20.63622,68.0315)},
{(-3.174809,5.669294,76.53543),(-6.349609,11.33858,72.28346),(-20.63622,36.85039,72.28346),(-20.63622,36.85039,68.0315)},
{(0,5.669294,76.53543),(0,11.33858,72.28346),(0,36.85039,72.28346),(0,36.85039,68.0315)}
- },{
+ },
+ {
{(0,5.669294,76.53543),(0,11.33858,72.28346),(0,36.85039,72.28346),(0,36.85039,68.0315)},
{(3.174809,5.669294,76.53543),(6.349609,11.33858,72.28346),(20.63622,36.85039,72.28346),(20.63622,36.85039,68.0315)},
{(5.669294,3.174809,76.53543),(11.33858,6.349609,72.28346),(36.85039,20.63622,72.28346),(36.85039,20.63622,68.0315)},
{(5.669294,0,76.53543),(11.33858,0,72.28346),(36.85039,0,72.28346),(36.85039,0,68.0315)},
- },{
+ },
+ {
{(0,0,0),(40.3937,0,0),(42.51969,0,2.12598),(42.51969,0,4.251961)},
{(0,0,0),(40.3937,22.62047,0),(42.51969,23.81102,2.12598),(42.51969,23.81102,4.251961)},
{(0,0,0),(22.62047,40.3937,0),(23.81102,42.51969,2.12598),(23.81102,42.51969,4.251961)},
{(0,0,0),(0,40.3937,0),(0,42.51969,2.12598),(0,42.51969,4.251961)}
- },{
+ },
+ {
{(0,0,0),(0,40.3937,0),(0,42.51969,2.12598),(0,42.51969,4.251961)},
{(0,0,0),(-22.62047,40.3937,0),(-23.81102,42.51969,2.12598),(-23.81102,42.51969,4.251961)},
{(0,0,0),(-40.3937,22.62047,0),(-42.51969,23.81102,2.12598),(-42.51969,23.81102,4.251961)},
{(0,0,0),(-40.3937,0,0),(-42.51969,0,2.12598),(-42.51969,0,4.251961)}
- },{
+ },
+ {
{(0,0,0),(-40.3937,0,0),(-42.51969,0,2.12598),(-42.51969,0,4.251961)},
{(0,0,0),(-40.3937,-22.62047,0),(-42.51969,-23.81102,2.12598),(-42.51969,-23.81102,4.251961)},
{(0,0,0),(-22.62047,-40.3937,0),(-23.81102,-42.51969,2.12598),(-23.81102,-42.51969,4.251961)},
{(0,0,0),(0,-40.3937,0),(0,-42.51969,2.12598),(0,-42.51969,4.251961)}
- },{
+ },
+ {
{(0,0,0),(0,-40.3937,0),(0,-42.51969,2.12598),(0,-42.51969,4.251961)},
{(0,0,0),(22.62047,-40.3937,0),(23.81102,-42.51969,2.12598),(23.81102,-42.51969,4.251961)},
{(0,0,0),(40.3937,-22.62047,0),(42.51969,-23.81102,2.12598),(42.51969,-23.81102,4.251961)},
{(0,0,0),(40.3937,0,0),(42.51969,0,2.12598),(42.51969,0,4.251961)}
- }
-};
+ }
+ };
draw(surface(Q),material(blue, shininess=0.85, metallic=0),render(compression=Low));
diff --git a/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy b/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy
index cfcc3d0e98e..e0965028975 100644
--- a/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy
@@ -14,7 +14,7 @@ picture CreateKOOS(real Scale, string legend) // draw labeled coor
draw(ReturnPic, ((0,-S)--(0,S)), bar = EndArrow); // y axis
label(ReturnPic, "$\varepsilon$", (S,0), SW); // x axis label
label(ReturnPic, "$\sigma$", (0,S), SW); // y axis label
- label(ReturnPic, legend, (0.7S, -S), NW); // add label 'legend'
+ label(ReturnPic, legend, (0.7S, -S), NW); // add label 'legend'
return ReturnPic; // return picture
}
@@ -32,69 +32,69 @@ picture T[]; // vector of all four diagrams
real inc = 2.8; // increment-offset for combining pictures
//////////////////////////////////////// 1st diagram
-T[1] = CreateKOOS(S, "$T_1$"); // initialise T[1] as empty diagram with label $T_1$
-graph = A; // # pointwise definition of current path 'graph'
-graph = graph -- (A.x + grad*1.6, A.y + 1.6); // #
-graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
+T[1] = CreateKOOS(S, "$T_1$"); // initialise T[1] as empty diagram with label $T_1$
+graph = A; // # pointwise definition of current path 'graph'
+graph = graph -- (A.x + grad*1.6, A.y + 1.6); // #
+graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
graph = graph -- E; // #
-graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
-ActPen = rgb(0,0,0.6) + linewidth(lw); // define pen for drawing in 1st diagram
-draw(T[1], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[1]' (1st hysteresis branch)
-draw(T[1], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
+graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
+ActPen = rgb(0,0,0.6) + linewidth(lw); // define pen for drawing in 1st diagram
+draw(T[1], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[1]' (1st hysteresis branch)
+draw(T[1], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
graph = (0,0) -- (grad*0.6, 0.6) -- ( (grad*0.6, 0.6) + (0.1, 0) ); // define branch from origin to hysteresis
-graph = roundedpath(graph, radius, S); // round this path
-draw(T[1], graph, ActPen); // draw this path into 'T[1]'
+graph = roundedpath(graph, radius, S); // round this path
+draw(T[1], graph, ActPen); // draw this path into 'T[1]'
//////////////////////////////////////// 2nd diagram
-T[2] = CreateKOOS(S, "$T_2$"); // initialise T[2] as empty diagram with label $T_2$
-graph = A; // # pointwise definition of current path 'graph'
-graph = graph -- (A.x + grad*1.3, A.y + 1.3); // #
-graph = graph -- (E.x - grad*0.7 , E.y - 0.7); // #
+T[2] = CreateKOOS(S, "$T_2$"); // initialise T[2] as empty diagram with label $T_2$
+graph = A; // # pointwise definition of current path 'graph'
+graph = graph -- (A.x + grad*1.3, A.y + 1.3); // #
+graph = graph -- (E.x - grad*0.7 , E.y - 0.7); // #
graph = graph -- E; // #
-
-graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
-ActPen = rgb(0.2,0,0.4) + linewidth(lw); // define pen for drawing in 2nd diagram
-draw(T[2], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[2]' (1st hysteresis branch)
-draw(T[2], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
+
+graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
+ActPen = rgb(0.2,0,0.4) + linewidth(lw); // define pen for drawing in 2nd diagram
+draw(T[2], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[2]' (1st hysteresis branch)
+draw(T[2], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
graph = (0,0) -- (grad*0.3, 0.3) -- ( (grad*0.3, 0.3) + (0.1, 0) ); // define branch from origin to hysteresis
-graph = roundedpath(graph, radius, S); // round this path
-draw(T[2], graph, ActPen); // draw this path into 'T[2]'
+graph = roundedpath(graph, radius, S); // round this path
+draw(T[2], graph, ActPen); // draw this path into 'T[2]'
//////////////////////////////////////// 3rd diagram
-T[3] = CreateKOOS(S, "$T_3$"); // initialise T[3] as empty diagram with label $T_3$
-graph = A; // # pointwise definition of current path 'graph'
-graph = graph -- (A.x + grad*0.7, A.y + 0.7); // #
-graph = graph -- ( - grad*0.3 , - 0.3); // #
-graph = graph -- (0,0); // #
-graph = graph -- (grad*0.6, 0.6); // #
-graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
-graph = graph -- E; // #
-
-graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
-ActPen = rgb(0.6,0,0.2) + linewidth(lw); // define pen for drawing in 3rd diagram
-draw(T[3], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[3]' (1st hysteresis branch)
-draw(T[3], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
+T[3] = CreateKOOS(S, "$T_3$"); // initialise T[3] as empty diagram with label $T_3$
+graph = A; // # pointwise definition of current path 'graph'
+graph = graph -- (A.x + grad*0.7, A.y + 0.7); // #
+graph = graph -- ( - grad*0.3 , - 0.3); // #
+graph = graph -- (0,0); // #
+graph = graph -- (grad*0.6, 0.6); // #
+graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
+graph = graph -- E; // #
+
+graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
+ActPen = rgb(0.6,0,0.2) + linewidth(lw); // define pen for drawing in 3rd diagram
+draw(T[3], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[3]' (1st hysteresis branch)
+draw(T[3], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
//////////////////////////////////////// 4th diagram
-T[4] = CreateKOOS(S, "$T_4$"); // initialise T[4] as empty diagram with label $T_4$
-graph = A; // # pointwise definition of current path 'graph'
-graph = graph -- (A.x + grad*0.4, A.y + 0.4); // #
-graph = graph -- ( - grad*0.6 , - 0.6); // #
-graph = graph -- (0,0); // #
-graph = graph -- (grad*0.9, 0.9); // #
-graph = graph -- (E.x - grad*0.1, E.y - 0.1); // #
-graph = graph -- E; // #
-
-graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
-ActPen = rgb(0.6,0,0) + linewidth(lw); // define pen for drawing in 4th diagram
-draw(T[4], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[4]' (1st hysteresis branch)
-draw(T[4], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (3nd hysteresis branch)
+T[4] = CreateKOOS(S, "$T_4$"); // initialise T[4] as empty diagram with label $T_4$
+graph = A; // # pointwise definition of current path 'graph'
+graph = graph -- (A.x + grad*0.4, A.y + 0.4); // #
+graph = graph -- ( - grad*0.6 , - 0.6); // #
+graph = graph -- (0,0); // #
+graph = graph -- (grad*0.9, 0.9); // #
+graph = graph -- (E.x - grad*0.1, E.y - 0.1); // #
+graph = graph -- E; // #
+
+graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
+ActPen = rgb(0.6,0,0) + linewidth(lw); // define pen for drawing in 4th diagram
+draw(T[4], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[4]' (1st hysteresis branch)
+draw(T[4], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (3nd hysteresis branch)
// add some labels and black dots to the first two pictures
@@ -126,6 +126,6 @@ ActPen = linewidth(1) + gray(0.5); // define
draw(shift(( 1 - grad*0.55 + 0*inc)*S, 0.45*S)*mark, ActPen); // # draw all intersections
draw(shift((-1 + grad*1.45 + 0*inc)*S, 0.45*S)*mark, ActPen); // #
draw(shift(( 1 - grad*0.55 + 1*inc)*S, 0.45*S)*mark, ActPen); // #
-draw(shift(( 1 - grad*0.55 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
-draw(shift(( grad*0.45 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
+draw(shift(( 1 - grad*0.55 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
+draw(shift(( grad*0.45 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
draw(shift(( grad*0.45 + 3*inc)*S, 0.45*S)*mark, ActPen); // #
diff --git a/Master/texmf-dist/doc/asymptote/examples/torus.asy b/Master/texmf-dist/doc/asymptote/examples/torus.asy
index d0b8673d737..c5bda1e6871 100644
--- a/Master/texmf-dist/doc/asymptote/examples/torus.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/torus.asy
@@ -7,9 +7,9 @@ real R=3;
real a=1;
/*
-import solids;
-revolution torus=revolution(reverse(Circle(R*X,a,Y,32)),Z,90,345);
-surface s=surface(torus);
+ import solids;
+ revolution torus=revolution(reverse(Circle(R*X,a,Y,32)),Z,90,345);
+ surface s=surface(torus);
*/
triple f(pair t) {
diff --git a/Master/texmf-dist/doc/asymptote/examples/triads.asy b/Master/texmf-dist/doc/asymptote/examples/triads.asy
index 77806b1ad4b..6cecc55fa46 100644
--- a/Master/texmf-dist/doc/asymptote/examples/triads.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/triads.asy
@@ -12,18 +12,18 @@ pair o=(m.x,0.5(m.x+l.y));
pen d=c+darkgreen;
void drawarrow(string s="", pair p, pair q, side side=RightSide,
- bool upscale=false, pen c)
+ bool upscale=false, pen c)
{
path g=p{dir(-5)}..{dir(-85)}q;
- if(upscale) g=reverse(g);
+ if(upscale) g=reverse(g);
draw(s,g,side,c,Arrow(Fill,0.65));
-}
+}
void spectrum(pair l,pair m, pair s) {
draw(p,c);
-
+
d += 4.0;
- dot("$p$",l,SW,d);
+ dot("$p$",l,SW,d);
dot("$q$",m,SW,d);
dot("$k$",s,SW,d);
diff --git a/Master/texmf-dist/doc/asymptote/examples/triangle.asy b/Master/texmf-dist/doc/asymptote/examples/triangle.asy
index 60388a78515..e3f9c1f5889 100644
--- a/Master/texmf-dist/doc/asymptote/examples/triangle.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/triangle.asy
@@ -2,7 +2,7 @@ size(0,100);
import geometry;
triangle t=triangle(b=3,alpha=90,c=4);
-
+
dot((0,0));
draw(t);
diff --git a/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy b/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy
index e4d07a49e5b..092f96a4e6c 100644
--- a/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy
@@ -10,20 +10,21 @@ triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
triple[] x={(0,c,1),(0,-c,1),(0,-c,-1),(0,c,-1)};
triple[] y={(1,0,c),(1,0,-c),(-1,0,-c),(-1,0,c)};
-triple[][] Q={
- {(c,1,0),(1,0,-c),(0,c,-1),(0,c,1),(1,0,c),(c,-1,0)},
- {(-c,1,0),(0,c,1),(0,c,-1),(-1,0,-c),(-c,-1,0),(-1,0,c)},
- {(-c,-1,0),(-c,1,0),(-1,0,-c),(0,-c,-1),(0,-c,1),(-1,0,c)},
- {(c,-1,0),(c,1,0),(1,0,c),(0,-c,1),(0,-c,-1),(1,0,-c)},
- {(0,c,1),(0,c,-1),(-c,1,0),(-1,0,c),(1,0,c),(c,1,0)},
- {(0,-c,1),(0,-c,-1),(-c,-1,0),(-1,0,c),(1,0,c),(c,-1,0)},
- {(0,-c,-1),(0,-c,1),(c,-1,0),(1,0,-c),(-1,0,-c),(-c,-1,0)},
- {(0,c,-1),(0,c,1),(c,1,0),(1,0,-c),(-1,0,-c),(-c,1,0)},
- {(1,0,c),(-1,0,c),(0,-c,1),(c,-1,0),(c,1,0),(0,c,1)},
- {(1,0,-c),(-1,0,-c),(0,-c,-1),(c,-1,0),(c,1,0),(0,c,-1)},
- {(-1,0,-c),(1,0,-c),(0,c,-1),(-c,1,0),(-c,-1,0),(0,-c,-1)},
- {(-1,0,c),(1,0,c),(0,c,1),(-c,1,0),(-c,-1,0),(0,-c,1)}
-};
+triple[][] Q=
+ {
+ {(c,1,0),(1,0,-c),(0,c,-1),(0,c,1),(1,0,c),(c,-1,0)},
+ {(-c,1,0),(0,c,1),(0,c,-1),(-1,0,-c),(-c,-1,0),(-1,0,c)},
+ {(-c,-1,0),(-c,1,0),(-1,0,-c),(0,-c,-1),(0,-c,1),(-1,0,c)},
+ {(c,-1,0),(c,1,0),(1,0,c),(0,-c,1),(0,-c,-1),(1,0,-c)},
+ {(0,c,1),(0,c,-1),(-c,1,0),(-1,0,c),(1,0,c),(c,1,0)},
+ {(0,-c,1),(0,-c,-1),(-c,-1,0),(-1,0,c),(1,0,c),(c,-1,0)},
+ {(0,-c,-1),(0,-c,1),(c,-1,0),(1,0,-c),(-1,0,-c),(-c,-1,0)},
+ {(0,c,-1),(0,c,1),(c,1,0),(1,0,-c),(-1,0,-c),(-c,1,0)},
+ {(1,0,c),(-1,0,c),(0,-c,1),(c,-1,0),(c,1,0),(0,c,1)},
+ {(1,0,-c),(-1,0,-c),(0,-c,-1),(c,-1,0),(c,1,0),(0,c,-1)},
+ {(-1,0,-c),(1,0,-c),(0,c,-1),(-c,1,0),(-c,-1,0),(0,-c,-1)},
+ {(-1,0,c),(1,0,c),(0,c,1),(-c,1,0),(-c,-1,0),(0,-c,1)}
+ };
real R=abs(interp(Q[0][0],Q[0][1],1/3));
diff --git a/Master/texmf-dist/doc/asymptote/examples/tvgen.asy b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
index c7898fe7129..0ea7ce3eb6d 100644
--- a/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy
@@ -17,40 +17,40 @@
* Boston, MA 02110-1301, USA.
*
* 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.
+ * 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 */
-pair tvps(real col, real row, real xd, real yd, int Nv) {
- real psx, psy;
- psx=col*xd; psy=(Nv-row)*yd;
- return (psx,psy);
+pair tvps(real col, real row, real xd, real yd, int Nv) {
+ real psx, psy;
+ psx=col*xd; psy=(Nv-row)*yd;
+ return (psx,psy);
}
path tvrect(int lc, int tr, int rc, int br, real xd, real yd, int Nv) {
- real lx, ty, rx, by;
- pair[] z;
-
- lx=lc*xd; ty=(Nv-tr)*yd;
- rx=rc*xd; by=(Nv-br)*yd;
+ real lx, ty, rx, by;
+ pair[] z;
+
+ lx=lc*xd; ty=(Nv-tr)*yd;
+ rx=rc*xd; by=(Nv-br)*yd;
/* bl br tr tl */
z[0]=(lx, by);
- z[1]=(rx, by);
- z[2]=(rx, ty);
- z[3]=(lx, ty);
-
- return z[0]--z[1]--z[2]--z[3]--cycle;
+ z[1]=(rx, by);
+ z[2]=(rx, ty);
+ z[3]=(lx, ty);
+
+ 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.
+ * 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
@@ -58,8 +58,8 @@ path tvrect(int lc, int tr, int rc, int br, real xd, real yd, int Nv) {
* 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) {
+ int topdist, int botdist,
+ pen pdef, real xd, real yd, int Nv) {
pen pblack, pwhite, pred;
int i;
@@ -113,26 +113,26 @@ void castelhor(int colortv, int[] rccoll, int[] rccolr, int cmaxi, int Nh,
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.
+/* 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.
+ * 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) {
+ int[] rcrowb, int[] rcrowt, int rmaxi,
+ pen pdef, real xd, real yd, int Nv) {
pen pblack, pwhite;
int i;
@@ -144,7 +144,7 @@ void castelver(int colortv, int leftdist, int rightdist, int Nh,
pen pcastl, pcastr;
int tr, br;
path zzc;
-
+
if (inext%2 == 0) {
pcastl = pwhite;
} else {
@@ -157,17 +157,17 @@ void castelver(int colortv, int leftdist, int rightdist, int Nh,
}
tr=rcrowb[i];
- br=rcrowt[i+1];
+ 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);
+ 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) {
+ pen pdef, real xd, real yd, int Nv) {
int[] ridefN={ 4, 16 };
int[] ridefD={ 3, 9 };
int i;
@@ -187,11 +187,11 @@ void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy,
if (2*offa<Nh) {
int hy, tr, br;
path zz;
-
- hy=floor(Nsy/3);
- tr=Nvc-hy;
- br=Nvc+hy;
-
+
+ hy=floor(Nsy/3);
+ tr=Nvc-hy;
+ br=Nvc+hy;
+
zz=tvrect(Nhc+offb, tr, Nhc+offa, br, xd,yd,Nv);
//dot(zz);
fill(zz, p=pdef);
@@ -206,7 +206,7 @@ void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy,
/************* 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,
*
@@ -215,15 +215,15 @@ void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy,
* 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.
+ * 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) {
+ 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) {
pen pblack, pwhite;
int cmaxi, maxoff, mincol, maxcol;
int rows, tr, br;
@@ -239,7 +239,7 @@ void centerline(int colortv,
/* black, vertical gridlines redrawn below */
pair[] z;
int col;
-
+
z[0]=rcright[divsy];
col = rccolc[divsx+1];
@@ -249,21 +249,21 @@ void centerline(int colortv,
z[3]=tvps(col,rcrowc[divsy-1], xd,yd,Nv);
z[4]=tvps(col,rcrowc[divsy], xd,yd,Nv);
- z[5]=rcleft[divsy];
+ 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];
+ 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);
+ --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;
@@ -277,28 +277,28 @@ void centerline(int colortv,
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 */
- }
+ 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;
@@ -327,24 +327,24 @@ void centerline(int colortv,
int i;
for (i=0; i<=cmaxi; ++i) {
int coll, colr;
-
+
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);
+ 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,
- pen pdef, real xd, real yd, int Nv) {
+void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow,
+ pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
+ pen pdef, real xd, real yd, int Nv) {
pen pblack=pdef+gray(0.0), pwhite=pdef+gray(1.0);
pair[] ze;
path zext, zref, zint;
@@ -371,7 +371,7 @@ void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow,
--ze[3]--ze[4]--ze[5]--ze[6]--ze[7]--ze[8]--ze[9]--cycle;
off=ceil((coff[1]+coff[2])/2);
- zint=tvrect(Nhc-off,urow, Nhc+off,trow, xd,yd,Nv);
+ zint=tvrect(Nhc-off,urow, Nhc+off,trow, xd,yd,Nv);
/* paths are completely resolved; no free endpoint conditions */
fill(zext^^reverse(zint), p=pwhite);
@@ -384,7 +384,7 @@ void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow,
}
/************************ testtone **************************************/
-/* x on circle -> return y>=0
+/* x on circle -> return y>=0
* in:
* x x-coordinate relative to origin
* crad circle radius in y units, true size=crad*yd
@@ -418,9 +418,9 @@ real testcircy(real y, real crad, real xd, real yd) {
}
/* brow>trow && xb>xt */
-void testtone(real Tt, int trow, int brow,
- real ccol, real crow, real crad,
- pen pdef, real xd, real yd, int Nv) {
+void testtone(real Tt, int trow, int brow,
+ real ccol, real crow, real crad,
+ pen pdef, real xd, real yd, int Nv) {
int blocks, i;
real yt, xt, yb, xb, Ttt=Tt/2;
pair ccenter;
@@ -488,7 +488,7 @@ void testtone(real Tt, int trow, int brow,
z[2]=tvps(ccol+tl,brow, xd,yd,Nv);
z[3]=tvps(ccol+tr,brow, xd,yd,Nv);
zz=z[0]--z[1]--z[2]--z[3]--cycle;
- }
+ }
if (tl<tr) {
if (i%2 == 0) {
@@ -502,9 +502,9 @@ void testtone(real Tt, int trow, int brow,
}
/************************ color bars *************************************/
-void colorbars(int[] coff, int Nhc, int trow, int crow, int brow,
- pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
- pen pdef, real xd, real yd, int Nv) {
+void colorbars(int[] coff, int Nhc, int trow, int crow, int brow,
+ pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
+ pen pdef, real xd, real yd, int Nv) {
real cI=0.75;
real[] cR={ cI, 0, 0, cI, cI, 0 };
real[] cG={ cI, cI, cI, 0, 0, 0 };
@@ -517,11 +517,11 @@ void colorbars(int[] coff, int Nhc, int trow, int crow, int brow,
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) {
- zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
- zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
+ zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
+ zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
} else {
if(i==0) {
int col, pcol;
@@ -586,7 +586,7 @@ real addphase(real theta, real freq, real step) {
int coverflow;
cycles=freq*step;
- coverflow=floor(abs(cycles));
+ coverflow=floor(abs(cycles));
if (coverflow>1) {
thetaret=0;
} else {
@@ -595,10 +595,10 @@ real addphase(real theta, real freq, real step) {
cycles-=coverflow*sgn(cycles);
thetaret=theta+cycles*dpi; /* cycles=(-1 .. 1) */
- if (thetaret>pi) {
- thetaret-=dpi;
- } else if (thetaret<-pi) {
- thetaret-=dpi;
+ if (thetaret>pi) {
+ thetaret-=dpi;
+ } else if (thetaret<-pi) {
+ thetaret-=dpi;
}
}
@@ -606,9 +606,9 @@ real addphase(real theta, real freq, real step) {
return thetaret;
}
-void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
- pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
- pen pdef, real xd, real yd, int Nv) {
+void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
+ pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
+ pen pdef, real xd, real yd, int Nv) {
int[] divc;
real[] divfl, divfr;
int i, divs, coffmax, off, divnext;
@@ -649,7 +649,7 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
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);
@@ -672,10 +672,10 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
//write(off, thr, ampr);
col=Nhc-off-1;
- zz=tvrect(col,tr, col+1,brow, xd,yd,Nv);
+ zz=tvrect(col,tr, col+1,brow, xd,yd,Nv);
fill(zz, p=pdef+gray(ampl));
col=Nhc+off;
- zz=tvrect(col,tr, col+1,brow, xd,yd,Nv);
+ zz=tvrect(col,tr, col+1,brow, xd,yd,Nv);
fill(zz, p=pdef+gray(ampr));
}
@@ -690,9 +690,9 @@ void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow,
}
/************************ gray bars **************************************/
-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) {
+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, 20, 40, 60, 80, 100};
int cmax=2, poff, i;
@@ -701,11 +701,11 @@ void graybars(int[] coff, int Nhc, int trow, int brow,
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) {
- zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
- zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
+ zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv);
+ zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv);
} else {
int pcol;
pair zlt, zlb, zrt, zrb;
@@ -729,15 +729,15 @@ void graybars(int[] coff, int Nhc, int trow, int brow,
}
/************************ bottom bw **************************************/
-void bottombw(int off, int Nhc, int trow, int brow,
- pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb,
- pen pdef, real xd, real yd, int Nv) {
+void bottombw(int off, 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 rows;
pair zt, zb;
path zz;
rows=brow-trow;
- zz=tvrect(Nhc-off,trow, Nhc+off,brow, xd,yd,Nv);
+ zz=tvrect(Nhc-off,trow, Nhc+off,brow, xd,yd,Nv);
fill(zz, p=pdef+gray(0.0));
zt=tvps(Nhc-off,trow, xd,yd,Nv);
@@ -751,9 +751,9 @@ void bottombw(int off, int Nhc, int trow, int brow,
}
/************************ bottom circle **************************************/
-void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
- pair ccenter, pair rclt, pair rcrt,
- pen pdef, real xd, real yd, int Nv) {
+void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
+ pair ccenter, pair rclt, pair rcrt,
+ pen pdef, real xd, real yd, int Nv) {
real cI=0.75;
real xl, yl, xr, yr, phil, phir;
pair ccleft, ccright;
@@ -767,7 +767,7 @@ void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
xr=Nhc+off-cx;
phir=acos(xr*xd/yd/crad);
- yr=crad*sin(phir);
+ yr=crad*sin(phir);
ccright=tvps(cx+xr,cy+yr, xd,yd,Nv);
//dot(ccright); dot(ccleft);
@@ -793,7 +793,7 @@ void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
/****************************** PAL ears ***********************************/
/* values pro mille
- * left y R G B
+ * left y R G B
* 550 306 674 550
* 500 363 500 859
* 500 637 500 141
@@ -804,12 +804,12 @@ void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad,
*
* in: dright= -1 left ear, +1 right ear
*/
-void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
- int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright,
- pen pdef, real xd, real yd, int Nv) {
- /* the amplitude of (u,v) as seen on a vectorscope,
+void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
+ int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright,
+ pen pdef, real xd, real yd, int Nv) {
+ /* the amplitude of (u,v) as seen on a vectorscope,
* max 0.296 Vn for 100% saturation in W and V ears.
- * cvbs: 0.7*( y +/- |u+jv| ) = -0.24 .. 0.93 V
+ * cvbs: 0.7*( y +/- |u+jv| ) = -0.24 .. 0.93 V
* maxima: ebu 75/0 bars 0.70, bbc 100/25 0.88, 100/0 bars 0.93
* burst: 0.150 Vcvbs, 21.4 IRE or 0.214 V normalized.
* luma: modulated for monochrome compatibility, 1990 version.
@@ -890,10 +890,10 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
ph= (u!=0 || v!=0) ? atan2(v,u) : 0.0;
if (v>=0) {
if (ph<0)
- ph=ph+pi;
+ ph=ph+pi;
} else {
if (ph>0)
- ph=ph-pi;
+ ph=ph-pi;
}
if (A>0) {
u=u/A*cI;
@@ -918,14 +918,14 @@ void palears(int[] coff, int[] coffa, int[] coffb, int Nhc,
/****************************** NTSC bars ***********************************/
/* amplitude equals color burst smpte (pm: -V +U)
- * y campl sat R G B
+ * y campl sat R G B
* left 0.5 0.21 70% -I?
* right 0.5 0.17 60% +Q?
*/
-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,
+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.
* burst: 0.143 Vcvbs, 20 IRE or 0.200 V normalized.
* pedestal: (yp,up,vp)=(p,0,0)+(1-p)*(y,u,v), p=0.075.
@@ -943,7 +943,7 @@ void ntscbars(int[] rccoll, int[] rccolr, int divsx,
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 rmaxi, dri, ind, ibase, lcol, rcol, i;
@@ -979,17 +979,17 @@ void ntscbars(int[] rccoll, int[] rccolr, int divsx,
B=By+cy;
if (verbose > 1)
write(ind, cy*1000, round(ci*1000), round(cq*1000),
- round(R*1000), round(G*1000), round(B*1000));
+ round(R*1000), round(G*1000), round(B*1000));
for (i=0; i<rmaxi; ++i) {
path zz;
int brow, trow, inext=i+1;
-
+
if (i>0) {
trow=rcrowb[i];
} else {
trow=floor((rcrowb[i]+rcrowt[inext])/2);
- }
+ }
if (inext<rmaxi) {
brow=rcrowt[inext];
@@ -1000,7 +1000,7 @@ void ntscbars(int[] rccoll, int[] rccolr, int divsx,
zz=tvrect(lcol,trow, rcol,brow, xd,yd,Nv);
fill(zz, p=pdef+rgb(R,G,B));
}
-
+
return;
}
@@ -1019,21 +1019,21 @@ int bsys=2, colortv=1, os=1;
* 0 4/3 704 guaranteed analog broadcast itu-r bt.470
* 1 4/3 720 new broadcast, most TV station logos and animations
* 2 15/11 720 total aperture analog 4/3, 1.37 film DVDs
- * 3 20/11 720 total aperture analog 16/9, 1.85 film DVDs
- * 4 4/3 768 bsys=0, square dot analog broadcast
+ * 3 20/11 720 total aperture analog 16/9, 1.85 film DVDs
+ * 4 4/3 768 bsys=0, square dot analog broadcast
* 5 4/3 768 bsys=1, square dot cable TV info channel
- * 6 131/96 786 bsys=2, total square dot broadcast camera
+ * 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 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:
* 0 monochrome crosshatch,
* 1 pal ears,
- * 2 ntsc bars,
+ * 2 ntsc bars,
* 3 neither ears nor bars.
*
* os: horizontal oversampling, typical values for 13.5MHz:
@@ -1068,9 +1068,9 @@ int[] bNsh=
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
/* active lines for a 625 line frame
- * The number of active video lines decreased around 1997.
+ * The number of active video lines decreased around 1997.
* old: 3 run in + 575 visible + 3 run out = 581 lines
- * new: 6 teletext and WSS + 575 visible
+ * new: 6 teletext and WSS + 575 visible
* Hence the image center shifted down by 3 lines. Thus
* old TV + new testcard = bottom is cut off,
* new TV + old testcard = top is cut off.
@@ -1083,7 +1083,7 @@ int[] bNsh=
* Nv=576 lines
* rd=ri*Nv/Nh=4/3*9/11=12/11
*
- * Nv: 480=2^5*3*5 576=2^6*3^2
+ * Nv: 480=2^5*3*5 576=2^6*3^2
* Nh: 704=2^6*11 720=2^4*3^2*5
*
* horizontal line distance for pre 1997 test pattern
@@ -1096,7 +1096,7 @@ int[] bNsh=
* x line width 230 ns -> 3 dots
* bottom 2.9us red -> 39.15 dots
*
- * resolution DPI from image aspect ratio
+ * resolution DPI from image aspect ratio
* Rv=Nv/ly, ly=4in
* ri=Ni/Di, Ni={ 4, 15, 16} Di={ 3, 11, 9}
* lx=ri*ly
@@ -1107,7 +1107,7 @@ int[] bNsh=
* Ni=15 ri=15/Di => Nh=k*60
* Ni=16 ri=16/Di => Nh=k*64
*
- * resolution DPI from dot aspect ratio, general algorithm,
+ * resolution DPI from dot aspect ratio, general algorithm,
*
* rd=Nd/Dd=ldx/ldy
*
@@ -1119,7 +1119,7 @@ int[] bNsh=
*
* ldx=1/(m*Dd), ldy=1/(m*Nd), Rh=m*Dd, Rv=m*Nd
*
- * and
+ * and
*
* lx=Nh*ldx=Nh/(m*Dd), ly=Nv*ldy=Nv/(m*Nd)
*
@@ -1154,8 +1154,8 @@ if (verbose > 1) {
//size(xsize, ysize, Aspect); // should not have any effect
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;
+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
Ttone=fs/250e3; // period of ft=250 kHz, fs/ft=54
@@ -1185,8 +1185,8 @@ if (verbose > 1) {
}
rmaxi=2*divsy+1;
-/* Nsyc: center square height
- * line pairing test: verify distance of center to top and bot
+/* Nsyc: center square height
+ * line pairing test: verify distance of center to top and bot
* distance is odd ==> top=even/odd, cent=odd/even, bot=even/odd
*
* Nsyc odd: not possible
@@ -1215,7 +1215,7 @@ if (Nsyc%2 != 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;
@@ -1228,7 +1228,7 @@ for (i=0; i<=divsy; ++i) {
}
rcrowc[iu]=Nvc-ou;
rcrowc[id]=Nvc-od;
-
+
ru=Nvc-(ou+Nyst);
rd=Nvc-(od+Nyst);
@@ -1253,7 +1253,7 @@ int divsx, Nhc, Nl, Nr, cmaxi;
lsq=Nsy*yd;
Nsx=lsq/xd; /* floating point */
-divsx=floor(((Nh-10*os)/Nsx-1)/2);
+divsx=floor(((Nh-10*os)/Nsx-1)/2);
Nhc=round(Nh/2);
rdistx=(1+2*divsx)*Nsx;
Nl=Nhc-round(rdistx/2);
@@ -1264,10 +1264,10 @@ cmaxi=2*divsx+1;
int[] coff, coffl, coffr;
int[] rccoll, rccolc, rccolr;
-for (i=0; i<=divsx; ++i) {
+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);
@@ -1277,7 +1277,7 @@ for (i=0; i<=divsx; ++i) {
coff[i]=off;
coffl[i]=offl;
coffr[i]=offr;
-
+
if (verbose > 1) {
write(cdist, off);
}
@@ -1290,7 +1290,7 @@ for (i=0; i<=divsx; ++i) {
rccoll[ir]=Nhc+offl;
rccolc[ir]=Nhc+off;
- rccolr[ir]=Nhc+offr;
+ rccolr[ir]=Nhc+offr;
}
Nl=rccolc[0];
Nr=Nh-rccolc[cmaxi];
@@ -1299,9 +1299,9 @@ if (verbose > 1) {
}
/**** draw gray background ****/
-{
+{
path zz;
-
+
//zz=tvrect(0,0, Nh,Nv, xd,yd,Nv);
/* keep white canvas for castellations */
zz=tvrect(rccoll[0],rcrowt[0], rccolr[cmaxi],rcrowb[rmaxi], xd,yd,Nv);
@@ -1355,16 +1355,16 @@ for (i=0; i<=rmaxi; ++i) {
/**** draw 2*divsx+2 vertical gridlines ****/
for (i=0; i<=cmaxi; ++i) {
path zzv;
- zzv=tvrect(rccoll[i],0, rccolr[i],Nv, xd,yd,Nv);
- fill(zzv, p=pwhite);
+ zzv=tvrect(rccoll[i],0, rccolr[i],Nv, xd,yd,Nv);
+ fill(zzv, p=pwhite);
}
/**** castellations ****/
castelhor(colortv, rccoll, rccolr, cmaxi, Nh, rcrowt[0], rcrowb[rmaxi],
- pdefault, xd, yd, Nv);
+ pdefault, xd, yd, Nv);
castelver(colortv, rccoll[0], rccolr[cmaxi], Nh, rcrowb, rcrowt, rmaxi,
- pdefault, xd, yd, Nv);
+ pdefault, xd, yd, Nv);
/****** markers for 4/3 aspect ratio ******/
if (rimage>4/3) {
@@ -1373,59 +1373,59 @@ if (rimage>4/3) {
/****** line pairing center ******/
centerline(colortv, rccoll, rccolc, rccolr, divsx, Nhc, os,
- rcrowt, rcrowc, rcrowb, divsy, Nvc,
- ccenter, rcoff, rcright, rcleft, pdefault, xd, yd, Nv);
+ rcrowt, rcrowc, rcrowb, divsy, Nvc,
+ ccenter, rcoff, rcright, rcleft, pdefault, xd, yd, Nv);
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],
- rcright[divsy-3], pdefault, xd, yd, Nv);
+ topbw(coff, Nhc, os, rcrowc[divsy-5], rcrowc[divsy-4], rcrowc[divsy-3],
+ ccenter, rcleft[divsy-4], rcleft[divsy-3], rcright[divsy-4],
+ rcright[divsy-3], pdefault, xd, yd, Nv);
/* 250 kHz */
- testtone(Ttone, rcrowc[divsy-3], rcrowc[divsy-2],
+ testtone(Ttone, rcrowc[divsy-3], rcrowc[divsy-2],
cx, cy, crad, pdefault, xd, yd, Nv);
- /* color bars */
- colorbars(coff, Nhc, rcrowc[divsy-2], rcrowc[divsy-1], rcrowc[divsy],
- ccenter, rcleft[divsy-2], rcleft[divsy], rcright[divsy-2],
- rcright[divsy], pdefault, xd, yd, Nv);
+ /* color bars */
+ colorbars(coff, Nhc, rcrowc[divsy-2], rcrowc[divsy-1], rcrowc[divsy],
+ ccenter, rcleft[divsy-2], rcleft[divsy], rcright[divsy-2],
+ rcright[divsy], pdefault, xd, yd, Nv);
/* test frequencies */
testfreqs(ftones, coff, Nhc, rcrowc[divsy+1], rcrowc[divsy+2],
- rcrowc[divsy+3], ccenter, rcleft[divsy+1], rcleft[divsy+3],
- rcright[divsy+1],rcright[divsy+3], pdefault, xd, yd, Nv);
+ rcrowc[divsy+3], ccenter, rcleft[divsy+1], rcleft[divsy+3],
+ rcright[divsy+1],rcright[divsy+3], pdefault, xd, yd, Nv);
/* gray bars */
graybars(coff, Nhc, rcrowc[divsy+3], rcrowc[divsy+4], ccenter,
- rcleft[divsy+3], rcleft[divsy+4],
- rcright[divsy+3], rcright[divsy+4], pdefault, xd,yd,Nv);
+ rcleft[divsy+3], rcleft[divsy+4],
+ rcright[divsy+3], rcright[divsy+4], pdefault, xd,yd,Nv);
/* PAL ears */
if (colortv == 1) {
- palears(coff,coffr,coffl, Nhc, rcrowt, rcrowb, Nvc, divsy, -1,
+ palears(coff,coffr,coffl, Nhc, rcrowt, rcrowb, Nvc, divsy, -1,
pdefault, xd, yd, Nv);
- palears(coff,coffr,coffl, 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(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -1,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -1,
pdefault, xd, yd, Nv);
- ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 1,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 1,
pdefault, xd, yd, Nv);
- ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -2,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, -2,
pdefault, xd, yd, Nv);
- ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 2,
+ ntscbars(rccoll, rccolr, divsx, rcrowt, rcrowb, divsy, 2,
pdefault, xd, yd, Nv);
}
/* bottom wh - black - wh */
- bottombw(round((coff[2]+coff[3])/2), Nhc, rcrowc[divsy+4], rcrowc[divsy+5],
- ccenter, rcleft[divsy+4], rcleft[divsy+5],
- rcright[divsy+4], rcright[divsy+5], pdefault, xd, yd, Nv);
+ bottombw(round((coff[2]+coff[3])/2), Nhc, rcrowc[divsy+4], rcrowc[divsy+5],
+ ccenter, rcleft[divsy+4], rcleft[divsy+5],
+ rcright[divsy+4], rcright[divsy+5], pdefault, xd, yd, Nv);
/* bottom yellow red circle */
- bottomcirc(coff[0], Nhc, rcrowc[divsy+5], cx, cy, crad,
- ccenter, rcleft[divsy+5], rcright[divsy+5], pdefault, xd, yd, Nv);
+ bottomcirc(coff[0], Nhc, rcrowc[divsy+5], cx, cy, crad,
+ ccenter, rcleft[divsy+5], rcright[divsy+5], pdefault, xd, yd, Nv);
}
/********************** set id *********************/
@@ -1466,10 +1466,10 @@ if (colortv>0) {
colNsy = round((rccolc[divsx+5]+rccolc[divsx+6])/2);
Npos = tvps(colNsy,rowNsy, xd,yd,Nv);
iNsy = format("%i", Nsy);
-
- if (colortv>0) {
+
+ if (colortv>0) {
pbw=pdefault+gray(1.0);
- } else {
+ } else {
pbw=pdefault+gray(0.0);
}
label(ires, rpos, p=pbw);
diff --git a/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy b/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy
index 9121ad6444d..ee25cd0bd3a 100644
--- a/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy
@@ -1,30 +1,30 @@
-import graph3;
-import palette;
-
-size(300,300,keepAspect=true);
-
+import graph3;
+import palette;
+
+size(300,300,keepAspect=true);
+
real w=0.4;
-real f(triple t) {return sin(t.x);}
+real f(triple t) {return sin(t.x);}
triple f1(pair t) {return (cos(t.x)-2cos(w*t.y),sin(t.x)-2sin(w*t.y),t.y);}
triple f2(pair t) {return (cos(t.x)+2cos(w*t.y),sin(t.x)+2sin(w*t.y),t.y);}
triple f3(pair t) {return (cos(t.x)+2sin(w*t.y),sin(t.x)-2cos(w*t.y),t.y);}
triple f4(pair t) {return (cos(t.x)-2sin(w*t.y),sin(t.x)+2cos(w*t.y),t.y);}
-surface s1=surface(f1,(0,0),(2pi,10),8,8,Spline);
-surface s2=surface(f2,(0,0),(2pi,10),8,8,Spline);
-surface s3=surface(f3,(0,0),(2pi,10),8,8,Spline);
-surface s4=surface(f4,(0,0),(2pi,10),8,8,Spline);
+surface s1=surface(f1,(0,0),(2pi,10),8,8,Spline);
+surface s2=surface(f2,(0,0),(2pi,10),8,8,Spline);
+surface s3=surface(f3,(0,0),(2pi,10),8,8,Spline);
+surface s4=surface(f4,(0,0),(2pi,10),8,8,Spline);
pen[] Rainbow=Rainbow();
-s1.colors(palette(s1.map(f),Rainbow));
-s2.colors(palette(s2.map(f),Rainbow));
-s3.colors(palette(s3.map(f),Rainbow));
-s4.colors(palette(s4.map(f),Rainbow));
+s1.colors(palette(s1.map(f),Rainbow));
+s2.colors(palette(s2.map(f),Rainbow));
+s3.colors(palette(s3.map(f),Rainbow));
+s4.colors(palette(s4.map(f),Rainbow));
defaultrender.merge=true;
-draw(s1);
+draw(s1);
draw(s2);
draw(s3);
draw(s4);
diff --git a/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy b/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy
index e84fdd537c3..967f1a6123d 100644
--- a/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy
@@ -1,35 +1,24 @@
import graph3;
-currentprojection=orthographic(5,4,2);
+currentprojection=orthographic(5,5,8);
size(0,150);
-patch s=octant1x;
-draw(surface(s),green+opacity(0.5));
-draw(s.external(),blue);
+patch s0=octant1.s[0];
+patch s1=octant1.s[1];
+draw(surface(s0),green+opacity(0.5));
+draw(surface(s1),green+opacity(0.5));
+draw(s0.external(),blue);
+draw(s1.external(),blue);
-triple[][] P=s.P;
+triple[][] P0=s0.P;
+triple[][] P1=s1.P;
for(int i=0; i < 4; ++i)
- dot(P[i],red);
+ dot(P0[i],red+0.75mm);
+
+for(int i=0; i < 4; ++i)
+ dot(P1[i],red+0.65mm);
axes3("$x$","$y$",Label("$z$",align=Z));
-triple P00=P[0][0];
-triple P10=P[1][0];
-triple P01=P[0][1];
-triple P02=P[0][2];
-triple P11=P[1][1];
-triple P12=P[1][2];
-triple Q11=XYplane(xypart(P11));
-triple Q12=XYplane(xypart(P12));
-
-draw(P11--Q11,dashed);
-draw(P12--Q12,dashed);
-draw(O--Q12--Q11--(Q11.x,0,0));
-draw(Q12--(Q12.x,0,0));
-
-label("$(1,0,0)$",P00,-2Y);
-label("$(1,a,0)$",P10,-Z);
-label("$(1,0,a)$",P01,-2Y);
-label("$(a,0,1)$",P02,Z+X-Y);
-label("$(1,a,a)$",P11,3X);
-label("$(a,a^2,1)$",P12,7X+Y);
+
+
diff --git a/Master/texmf-dist/doc/asymptote/examples/unitoctantx.asy b/Master/texmf-dist/doc/asymptote/examples/unitoctantx.asy
new file mode 100644
index 00000000000..e84fdd537c3
--- /dev/null
+++ b/Master/texmf-dist/doc/asymptote/examples/unitoctantx.asy
@@ -0,0 +1,35 @@
+import graph3;
+
+currentprojection=orthographic(5,4,2);
+
+size(0,150);
+patch s=octant1x;
+draw(surface(s),green+opacity(0.5));
+draw(s.external(),blue);
+
+triple[][] P=s.P;
+
+for(int i=0; i < 4; ++i)
+ dot(P[i],red);
+
+axes3("$x$","$y$",Label("$z$",align=Z));
+triple P00=P[0][0];
+triple P10=P[1][0];
+triple P01=P[0][1];
+triple P02=P[0][2];
+triple P11=P[1][1];
+triple P12=P[1][2];
+triple Q11=XYplane(xypart(P11));
+triple Q12=XYplane(xypart(P12));
+
+draw(P11--Q11,dashed);
+draw(P12--Q12,dashed);
+draw(O--Q12--Q11--(Q11.x,0,0));
+draw(Q12--(Q12.x,0,0));
+
+label("$(1,0,0)$",P00,-2Y);
+label("$(1,a,0)$",P10,-Z);
+label("$(1,0,a)$",P01,-2Y);
+label("$(a,0,1)$",P02,Z+X-Y);
+label("$(1,a,a)$",P11,3X);
+label("$(a,a^2,1)$",P12,7X+Y);
diff --git a/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy b/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy
index 4a35e09559b..00baab085e6 100644
--- a/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy
@@ -14,7 +14,7 @@ draw(surface(shift(Z)*unitsquare3,
new pen[] {red,green+opacity(0.5),blue,black}),
prc() ? nolight : currentlight);
draw(surface(shift(X)*((0,0,0)..controls (1,0,0) and (2,0,0)..(3,0,0)..
- controls (2.5,sqrt(3)/2,0) and (2,sqrt(3),0)..
- (1.5,3*sqrt(3)/2,0)..
- controls (1,sqrt(3),0) and (0.5,sqrt(3)/2,0)..cycle),
+ controls (2.5,sqrt(3)/2,0) and (2,sqrt(3),0)..
+ (1.5,3*sqrt(3)/2,0)..
+ controls (1,sqrt(3),0) and (0.5,sqrt(3)/2,0)..cycle),
new triple[] {(1.5,sqrt(3)/2,2)},new pen[] {red,green,blue}));
diff --git a/Master/texmf-dist/doc/asymptote/examples/worldmap.asy b/Master/texmf-dist/doc/asymptote/examples/worldmap.asy
index 23a80c69be6..4d03587b31e 100644
--- a/Master/texmf-dist/doc/asymptote/examples/worldmap.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/worldmap.asy
@@ -3,7 +3,7 @@ size(20cm);
// The required data file is available here:
// http://www.uni-graz.at/~schwaige/asymptote/worldmap.dat
// This data was originally obtained from
-// http://www.ngdc.noaa.gov/mgg_coastline/mapit.jsp
+// http://www.ngdc.noaa.gov/mgg_coastline/mapit.jsp
real findtheta(real phi, real epsilon=realEpsilon) {
// Determine for given phi the unique solution -pi/2 <= theta <= pi/2 off
@@ -23,12 +23,12 @@ real findtheta(real phi, real epsilon=realEpsilon) {
pair mollweide(real lambda, real phi, real lambda0=0){
// calculate the Mollweide projection centered at lambda0 for the point
- // with coordinates(phi,lambda)
+ // with coordinates(phi,lambda)
static real c1=2*sqrt(2)/pi;
static real c2=sqrt(2);
real theta=findtheta(phi);
return(c1*(lambda-lambda0)*cos(theta), c2*sin(theta));
-}
+}
guide gfrompairs(pair[] data){
guide gtmp;
@@ -54,7 +54,7 @@ while(true) {
if(spstr[0] == "#") {++cnt; arrarrpair[cnt]=new pair[] ; newseg=true;}
if(spstr[0] != "#" && newseg) {
string[] spstr1=split(str,'\t'); // separator is TAB not SPACE
- pair tmp=((real) spstr1[1],(real) spstr1[0]);
+ pair tmp=((real) spstr1[1],(real) spstr1[0]);
arrarrpair[cnt].push(tmp);
}
}
@@ -78,7 +78,7 @@ pair[] constlat(real phi, int np=100) {
for(int j=1; j <= 5; ++j) draw(gfrompairs(constlong(-180+j/6*360)),white);
draw(gfrompairs(constlong(-180)),1.5bp+white);
draw(gfrompairs(constlong(180)),1.5bp+white);
-for(int j=0; j <= 12; ++j) draw(gfrompairs(constlat(-90+j/6*180)),white);
+for(int j=0; j <= 12; ++j) draw(gfrompairs(constlat(-90+j/6*180)),white);
//draw(gfrompairs(constlong(10)),dotted);
close(in);
diff --git a/Master/texmf-dist/doc/asymptote/examples/xstitch.asy b/Master/texmf-dist/doc/asymptote/examples/xstitch.asy
index 5f332881733..b2300ee9ea4 100644
--- a/Master/texmf-dist/doc/asymptote/examples/xstitch.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/xstitch.asy
@@ -42,22 +42,22 @@ write(histogram);
pen linepen(int i, int max) {
- real w=i == -1 || i == max+1 ? 2.0 :
- i % 10 == 0 || i == max ? 1.0 :
- i % 5 == 0 ? 0.8 :
+ real w=i == -1 || i == max+1 ? 2.0 :
+ i % 10 == 0 || i == max ? 1.0 :
+ i % 5 == 0 ? 0.8 :
0.25;
return linewidth(w);
}
pen xpen(int i) {
- return linepen(i,width)+(i == width/2 ? red :
- i == 75 || i == width-75 ? dashed :
+ return linepen(i,width)+(i == width/2 ? red :
+ i == 75 || i == width-75 ? dashed :
black);
}
pen ypen(int i) {
- return linepen(i,height)+(i == height/2 ? red :
- i == 75 || i == height-75 ? dashed :
+ return linepen(i,height)+(i == height/2 ? red :
+ i == 75 || i == height-75 ? dashed :
black);
}
diff --git a/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy b/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy
index 6d645a49664..eac387247ed 100644
--- a/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy
@@ -28,8 +28,8 @@ xaxis3(Label("$x$",1),Arrow3);
yaxis3(Label("$y$",1),Arrow3);
dot(Label("$(1,1)$"),(1,1,0));
dot(Label("$(-1,1)$"),(-1,1,0),W);
-arrow("$y=x^{2}$",F3(0.7),X,1cm,red);
-arrow("$y=x$",(0.3,0.3,0),X,1.5cm,red);
+arrow("$y=x^{2}$",F3(0.7),X,1cm,red);
+arrow("$y=x$",(0.3,0.3,0),X,1.5cm,red);
draw(circle((-1,1,0),2,Y),dashed);
draw((-1,1,0)--(1,1,0),dashed);
draw(shift(-X)*arc(0.02Y,0.3,90,0,0,0,CW),Arrow3);
diff --git a/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy b/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy
index 770f4fc22cf..9424a1b47dc 100644
--- a/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy
@@ -25,8 +25,8 @@ xaxis3(Label("$x$",1),Arrow3);
yaxis3(Label("$y$",1),ymax=1.25,dashed,Arrow3);
dot("$(1,1)$",(1,1,0),X);
-arrow("$y=x^{2}$",F3(0.7),X,0.75cm,red);
-arrow("$y=x$",(0.8,0.8,0),Y,1cm,red);
+arrow("$y=x^{2}$",F3(0.7),X,0.75cm,red);
+arrow("$y=x$",(0.8,0.8,0),Y,1cm,red);
real r=0.4;
draw((r,f(r),0)--(r,r,0),red);
diff --git a/Master/texmf-dist/doc/asymptote/examples/yingyang.asy b/Master/texmf-dist/doc/asymptote/examples/yingyang.asy
index 68b0d0eea74..10a08ec98d8 100644
--- a/Master/texmf-dist/doc/asymptote/examples/yingyang.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/yingyang.asy
@@ -1,5 +1,5 @@
size(0,25cm);
-guide center=(0,1){W}..tension 0.8..(0,0){(1,-.5)}..tension 0.8..{W}(0,-1);
+guide center=(0,1){W}..tension 0.8..(0,0){(1,-.5)}..tension 0.8..{W}(0,-1);
draw((0,1)..(-1,0)..(0,-1));
filldraw(center{E}..{N}(1,0)..{W}cycle);
diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info
index 94a02e1e38a..dc69d1917e7 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
- 25 Mar 2020
+ 2021-02-19
This is the list of Frequently Asked Questions about Asymptote (asy).
@@ -223,7 +223,7 @@ Question 1.2. How do I obtain Asymptote?
Binary releases are available for Linux, MacOS X, and Microsoft Windows
platforms, in addition to full source code, from the website
-http://asymptote.sourceforge.net/. Many Linux distributions (such as
+https://asymptote.sourceforge.io/. Many Linux distributions (such as
RedHat and Debian) now include an Asymptote package (check your
distribution's documentation for further information about this).
@@ -234,7 +234,7 @@ Question 1.3. Where can I ask questions about Asymptote?
If you have a question, please try to find an answer in this FAQ, in the
extensive Asymptote documentation at
-http://asymptote.sourceforge.net/doc/, or search the forum:
+https://asymptote.sourceforge.io/doc/, or search the forum:
http://sourceforge.net/forum/forum.php?forum_id=409349.

@@ -316,7 +316,7 @@ File: asy-faq.info, Node: Question 2.3, Next: Question 2.4, Previous: Question 2
Question 2.3. What do I do if I get the error: Error: pdfetex (file pdftex.cfg): cannot open config file...texinfo.tex appears to be broken?
-Simply put http://asymptote.sourceforge.net/asymptote.pdf in the directory
+Simply put https://asymptote.sourceforge.io/asymptote.pdf in the directory
doc and repeat the command make all. Or, if you don't want to build a
local copy of the documentation, simply proceed with make install-asy.
@@ -340,7 +340,7 @@ detailed guide on the topic. You can download it from
http://dario.dse.nl/projects/asylatex/.
Philippe Ivaldi has contributed an Asymptote mode for Emacs users
-http://asymptote.sourceforge.net/doc/Editing-modes.html, which includes a
+https://asymptote.sourceforge.io/doc/Editing-modes.html, which includes a
lasy-mode that allows one to compile and view the output of one
\begin{asy}...\end{asy} section at a time.
@@ -541,7 +541,7 @@ File: asy-faq.info, Node: Question 4.4, Next: Question 4.5, Previous: Question 4
Question 4.4. How can I use international fonts in Asymptote labels?
-See http://asymptote.sourceforge.net/doc/unicode.html.
+See https://asymptote.sourceforge.io/doc/Pens.html.

File: asy-faq.info, Node: Question 4.5, Next: Question 4.6, Previous: Question 4.4, Up: Section 4
@@ -586,8 +586,8 @@ Question 4.9. How can I draw some squares and circles of a fixed size and put a
Fixed-size objects should be drawn on a separate picture and then added to
currentpicture. Here is one way (see also
-http://asymptote.sourceforge.net/gallery/subpictures.asy and
-http://asymptote.sourceforge.net/gallery/mosquito.asy):
+https://asymptote.sourceforge.io/gallery/subpictures.asy and
+https://asymptote.sourceforge.io/gallery/mosquito.asy):
real u=2cm;
@@ -904,7 +904,7 @@ label. Other possible overwrite arguments are Allow (allows overlapping
labels; the default), Suppress (an overlapping label will not be written
at all), SuppressQuiet, and MoveQuiet. The last two achieve the same
result as the non-quiet types, but will not notify you which labels are
-overlapping. See: http://asymptote.sourceforge.net/doc/Pens.html.
+overlapping. See: https://asymptote.sourceforge.io/doc/Pens.html.
In the case of a user-specified tick array, you can change which labels
get suppressed/moved by changing the order of array entries.
@@ -948,7 +948,7 @@ corner. You can use this option to ensure multiple figures have the same
scaling and same resulting figure size (just ensure the two coordinates
given to fixedscaling() leaves room for any labels).
-See also http://asymptote.sourceforge.net/doc/Frames-and-pictures.html.
+See also https://asymptote.sourceforge.io/doc/Frames-and-pictures.html.

File: asy-faq.info, Node: Question 6.9, Next: Question 6.10, Previous: Question 6.8, Up: Section 6
@@ -966,7 +966,7 @@ limits((0,0),(1,2),Crop);
xaxis("$x$",BottomTop,LeftTicks);
yaxis("$y$",LeftRight,RightTicks);
-See also http://asymptote.sourceforge.net/doc/graph.html.
+See also https://asymptote.sourceforge.io/doc/graph.html.

File: asy-faq.info, Node: Question 6.10, Next: Question 6.11, Previous: Question 6.9, Up: Section 6
@@ -1051,7 +1051,7 @@ File: asy-faq.info, Node: Question 6.13, Next: Question 6.14, Previous: Question
Question 6.13. How can I make the y axis display base-2 logarithmic values?
-See the example http://asymptote.sourceforge.net/gallery/2D
+See the example https://asymptote.sourceforge.io/gallery/2D
graphs/log2graph.asy.

@@ -1061,7 +1061,7 @@ Question 6.14. How can I align the x axes of two graphs on the same figure?
An easy way to do this, if the axes to be aligned have the same scaling
and size, is illustrated in the example
-http://asymptote.sourceforge.net/gallery/2D graphs/alignedaxis.asy.
+https://asymptote.sourceforge.io/gallery/2D graphs/alignedaxis.asy.
Here is a more general solution to the problem of aligning two arbitrary
axes. One fits the second picture to a frame based on the horizontal
@@ -1125,7 +1125,7 @@ File: asy-faq.info, Node: Question 6.15, Next: Question 6.16, Previous: Question
Question 6.15. How can I change the direction of the y-axis, such that negatives values are on the upper y-axis?
Here is a simple example (see also the example
-http://asymptote.sourceforge.net/gallery/2D graphs/diatom.asy or the
+https://asymptote.sourceforge.io/gallery/2D graphs/diatom.asy or the
discussion of Linear(-1) in the documentation):
import graph;
@@ -1159,7 +1159,7 @@ Yes, use the parametric form
y=t
x=(t-2)^2+1
-See the example http://asymptote.sourceforge.net/gallery/2D
+See the example https://asymptote.sourceforge.io/gallery/2D
graphs/parametricgraph.asy.

@@ -1382,7 +1382,7 @@ Question 7.8. Is there a debugger for asy?
Yes, Asymptote includes a line-based debugger:
-http://asymptote.sourceforge.net/doc/Debugger.html
+https://asymptote.sourceforge.io/doc/Debugger.html

File: asy-faq.info, Node: Question 7.9, Next: Question 8.1, Previous: Question 7.8, Up: Section 7
@@ -1441,7 +1441,7 @@ pictures and distinguishes between true-size objects and objects that
should scale with the picture size. The resulting linear programming
problem is solved via the Simplex method.
-See the http://asymptote.sourceforge.net/gallery/dimension.asy example for
+See the https://asymptote.sourceforge.io/gallery/dimension.asy example for
an example of how deferred drawing is used to accomodate both user and
true-size (PostScript) coordinates.
@@ -1495,7 +1495,7 @@ PQ and pq. We find using routines like extension more explicit and less
confusing to new users. But we could be persuaded to add something similar
if someone can justify the need. In the meantime, one can always use the
explicit built-in linear solver solve (see
-http://asymptote.sourceforge.net/doc/solve.html), which uses LU
+https://asymptote.sourceforge.io/doc/solve.html), which uses LU
decomposition.

@@ -1578,7 +1578,7 @@ void clip(picture pic=currentpicture, real width, real height)
clip(100,100);
See also the discussion of tilings in the documentation:
-http://asymptote.sourceforge.net/doc/Pens.html.
+https://asymptote.sourceforge.io/doc/Pens.html.

File: asy-faq.info, Node: Section 9, Previous: Section 8, Up: Top
@@ -1612,7 +1612,7 @@ import settings;
interactiveView=false;
batchView=false;
in their config.asy file. See
-http://asymptote.sourceforge.net/doc/Options.html.
+https://asymptote.sourceforge.io/doc/Options.html.

File: asy-faq.info, Node: Question 9.2, Next: Question 9.3, Previous: Question 9.1, Up: Section 9
@@ -1631,8 +1631,8 @@ Convert them to eps format and use the graphic(string) function just like
a Label:
label(graphic("file"),(0,0));
-See the example http://asymptote.sourceforge.net/gallery/orthocenter.asy
-and http://asymptote.sourceforge.net/doc/label.html.
+See the example https://asymptote.sourceforge.io/gallery/orthocenter.asy
+and https://asymptote.sourceforge.io/doc/label.html.

File: asy-faq.info, Node: Question 9.4, Next: Question 9.5, Previous: Question 9.3, Up: Section 9
diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info
index a1ca6774244..042d9085414 100644
--- a/Master/texmf-dist/doc/info/asymptote.info
+++ b/Master/texmf-dist/doc/info/asymptote.info
@@ -1,11 +1,11 @@
This is asymptote.info, produced by makeinfo version 6.6 from
asymptote.texi.
-This file documents 'Asymptote', version 2.65.
+This file documents 'Asymptote', version 2.69.
<https://asymptote.sourceforge.io>
- Copyright (C) 2004-19 Andy Hammerlindl, John Bowman, and Tom Prince.
+ Copyright (C) 2004-20 Andy Hammerlindl, John Bowman, and Tom Prince.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License
@@ -22,11 +22,11 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
Asymptote
*********
-This file documents 'Asymptote', version 2.65.
+This file documents 'Asymptote', version 2.69.
<https://asymptote.sourceforge.io>
- Copyright (C) 2004-19 Andy Hammerlindl, John Bowman, and Tom Prince.
+ Copyright (C) 2004-20 Andy Hammerlindl, John Bowman, and Tom Prince.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License
@@ -126,6 +126,7 @@ Base modules
* stats:: Statistics routines and histograms
* patterns:: Custom fill and draw patterns
* markers:: Custom path marker routines
+* map:: Map keys to values
* tree:: Dynamic binary search tree
* binarytree:: Binary tree drawing module
* drawtree:: Tree drawing module
@@ -136,8 +137,6 @@ Base modules
* embed:: Embedding movies, sounds, and 3D objects
* slide:: Making presentations with 'Asymptote'
* MetaPost:: 'MetaPost' compatibility routines
-* unicode:: Accept 'unicode' (UTF-8) characters
-* latin1:: Accept 'ISO 8859-1' characters
* babel:: Interface to 'LaTeX' 'babel' package
* labelpath:: Drawing curved labels
* labelpath3:: Drawing curved labels in 3D
@@ -175,8 +174,12 @@ provides a mathematical coordinate-based framework for technical
drawing. Labels and equations are typeset with 'LaTeX', for overall
document consistency, yielding the same high-quality level of
typesetting that 'LaTeX' provides for scientific text. By default it
-produces 'PostScript' output, but it can also generate any format that
-the 'ImageMagick' package can produce.
+produces 'PostScript' output, but it can also generate 'PDF', 'SVG',
+'WebGL', 'PRC', and any format that the 'ImageMagick' package can
+produce. You can even try it out in your Web browser without installing
+it, using the 'Asymptote Web Application':
+
+ <http://asymptote.ualberta.ca>
A major advantage of 'Asymptote' over other graphics packages is that
it is a high-level programming language, as opposed to just a graphics
@@ -292,8 +295,8 @@ The 'texhash' command, which installs LaTeX style files, is optional.
The executable file will be '/usr/local/bin/asy') and example code will
be installed by default in '/usr/local/share/doc/asymptote/examples'.
-Fedora users can easily install the most recent version of 'Asymptote'
-with the command
+Fedora users can easily install a recent version of 'Asymptote' with the
+command
dnf --enablerepo=rawhide install asymptote
To install the latest version of 'Asymptote' on a Debian-based
@@ -332,7 +335,7 @@ self-extracting 'Asymptote' executable 'asymptote-x.xx-setup.exe', where
A working TeX implementation (we recommend
<https://www.tug.org/texlive> or <http://www.miktex.org>) will be
required to typeset labels. You will also need to install 'GPL
-Ghostscript' version 9.14 or later from
+Ghostscript' version 9.52 or later from
<http://downloads.ghostscript.com/public>.
To view 'PostScript' output, you can install the program 'gsview'
@@ -365,7 +368,7 @@ file is updated. The default 'UNIX' 'PostScript' viewer 'gv' supports
this (via a 'SIGHUP' signal). Version 'gv-3.6.3' or later (from
<https://ftp.gnu.org/gnu/gv/>) is required for interactive mode to work
properly. Users of 'ggv' will need to enable 'Watch file' under
-'Edit/Postscript Viewer Preferences'. Users of 'gsview' will need to
+'Edit/PostScript Viewer Preferences'. Users of 'gsview' will need to
enable 'Options/Auto Redisplay' (however, under 'MSDOS' it is still
necessary to click on the 'gsview' window; under 'UNIX' one must
manually redisplay by pressing the 'r' key).
@@ -397,7 +400,9 @@ The configuration variable 'htmlviewer' specifies the browser to use to
display 3D 'WebGL' output. The default setting is 'google-chrome' under
'UNIX' and 'cmd' under 'Microsoft Windows'. Note that 'Internet
Explorer' does not support 'WebGL'; 'Microsoft Windows' users should set
-their default html browser to 'chrome' or 'microsoft-edge'.
+their default html browser to 'chrome' or 'microsoft-edge'. By default,
+2D and 3D 'HTML' images expand to the enclosing canvas; this can be
+disabled by setting the configuation variable 'absolute' to 'true'.
On 'UNIX' systems, to support automatic document reloading of 'PDF'
files in 'Adobe Reader', we recommend copying the file 'reload.js' from
@@ -462,8 +467,8 @@ File: asymptote.info, Node: Search paths, Next: Compiling from UNIX source, P
2.5 Search paths
================
-In looking for 'Asymptote' system files, 'asy' will search the following
-paths, in the order listed:
+In looking for 'Asymptote' files, 'asy' will search the following paths,
+in the order listed:
1. The current directory;
2. A list of one or more directories specified by the configuration
variable 'dir' or environment variable 'ASYMPTOTE_DIR' (separated
@@ -475,6 +480,9 @@ paths, in the order listed:
4. The 'Asymptote' system directory (by default,
'/usr/local/share/asymptote' under 'UNIX' and 'C:\Program
Files\Asymptote' under 'MSDOS').
+ 5. The 'Asymptote' examples directory (by default,
+ '/usr/local/share/doc/asymptote/examples' under 'UNIX' and
+ 'C:\Program Files\Asymptote\examples' under 'MSDOS').

File: asymptote.info, Node: Compiling from UNIX source, Next: Editing modes, Prev: Search paths, Up: Installation
@@ -498,18 +506,16 @@ used; if it is old we recommend first putting
in the 'Asymptote' source directory.
On 'UNIX' platforms (other than 'MacOS X'), we recommend using
-version '3.0.0' of the 'freeglut' library. To compile 'freeglut',
+version '3.2.1' of the 'freeglut' library. To compile 'freeglut',
download
- <https://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz>
+ <https://prdownloads.sourceforge.net/freeglut/freeglut-3.2.1.tar.gz>
and type (as the root user):
-gunzip freeglut-3.0.0.tar.gz
-tar -xf freeglut-3.0.0.tar
-cd freeglut-3.0.0
-./configure --prefix=/usr
-cmake .
+gunzip freeglut-3.2.1.tar.gz
+tar -xf freeglut-3.2.1.tar
+cd freeglut-3.2.1
+cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fcommon .
make
make install
-cd ..
Then compile 'Asymptote' with the commands
./configure
@@ -528,9 +534,10 @@ done as the root user. To install without root privileges, change the
./configure --prefix=$HOME/asymptote
One can disable use of the Boehm garbage collector by configuring
with './configure --disable-gc'. For a list of other configuration
-options, say './configure --help'. For example, one can tell configure
-to look for header files and libraries in nonstandard locations:
-./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
+options, say './configure --help'. For example, under 'MacOS X', one
+can tell configure to use the 'clang' compilers and look for header
+files and libraries in nonstandard locations:
+./configure CC=clang CXX=clang++ CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
If you are compiling 'Asymptote' with 'gcc', you will need a
relatively recent version (e.g. 3.4.4 or later). For full interactive
@@ -618,7 +625,10 @@ cd asymptote
make all
make install
-To compile without optimization, use the command 'make CFLAGS=-g'.
+To compile without optimization, use the command 'make CFLAGS=-g'. On
+'Ubuntu' systems, you may need to first install the required
+dependencies:
+apt-get build-dep asymptote

File: asymptote.info, Node: Uninstall, Prev: Git, Up: Installation
@@ -652,7 +662,7 @@ A concise introduction to 'Asymptote' is given here. For a more
thorough introduction, see the excellent 'Asymptote' tutorial written by
Charles Staats:
- <https://math.uchicago.edu/~cstaats/Charles_Staats_III/Notes_and_papers_files/asymptote_tutorial.pdf>
+ <https://asymptote.sourceforge.io/asymptote_tutorial.pdf>
Another 'Asymptote' tutorial is available as a wiki, with images
rendered by an online Asymptote engine:
@@ -798,7 +808,7 @@ the initial node, as in this approximation (accurate to within 0.06%) of
a unit circle:
path unitcircle=E..N..W..S..cycle;
-An 'Asymptote' path, being connected, is equivalent to a 'Postscript
+An 'Asymptote' path, being connected, is equivalent to a 'PostScript
subpath'. The '^^' binary operator, which requests that the pen be
moved (without drawing or affecting endpoint curvatures) from the final
point of the left-hand path to the initial point of the right-hand path,
@@ -820,8 +830,8 @@ of the paths:
filldraw(unitcircle^^reverse(g),yellow,black);
The '^^' operator is used by the 'box(triple, triple)' function in
-the module 'three.asy' to construct the edges of a cube 'unitbox'
-without retracing steps (*note three::):
+the module 'three' to construct the edges of a cube 'unitbox' without
+retracing steps (*note three::):
import three;
currentprojection=orthographic(5,4,2,center=true);
@@ -873,6 +883,9 @@ layer appearing on top. Within each layer, labels, images, and verbatim
'tex' commands are always drawn after the 'PostScript' objects in that
layer.
+ A page break can be generated with the command
+void newpage(picture pic=currentpicture);
+
While some of these drawing commands take many options, they all have
sensible default values (for example, the picture argument defaults to
currentpicture).
@@ -930,18 +943,19 @@ equivalently 'ArcArrow'), 'MidArcArrow', and 'ArcArrows'.
'labelmargin(p)' to avoid overlap with other drawn objects. Typical
values of 'margin' are 'NoMargin', 'BeginMargin', 'EndMargin' (or
equivalently 'Margin'), and 'Margins' (which leaves a margin at both
-ends of the path). One may use 'Margin(real begin, real end)' to
+ends of the path). One may use 'Margin(real begin, real end=begin)' to
specify the size of the beginning and ending margin, respectively, in
multiples of the units 'labelmargin(p)' used for aligning labels.
Alternatively, 'BeginPenMargin', 'EndPenMargin' (or equivalently
-'PenMargin'), 'PenMargins', 'PenMargin(real begin, real end)' specify a
-margin in units of the pen line width, taking account of the pen line
-width when drawing the path or arrow. For example, use 'DotMargin', an
-abbreviation for 'PenMargin(-0.5*dotfactor,0.5*dotfactor)', to draw from
-the usual beginning point just up to the boundary of an end dot of width
+'PenMargin'), 'PenMargins', 'PenMargin(real begin, real end=begin)'
+specify a margin in units of the pen line width, taking account of the
+pen line width when drawing the path or arrow. For example, use
+'DotMargin', an abbreviation for
+'PenMargin(-0.5*dotfactor,0.5*dotfactor)', to draw from the usual
+beginning point just up to the boundary of an end dot of width
'dotfactor*linewidth(p)'. The qualifiers 'BeginDotMargin',
'EndDotMargin', and 'DotMargins' work similarly. The qualifier
-'TrueMargin(real begin, real end)' allows one to specify a margin
+'TrueMargin(real begin, real end=begin)' allows one to specify a margin
directly in 'PostScript' units, independent of the pen line width.
The use of arrows, bars, and margins is illustrated by the examples
@@ -1051,7 +1065,8 @@ void axialshade(picture pic=currentpicture, path g, bool stroke=false,
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'.
+shading should extend beyond the axis endpoints 'a' and 'b'. An example
+of axial shading is provided in the example file 'axialshade.asy'.
Radial gradient shading varying smoothly from 'pena' on the circle
with center 'a' and radius 'ra' to 'penb' on the circle with center 'b'
@@ -1079,10 +1094,10 @@ Illustrations of Gouraud shading are provided in the example file
here:
<https://www.adobe.com/content/dam/acom/en/devnet/postscript/pdfs/TN5600.SmoothShading.pdf>
- Tensor product shading using fill rule 'fillrule' on patches bounded
-by the n cyclic paths of length 4 in path array 'b', using the vertex
-colors specified in the n \times 4 pen array 'p' and internal control
-points in the n \times 4 array 'z', is implemented with
+ Tensor product shading using clipping path 'g', fill rule 'fillrule'
+on patches bounded by the n cyclic paths of length 4 in path array 'b',
+using the vertex colors specified in the n \times 4 pen array 'p' and
+internal control points in the n \times 4 array 'z', is implemented with
void tensorshade(picture pic=currentpicture, path[] g, bool stroke=false,
pen fillrule=currentpen, pen[][] p, path[] b=g,
pair[][] z=new pair[][]);
@@ -1129,8 +1144,10 @@ void clip(picture pic=currentpicture, path g, stroke=false,
the path 'g', using fill rule 'fillrule' (*note fillrule::). If
'stroke=true', the clipped portion is the same as the region that would
be drawn with 'draw(pic,g,zerowinding)'; in this case the path 'g' need
-not be cyclic. For an illustration of picture clipping, see the first
-example in *note LaTeX usage::.
+not be cyclic. While clipping has no notion of depth (it transcends
+layers and even pages), one can localize clipping to a temporary
+picture, which can then be added to 'pic'. For an illustration of
+picture clipping, see the first example in *note LaTeX usage::.

File: asymptote.info, Node: label, Prev: clip, Up: Drawing commands
@@ -1260,12 +1277,12 @@ asy(nativeformat(),"logo");
fill(unitcircle^^(scale(2/11.7)*unitcircle),
evenodd+rgb(124/255,205/255,124/255));
label(scale(1.1)*minipage(
-"\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\
+ "\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\
\smallskip
\small The Vector Graphics Language}\\
\smallskip
\textsc{Andy Hammerlindl, John Bowman, and Tom Prince}
-http://asymptote.sourceforge.net\\
+https://asymptote.sourceforge.io\\
",8cm),(0,0.6));
label(graphic("logo","height=7cm"),(0,-0.22));
clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd);
@@ -1484,12 +1501,12 @@ user-defined types):
returns the conjugate of 'z';
'real length(pair z)'
- returns the complex modulus '|z|' of its argument 'z'. For
+ returns the complex modulus |'z'| of its argument 'z'. For
example,
pair z=(3,4);
length(z);
returns the result 5. A synonym for 'length(pair)' is
- 'abs(pair)';
+ 'abs(pair)'. The function 'abs2(pair z)' returns |'z'|^2;
'real angle(pair z, bool warn=true)'
returns the angle of 'z' in radians in the interval
@@ -1563,8 +1580,9 @@ user-defined types):
Here are the built-in functions for triples:
'real length(triple v)'
- returns the length '|v|' of the vector 'v'. A synonym for
- 'length(triple)' is 'abs(triple)';
+ returns the length |'v'| of its argument 'v'. A synonym for
+ 'length(triple)' is 'abs(triple)'. The function 'abs2(triple
+ v)' returns |'v'|^2;
'real polar(triple v, bool warn=true)'
returns the colatitude of 'v' measured from the z axis in
@@ -2419,7 +2437,7 @@ with one or more color components equal to 1.
'defaultpen(pen)', causes the label alignment routines to use the
full label bounding box for alignment. In contrast, 'basealign'
requests that the TeX baseline be respected. The base align
- setting of a pen is returned by 'int basealigin(pen p=currentpen)'.
+ setting of a pen is returned by 'int basealign(pen p=currentpen)'.
* The font size is specified in TeX points (1 pt = 1/72.27 inches)
with the function 'pen fontsize(real size, real
@@ -2435,14 +2453,12 @@ with one or more color components equal to 1.
fontsize(pen p=currentpen)' and 'real lineskip(pen p=currentpen)',
respectively.
- * A pen using a specific 'LaTeX' 'NFSS' font is returned by calling
- the function 'pen font(string encoding, string family, string
- series, string shape)'. The default setting,
- 'font("OT1","cmr","m","n")', corresponds to 12pt Computer Modern
- Roman; this may be changed with 'defaultpen(pen)'. The font
- setting of a pen is returned by 'string font(pen p=currentpen)'.
- Support for standardized international characters is provided by
- the 'unicode' package (*note unicode::).
+ * A pen using a specific LaTeX NFSS font is returned by calling the
+ function 'pen font(string encoding, string family, string series,
+ string shape)'. The default setting, 'font("OT1","cmr","m","n")',
+ corresponds to 12pt Computer Modern Roman; this may be changed with
+ 'defaultpen(pen)'. The font setting of a pen is returned by
+ 'string font(pen p=currentpen)'.
Alternatively, one may select a fixed-size TeX font (on which
'fontsize' has no effect) like '"cmr12"' (12pt Computer Modern
@@ -2466,6 +2482,25 @@ with one or more color components equal to 1.
pen Symbol(string series="m", string shape="n");
pen ZapfDingbats(string series="m", string shape="n");
+ * Starting with the 2018/04/01 release, LaTeX takes UTF-8 as the new
+ default input encoding. However, you can still set different input
+ encoding (so as the font, font encoding or even language context).
+ Here is an example for 'cp1251' and Russian language in Cyrillic
+ script (font encoding 'T2A'):
+ texpreamble("\usepackage[math]{anttor}");
+ texpreamble("\usepackage[T2A]{fontenc}");
+ texpreamble("\usepackage[cp1251]{inputenc}");
+ texpreamble("\usepackage[russian]{babel}");
+ Support for Chinese, Japanese, and Korean fonts is provided by the
+ CJK package:
+ <https://ctan.org/pkg/cjk>
+ The following commands enable the CJK song family (within a label,
+ you can also temporarily switch to another family, say kai, by
+ prepending '"\CJKfamily{kai}"' to the label string):
+ texpreamble("\usepackage{CJK}
+ \AtBeginDocument{\begin{CJK*}{GBK}{song}}
+ \AtEndDocument{\clearpage\end{CJK*}}");
+
* The transparency of a pen can be changed with the command:
pen opacity(real opacity=1, string blend="Compatible");
The opacity can be varied from '0' (fully transparent) to the
@@ -2652,7 +2687,8 @@ power with the '^' operator.
The implicit initializer for transforms is 'identity()'. The
routines 'shift(transform t)' and 'shiftless(transform t)' return the
transforms '(t.x,t.y,0,0,0,0)' and '(0,0,t.xx,t.xy,t.yx,t.yy)'
-respectively.
+respectively. The function 'bool isometry(transform t)' can be used to
+test if 't' is an isometry (preserves distance).

File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transforms, Up: Programming
@@ -2991,7 +3027,7 @@ File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Frames
value) files and portable XDR (External Data Representation) binary
files.
- An input file must first be opened with
+ An input file can be opened with
input(string name="", bool check=true, string comment="#", string mode="");
reading is then done by assignment:
file fin=input("test.txt");
@@ -3004,12 +3040,14 @@ character of the string 'comment' specifies a comment character. If
this character is encountered in a data file, the remainder of the line
is ignored. When reading strings, a comment character followed
immediately by another comment character is treated as a single literal
-comment character.
+comment character. If 'Asymptote' is compiled with support for
+'libcurl', 'name' can be a URL.
- One can change the current working directory for read operations to
-the contents of the string 's' with the function 'string cd(string s)',
-which returns the new working directory. If 'string s' is empty, the
-path is reset to the value it had at program startup.
+ Unless the '-noglobalread' command-line option is specified, one can
+change the current working directory for read operations to the contents
+of the string 's' with the function 'string cd(string s)', which returns
+the new working directory. If 'string s' is empty, the path is reset to
+the value it had at program startup.
When reading pairs, the enclosing parenthesis are optional. Strings
are also read by assignment, by reading characters up to but not
@@ -3025,9 +3063,11 @@ existing data will be preserved, the position will be set to the
end-of-file, and both reading and writing operations will be enabled.
For security reasons, writing to files in directories other than the
current directory is allowed only if the '-globalwrite' (or '-nosafe')
-command-line option is specified. The function 'string mktemp(string
-s)' may be used to create and return the name of a unique temporary file
-in the current directory based on the string 's'.
+command-line option is specified. Reading from files in other
+directories is allowed unless the '-noglobalread' command-line option is
+specified. The function 'string mktemp(string s)' may be used to create
+and return the name of a unique temporary file in the current directory
+based on the string 's'.
There are two special files: 'stdin', which reads from the keyboard,
and 'stdout', which writes to the terminal. The implicit initializer
@@ -3063,12 +3103,12 @@ Microsystem's XDR (External Data Representation) portable binary format
(available on all 'UNIX' platforms). Alternatively, a file may also be
opened with 'mode="binary"' to read or write double precision reals and
single precision integers in the native (nonportable) machine binary
-format. The virtual member functions 'file singlereal(bool b=true)' and
-'file singleint(bool b=true)' be used to change the precision of real
-and integer I/O operations, respectively, for an XDR or binary file 'f'.
-Similarly, the function 'file signedint(bool b=true)' can be used to
-modify the signedness of integer reads and writes for an XDR or binary
-file 'f'.
+format, or to read the entire file into a string. The virtual member
+functions 'file singlereal(bool b=true)' and 'file singleint(bool
+b=true)' be used to change the precision of real and integer I/O
+operations, respectively, for an XDR or binary file 'f'. Similarly, the
+function 'file signedint(bool b=true)' can be used to modify the
+signedness of integer reads and writes for an XDR or binary file 'f'.
The virtual members 'name', 'mode', 'singlereal', 'singleint', and
'signedint' may be used to query the respective parameters for a given
@@ -3386,10 +3426,11 @@ be the (non-'void') type of the variable.
The function 'cputime()' returns a structure 'cputime' with
cumulative CPU times broken down into the fields 'parent.user',
-'parent.system', 'child.user', and 'child.system'. For convenience, the
-incremental fields 'change.user' and 'change.system' indicate the change
-in the corresponding total parent and child CPU times since the last
-call to 'cputime()'. The function
+'parent.system', 'child.user', and 'child.system', along with the
+cumulative wall clock time in 'parent.clock', all measured in seconds.
+For convenience, the incremental fields 'change.user', 'change.system',
+and 'change.clock' indicate the change in the corresponding fields since
+the last call to 'cputime()'. The function
void write(file file=stdout, string s="", cputime c,
string format=cputimeformat, suffix suffix=none);
displays the incremental user cputime followed by "u", the incremental
@@ -4079,18 +4120,18 @@ of type 'T[]'.
'new T[] {list}'
returns a new array of type 'T[]' initialized with 'list' (a comma
- delimited list of elements).
+ delimited list of elements);
'new T[n]'
returns a new array of 'n' elements of type 'T[]'. These 'n' array
elements are not initialized unless they are arrays themselves (in
- which case they are each initialized to empty arrays).
+ which case they are each initialized to empty arrays);
'T[] array(int n, T value, int depth=intMax)'
returns an array consisting of 'n' copies of 'value'. If 'value'
is itself an array, a deep copy of 'value' is made for each entry.
If 'depth' is specified, this deep copying only recurses to the
- specified number of levels.
+ specified number of levels;
'int[] sequence(int n)'
if 'n >= 1' returns the array '{0,1,...,n-1}' (otherwise returns a
@@ -4108,7 +4149,12 @@ of type 'T[]'.
'T[] map(T f(T), T[] a)'
returns the array obtained by applying the function 'f' to each
element of the array 'a'. This is equivalent to 'sequence(new
- T(int i) {return f(a[i]);},a.length)'.
+ T(int i) {return f(a[i]);},a.length)';
+
+'T2[] map(T2 f(T1), T1[] a)'
+ constructed by calling 'mapArray("T1","T2")', returns the array
+ obtained by applying the function 'f' to each element of the array
+ 'a';
'int[] reverse(int n)'
if 'n >= 1' returns the array '{n-1,n-2,...,0}' (otherwise returns
@@ -4117,7 +4163,7 @@ of type 'T[]'.
'int[] complement(int[] a, int n)'
returns the complement of the integer array 'a' in
'{0,1,2,...,n-1}', so that 'b[complement(a,b.length)]' yields the
- complement of 'b[a]'.
+ complement of 'b[a]';
'real[] uniform(real a, real b, int n)'
if 'n >= 1' returns a uniform partition of '[a,b]' into 'n'
@@ -4129,13 +4175,13 @@ of type 'T[]'.
the end of the array for the '-n'th value;
'int[] findall(bool[] a)'
- returns the indices of all 'true' values in the boolean array 'a'.
+ returns the indices of all 'true' values in the boolean array 'a';
'int search(T[] a, T key)'
For built-in ordered types 'T', searches a sorted array 'a' of 'n'
elements for k, returning the index 'i' if 'a[i] <= key < a[i+1]',
'-1' if 'key' is less than all elements of 'a', or 'n-1' if 'key'
- is greater than or equal to the last element of 'a'.
+ is greater than or equal to the last element of 'a';
'int search(T[] a, T key, bool less(T i, T j))'
searches an array 'a' sorted in ascending order such that element
@@ -4175,44 +4221,44 @@ of type 'T[]'.
'i' precedes element 'j' if 'less(i,j)' is true, subject to (if
'stable' is 'true') the stability constraint that the original
order of elements 'i' and 'j' is preserved if 'less(i,j)' and
- 'less(j,i)' are both 'false'.
+ 'less(j,i)' are both 'false';
'T[][] transpose(T[][] a)'
- returns the transpose of 'a'.
+ returns the transpose of 'a';
'T[][][] transpose(T[][][] a, int[] perm)'
returns the 3D transpose of 'a' obtained by applying the
permutation 'perm' of 'new int[]{0,1,2}' to the indices of each
- entry.
+ entry;
'T sum(T[] a)'
- For arithmetic types 'T', returns the sum of 'a'. In the case
+ for arithmetic types 'T', returns the sum of 'a'. In the case
where 'T' is 'bool', the number of true elements in 'a' is
- returned.
+ returned;
'T min(T[] a)'
'T min(T[][] a)'
'T min(T[][][] a)'
- For built-in ordered types 'T', returns the minimum element of 'a'.
+ for built-in ordered types 'T', returns the minimum element of 'a';
'T max(T[] a)'
'T max(T[][] a)'
'T max(T[][][] a)'
- For built-in ordered types 'T', returns the maximum element of 'a'.
+ for built-in ordered types 'T', returns the maximum element of 'a';
'T[] min(T[] a, T[] b)'
- For built-in ordered types 'T', and arrays 'a' and 'b' of the same
+ for built-in ordered types 'T', and arrays 'a' and 'b' of the same
length, returns an array composed of the minimum of the
- corresponding elements of 'a' and 'b'.
+ corresponding elements of 'a' and 'b';
'T[] max(T[] a, T[] b)'
- For built-in ordered types 'T', and arrays 'a' and 'b' of the same
+ for built-in ordered types 'T', and arrays 'a' and 'b' of the same
length, returns an array composed of the maximum of the
- corresponding elements of 'a' and 'b'.
+ corresponding elements of 'a' and 'b';
'pair[] pairs(real[] x, real[] y);'
- For arrays 'x' and 'y' of the same length, returns the pair array
- 'sequence(new pair(int i) {return (x[i],y[i]);},x.length)'.
+ for arrays 'x' and 'y' of the same length, returns the pair array
+ 'sequence(new pair(int i) {return (x[i],y[i]);},x.length)';
'pair[] fft(pair[] a, int sign=1)'
returns the unnormalized Fast Fourier Transform of 'a' (if the
@@ -4230,18 +4276,18 @@ of type 'T[]'.
'pair[][] fft(pair[][] a, int sign=1)'
returns the unnormalized two-dimensional Fourier transform of 'a'
- using the given 'sign'.
+ using the given 'sign';
'pair[][][] fft(pair[][][] a, int sign=1)'
returns the unnormalized three-dimensional Fourier transform of 'a'
- using the given 'sign'.
+ using the given 'sign';
'real dot(real[] a, real[] b)'
- returns the dot product of the vectors 'a' and 'b'.
+ returns the dot product of the vectors 'a' and 'b';
'pair dot(pair[] a, pair[] b)'
returns the complex dot product 'sum(a*conj(b))' of the vectors 'a'
- and 'b'.
+ and 'b';
'real[] tridiagonal(real[] a, real[] b, real[] c, real[] f);'
Solve the periodic tridiagonal problem L'x'='f' and return the
@@ -4254,7 +4300,7 @@ of type 'T[]'.
[ c[n-1] a[n-1] b[n-1] ]
For Dirichlet boundary conditions (denoted here by 'u[-1]' and
'u[n]'), replace 'f[0]' by 'f[0]-a[0]u[-1]' and
- 'f[n-1]-c[n-1]u[n]'; then set 'a[0]=c[n-1]=0'.
+ 'f[n-1]-c[n-1]u[n]'; then set 'a[0]=c[n-1]=0';
'real[] solve(real[][] a, real[] b, bool warn=true)'
Solve the linear equation 'a'x='b' by LU decomposition and return
@@ -4270,31 +4316,31 @@ of type 'T[]'.
write(a*x);
If 'a' is a singular matrix and 'warn' is 'false', return an empty
array. If the matrix 'a' is tridiagonal, the routine 'tridiagonal'
- provides a more efficient algorithm (*note tridiagonal::).
+ provides a more efficient algorithm (*note tridiagonal::);
'real[][] solve(real[][] a, real[][] b, bool warn=true)'
Solve the linear equation 'a'x='b' and return the solution x, where
'a' is an n \times n matrix and 'b' is an n \times m matrix. If
'a' is a singular matrix and 'warn' is 'false', return an empty
- matrix.
+ matrix;
'real[][] identity(int n);'
- returns the n \times n identity matrix.
+ returns the n \times n identity matrix;
'real[][] diagonal(... real[] a)'
- returns the diagonal matrix with diagonal entries given by a.
+ returns the diagonal matrix with diagonal entries given by a;
'real[][] inverse(real[][] a)'
- returns the inverse of a square matrix 'a'.
+ returns the inverse of a square matrix 'a';
'real[] quadraticroots(real a, real b, real c);'
This numerically robust solver returns the real roots of the
quadratic equation ax^2+bx+c=0, in ascending order. Multiple roots
- are listed separately.
+ are listed separately;
'pair[] quadraticroots(explicit pair a, explicit pair b, explicit pair c);'
This numerically robust solver returns the complex roots of the
- quadratic equation ax^2+bx+c=0.
+ quadratic equation ax^2+bx+c=0;
'real[] cubicroots(real a, real b, real c, real d);'
This numerically robust solver returns the real roots of the cubic
@@ -4619,6 +4665,11 @@ quotation marks:
'import "/usr/local/share/asymptote/graph.asy" as graph;'
+ If 'Asymptote' is compiled with support for 'libcurl', the file name
+can even be a URL: 'import
+"https://raw.githubusercontent.com/vectorgraphics/asymptote/HEAD/doc/axis3.asy"
+as axis3;'
+
It is an error if modules import themselves (or each other in a
cycle). The module name to be imported must be known at compile time.
@@ -4651,6 +4702,9 @@ code s=quote {
};
eval(s,true); // Outputs 1
+ One application of 'eval' is the creation of parametrized Asymptote
+code, such as a map from one type to another (*note map::).
+
To include the contents of an existing file 'graph' verbatim (as if
the contents of the file were inserted at that point), use one of the
forms:
@@ -4735,7 +4789,7 @@ void f();
for(int i=0; i < 10; ++i) {
int x=i;
if(x==5) {
- f=new void () { write(x); }
+ f=new void() {write(x);};
}
}
f();
@@ -4751,7 +4805,7 @@ void f() {
}
}
both 'x' and 'y' will be allocated in the same place, which is also
-where 'f' is also allocated.
+where 'f' is allocated.
Statements may also be declared static, in which case they are run at
the place where the enclosing function or structure is defined.
@@ -4782,7 +4836,7 @@ File: asymptote.info, Node: LaTeX usage, Next: Base modules, Prev: Programmin
***************
'Asymptote' comes with a convenient 'LaTeX' style file 'asymptote.sty'
-(v1.35 or later required) that makes 'LaTeX' 'Asymptote'-aware.
+(v1.36 or later required) that makes 'LaTeX' 'Asymptote'-aware.
Entering 'Asymptote' code directly into the 'LaTeX' source file, at the
point where it is needed, keeps figures organized and avoids the need to
invent new file names for each figure. Simply add the line
@@ -4985,6 +5039,7 @@ File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage,
* stats:: Statistics routines and histograms
* patterns:: Custom fill and draw patterns
* markers:: Custom path marker routines
+* map:: Map keys to values
* tree:: Dynamic binary search tree
* binarytree:: Binary tree drawing module
* drawtree:: Tree drawing module
@@ -4995,8 +5050,6 @@ File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage,
* embed:: Embedding movies, sounds, and 3D objects
* slide:: Making presentations with 'Asymptote'
* MetaPost:: 'MetaPost' compatibility routines
-* unicode:: Accept 'unicode' (UTF-8) characters
-* latin1:: Accept 'ISO 8859-1' characters
* babel:: Interface to 'LaTeX' 'babel' package
* labelpath:: Drawing curved labels
* labelpath3:: Drawing curved labels in 3D
@@ -5040,9 +5093,9 @@ File: asymptote.info, Node: simplex, Next: math, Prev: plain, Up: Base modul
8.2 'simplex'
=============
-This package solves the two-variable linear programming problem using
-the simplex method. It is used by the module 'plain' for automatic
-sizing of pictures.
+This module solves the two-variable linear programming problem using the
+simplex method. It is used by the module 'plain' for automatic sizing
+of pictures.

File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base modules
@@ -5050,7 +5103,7 @@ File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base
8.3 'math'
==========
-This package extends 'Asymptote''s mathematical capabilities with useful
+This module extends 'Asymptote''s mathematical capabilities with useful
functions such as
'void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);'
@@ -5152,7 +5205,7 @@ File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base
8.7 'stats'
===========
-This package implements a Gaussian random number generator and a
+This module implements a Gaussian random number generator and a
collection of statistics routines, including 'histogram' and
'leastsquares'.
@@ -5162,8 +5215,8 @@ File: asymptote.info, Node: patterns, Next: markers, Prev: stats, Up: Base m
8.8 'patterns'
==============
-This package implements 'Postscript' tiling patterns and includes
-several convenient pattern generation routines.
+This module implements 'PostScript' tiling patterns and includes several
+convenient pattern generation routines.

File: asymptote.info, Node: markers, Next: tree, Prev: patterns, Up: Base modules
@@ -5171,8 +5224,8 @@ File: asymptote.info, Node: markers, Next: tree, Prev: patterns, Up: Base mo
8.9 'markers'
=============
-This package implements specialized routines for marking paths and
-angles. The principal mark routine provided by this package is
+This module implements specialized routines for marking paths and
+angles. The principal mark routine provided by this module is
markroutine markinterval(int n=1, frame f, bool rotated=false);
which centers 'n' copies of frame 'f' within uniformly space intervals
in arclength along the path, optionally rotated by the angle of the
@@ -5200,7 +5253,7 @@ and 'TildeIntervalMarker' from the above frames. The example
[./markers1]
- This package also provides a routine for marking an angle AOB:
+ This module also provides a routine for marking an angle AOB:
void markangle(picture pic=currentpicture, Label L="",
int n=1, real radius=0, real space=0,
pair A, pair O, pair B, arrowbar arrow=None,
@@ -5212,17 +5265,38 @@ as illustrated in the example 'markers2.asy'.
[./markers2]

+File: asymptote.info, Node: map, Next: tree, Prev: markers, Up: Base modules
+
+8.10 'map'
+==========
+
+This module creates a struct parameterized by the types specified in
+strings 'key' and 'value', mapping keys to values with a specified
+default:
+import map;
+
+mapTemplate(name="map",key="string",value="int",default="-1");
+
+map M;
+
+M.add("z",2);
+M.add("a",3);
+M.add("d",4);
+write(M.lookup("a"));
+write(M.lookup("y"));
+
+
File: asymptote.info, Node: tree, Next: binarytree, Prev: markers, Up: Base modules
-8.10 'tree'
+8.11 'tree'
===========
-This package implements an example of a dynamic binary search tree.
+This module implements an example of a dynamic binary search tree.

File: asymptote.info, Node: binarytree, Next: drawtree, Prev: tree, Up: Base modules
-8.11 'binarytree'
+8.12 'binarytree'
=================
This module can be used to draw an arbitrary binary tree and includes an
@@ -5247,7 +5321,7 @@ add(pic2.fit(),(0,0),10S);

File: asymptote.info, Node: drawtree, Next: syzygy, Prev: binarytree, Up: Base modules
-8.12 'drawtree'
+8.13 'drawtree'
===============
This is a simple tree drawing module used by the example 'treetest.asy'.
@@ -5255,7 +5329,7 @@ This is a simple tree drawing module used by the example 'treetest.asy'.

File: asymptote.info, Node: syzygy, Next: feynman, Prev: drawtree, Up: Base modules
-8.13 'syzygy'
+8.14 'syzygy'
=============
This module automates the drawing of braids, relations, and syzygies,
@@ -5265,27 +5339,27 @@ along with the corresponding equations, as illustrated in the example

File: asymptote.info, Node: feynman, Next: roundedpath, Prev: syzygy, Up: Base modules
-8.14 'feynman'
+8.15 'feynman'
==============
-This package, contributed by Martin Wiebusch, is useful for drawing
+This module, contributed by Martin Wiebusch, is useful for drawing
Feynman diagrams, as illustrated by the examples 'eetomumu.asy' and
'fermi.asy'.

File: asymptote.info, Node: roundedpath, Next: animation, Prev: feynman, Up: Base modules
-8.15 'roundedpath'
+8.16 'roundedpath'
==================
-This package, contributed by Stefan Knorr, is useful for rounding the
+This module, contributed by Stefan Knorr, is useful for rounding the
sharp corners of paths, as illustrated in the example file
'roundpath.asy'.

File: asymptote.info, Node: animation, Next: embed, Prev: roundedpath, Up: Base modules
-8.16 'animation'
+8.17 'animation'
================
This module allows one to generate animations, as illustrated by the
@@ -5296,7 +5370,7 @@ MPEG movie.
The related 'animate' module, derived from the 'animation' module,
generates higher-quality portable clickable PDF movies, with optional
-controls. This requires installing the package
+controls. This requires installing the module
<http://mirror.ctan.org/macros/latex/contrib/animate/animate.sty>
(version 2007/11/30 or later) in a new directory 'animate' in the local
'LaTeX' directory (for example, in
@@ -5317,7 +5391,7 @@ described here:

File: asymptote.info, Node: embed, Next: slide, Prev: animation, Up: Base modules
-8.17 'embed'
+8.18 'embed'
============
This module provides an interface to the 'LaTeX' package (included with
@@ -5342,21 +5416,21 @@ animate::).

File: asymptote.info, Node: slide, Next: MetaPost, Prev: embed, Up: Base modules
-8.18 'slide'
+8.19 'slide'
============
-This package provides a simple yet high-quality facility for making
+This module provides a simple yet high-quality facility for making
presentation slides, including portable embedded PDF animations (see the
file 'slidemovies.asy'). A simple example is provided in
'slidedemo.asy'.

-File: asymptote.info, Node: MetaPost, Next: unicode, Prev: slide, Up: Base modules
+File: asymptote.info, Node: MetaPost, Next: babel, Prev: slide, Up: Base modules
-8.19 'MetaPost'
+8.20 'MetaPost'
===============
-This package provides some useful routines to help 'MetaPost' users
+This module provides some useful routines to help 'MetaPost' users
migrate old 'MetaPost' code to 'Asymptote'. Further contributions here
are welcome.
@@ -5369,42 +5443,9 @@ occurrences of 'whatever', one can use the built-in explicit linear
equation solver 'solve' instead.

-File: asymptote.info, Node: unicode, Next: latin1, Prev: MetaPost, Up: Base modules
-
-8.20 'unicode'
-==============
-
-Import this package at the beginning of the file to instruct 'LaTeX' to
-accept 'unicode' (UTF-8) standardized international characters. To use
-Cyrillic fonts, you will need to change the font encoding:
-import unicode;
-texpreamble("\usepackage{mathtext}\usepackage[russian]{babel}");
-defaultpen(font("T2A","cmr","m","n"));
-Support for Chinese, Japanese, and Korean fonts is provided by the CJK
-package:
- <http://mirror.ctan.org/languages/chinese/CJK/>
-The following commands enable the CJK song family (within a label, you
-can also temporarily switch to another family, say kai, by prepending
-'"\CJKfamily{kai}"' to the label string):
-texpreamble("\usepackage{CJK}
-\AtBeginDocument{\begin{CJK*}{GBK}{song}}
-\AtEndDocument{\clearpage\end{CJK*}}");
+File: asymptote.info, Node: babel, Next: labelpath, Prev: MetaPost, Up: Base modules
-
-File: asymptote.info, Node: latin1, Next: babel, Prev: unicode, Up: Base modules
-
-8.21 'latin1'
-=============
-
-If you don't have 'LaTeX' support for 'unicode' installed, you can
-enable support for Western European languages (ISO 8859-1) by importing
-the module 'latin1'. This module can be used as a template for
-providing support for other ISO 8859 alphabets.
-
-
-File: asymptote.info, Node: babel, Next: labelpath, Prev: latin1, Up: Base modules
-
-8.22 'babel'
+8.21 'babel'
============
This module implements the 'LaTeX' 'babel' package in 'Asymptote'. For
@@ -5415,7 +5456,7 @@ babel("german");

File: asymptote.info, Node: labelpath, Next: labelpath3, Prev: babel, Up: Base modules
-8.23 'labelpath'
+8.22 'labelpath'
================
This module uses the 'PSTricks' 'pstextpath' macro to fit labels along a
@@ -5427,13 +5468,13 @@ Here 'justify' is one of 'LeftJustified', 'Centered', or
'RightJustified'. The x component of a shift transform applied to the
Label is interpreted as a shift along the curve, whereas the y component
is interpreted as a shift away from the curve. All other Label
-transforms are ignored. This package requires the 'latex' tex engine
-and inherits the limitations of the 'PSTricks' '\pstextpath' macro.
+transforms are ignored. This module requires the 'latex' tex engine and
+inherits the limitations of the 'PSTricks' '\pstextpath' macro.

File: asymptote.info, Node: labelpath3, Next: annotate, Prev: labelpath, Up: Base modules
-8.24 'labelpath3'
+8.23 'labelpath3'
=================
This module, contributed by Jens Schwaiger, implements a 3D version of
@@ -5443,7 +5484,7 @@ provided in 'curvedlabel3.asy'.

File: asymptote.info, Node: annotate, Next: CAD, Prev: labelpath3, Up: Base modules
-8.25 'annotate'
+8.24 'annotate'
===============
This module supports PDF annotations for viewing with 'Adobe Reader',
@@ -5457,21 +5498,20 @@ and 'tex' TeX engines.

File: asymptote.info, Node: CAD, Next: graph, Prev: annotate, Up: Base modules
-8.26 'CAD'
+8.25 'CAD'
==========
-This package, contributed by Mark Henning, provides basic pen
-definitions and measurement functions for simple 2D CAD drawings
-according to DIN 15. It is documented separately, in the file
-'CAD.pdf'.
+This module, contributed by Mark Henning, provides basic pen definitions
+and measurement functions for simple 2D CAD drawings according to DIN
+15. It is documented separately, in the file 'CAD.pdf'.

File: asymptote.info, Node: graph, Next: palette, Prev: CAD, Up: Base modules
-8.27 'graph'
+8.26 'graph'
============
-This package implements two-dimensional linear and logarithmic graphs,
+This module implements two-dimensional linear and logarithmic graphs,
including automatic scale and tick selection (with the ability to
override manually). A graph is a 'guide' (that can be drawn with the
draw command, with an optional legend) constructed with one of the
@@ -5833,11 +5873,11 @@ following routines:
real f(real x) {return exp(x);}
pair F(real x) {return (x,f(x));}
+ draw(graph(f,-4,2,operator ..),red);
+
xaxis("$x$");
yaxis("$y$",0);
- draw(graph(f,-4,2,operator ..),red);
-
labely(1,E);
label("$e^x$",F(1),SE);
@@ -5890,21 +5930,21 @@ following routines:
attach(legend(),truepoint(E),20E,UnFill);
A legend can have multiple entries per line:
- import graph;
- size(8cm,6cm,IgnoreAspect);
-
- typedef real realfcn(real);
- realfcn F(real p) {
- return new real(real x) {return sin(p*x);};
- };
-
+ import graph;
+ size(8cm,6cm,IgnoreAspect);
+
+ typedef real realfcn(real);
+ realfcn F(real p) {
+ return new real(real x) {return sin(p*x);};
+ };
+
for(int i=1; i < 5; ++i)
draw(graph(F(i*pi),0,1),Pen(i),
- "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$");
- xaxis("$x$",BottomTop,LeftTicks);
- yaxis("$y$",LeftRight,RightTicks(trailingzero));
-
- attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill);
+ "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$");
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+ attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill);
[./legend]
@@ -6363,7 +6403,7 @@ following routines:
draw(pic,graph(pic,t,infectious,t >= 10 & t <= 15),red);
yaxis(pic,Right,red,LeftTicks(begin=false,end=false));
});
-
+
add(secondary);
label(shift(5mm*N)*"Proportion of crows",point(NW),E);
@@ -6419,7 +6459,7 @@ following routines:
// Remove negative or zero values of rho:
t=rho > 0 ? t : null;
rho=rho > 0 ? rho : null;
-
+
scale(Log(true),Linear(true));
int n=step > 0 ? ceil((last-first)/step) : 0;
@@ -6430,17 +6470,17 @@ following routines:
real first=first+i*step;
real[] logrho=(t >= first & t <= last) ? log(rho) : null;
real[] logt=(t >= first & t <= last) ? -log(t) : null;
-
+
if(logt.length < 2) break;
-
+
// Fit to the line logt=L.m*logrho+L.b:
linefit L=leastsquares(logt,logrho);
-
+
T.push(first);
xi.push(L.m);
dxi.push(L.dm);
- }
-
+ }
+
draw(graph(T,xi),blue);
errorbars(T,xi,dxi,red);
@@ -6540,7 +6580,7 @@ following routines:

File: asymptote.info, Node: palette, Next: three, Prev: graph, Up: Base modules
-8.28 'palette'
+8.27 'palette'
==============
'Asymptote' can also generate color density images and palettes. The
@@ -6750,7 +6790,7 @@ pen[][] palette(real[][] f, pen[] palette);

File: asymptote.info, Node: three, Next: obj, Prev: palette, Up: Base modules
-8.29 'three'
+8.28 'three'
============
This module fully extends the notion of guides and paths in 'Asymptote'
@@ -6827,7 +6867,7 @@ and 'three_light.asy':
struct light {
real[][] diffuse;
real[][] specular;
- pen background=nullpen; // Background color of the 3D canvas.
+ pen background=nullpen; // Background color of the canvas.
real specularfactor;
triple[] position; // Only directional lights are currently implemented.
}
@@ -6844,9 +6884,11 @@ light Headlamp=light(gray(0.8),specular=gray(0.7),
currentlight=Headlamp;
light nolight;
- The 'background' pen can be use to set the 3D 'OpenGL' background
-colour (the default is white). In the case of 3D 'WebGL' images one can
-request a completely transparent background with
+ The 'currentlight.background' (or 'background' member of the
+specified 'light') can be used to set the background colour for 2D (or
+3D) images. The default background is white for 'HTML' images and
+transparent for all other formats. One can request a completely
+transparent background for 3D 'WebGL' images with
'currentlight.background=black+opacity(0.0);'
Sample Bezier surfaces are contained in the example files
@@ -6923,10 +6965,11 @@ There are five choices for viewing 3D 'Asymptote' output:
the command-line option '-V' and the default settings
'outformat=""' and 'render=-1'). On 'UNIX' systems with graphics
support for 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
+ the setting 'multisample'. The ratio of physical to logical screen
+ pixels can be specified with the setting 'devicepixelratio'. 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[] {""};
@@ -7387,9 +7430,8 @@ position 'v' using pen 'p'.
three-dimensional nonrendered 'PostScript') is available with the
setting 'render=0'. This currently only works for piecewise planar
surfaces, such as those produced by the parametric 'surface' routines in
-the 'graph3' module. Surfaces produced by the 'solids' package will
-also be properly rendered if the parameter 'nslices' is sufficiently
-large.
+the 'graph3' module. Surfaces produced by the 'solids' module will also
+be properly rendered if the parameter 'nslices' is sufficiently large.
In the module 'bsp', hidden surface removal of planar pictures is
implemented using a binary space partition and picture clipping. A
@@ -7432,7 +7474,7 @@ add(faces);

File: asymptote.info, Node: obj, Next: graph3, Prev: three, Up: Base modules
-8.30 'obj'
+8.29 'obj'
==========
This module allows one to construct surfaces from simple obj files, as
@@ -7441,7 +7483,7 @@ illustrated in the example files 'galleon.asy' and 'triceratops.asy'.

File: asymptote.info, Node: graph3, Next: grid3, Prev: obj, Up: Base modules
-8.31 'graph3'
+8.30 'graph3'
=============
This module implements three-dimensional versions of the functions in
@@ -7607,7 +7649,7 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,

File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modules
-8.32 'grid3'
+8.31 'grid3'
============
This module, contributed by Philippe Ivaldi, can be used for drawing 3D
@@ -7636,10 +7678,10 @@ zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min),

File: asymptote.info, Node: solids, Next: tube, Prev: grid3, Up: Base modules
-8.33 'solids'
+8.32 'solids'
=============
-This solid geometry package defines a structure 'revolution' that can be
+This solid geometry module defines a structure 'revolution' that can be
used to fill and draw surfaces of revolution. The following example
uses it to display the outline of a circular cylinder of radius 1 with
axis 'O--1.5unit(Y+Z)' with perspective projection:
@@ -7671,10 +7713,10 @@ struct skeleton {

File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules
-8.34 'tube'
+8.33 'tube'
===========
-This package extends the 'tube' surfaces constructed in
+This module extends the 'tube' surfaces constructed in
'three_arrows.asy' to arbitrary cross sections, colors, and spine
transformations. The routine
surface tube(path3 g, coloredpath section,
@@ -7722,10 +7764,10 @@ Further examples can be found at

File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules
-8.35 'flowchart'
+8.34 'flowchart'
================
-This package provides routines for drawing flowcharts. The primary
+This module provides routines for drawing flowcharts. The primary
structure is a 'block', which represents a single block on the
flowchart. The following eight functions return a position on the
appropriate edge of the block, given picture transform 't':
@@ -7810,8 +7852,8 @@ size(0,300);
import flowchart;
block block1=rectangle(Label("Example",magenta),
- pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
- "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
+ pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
+ "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red);
block block3=roundrectangle("Do something",(-1,1));
block block4=bevel("Don't do something",(1,1));
@@ -7838,12 +7880,12 @@ add(new void(picture pic, transform t) {

File: asymptote.info, Node: contour, Next: contour3, Prev: flowchart, Up: Base modules
-8.36 'contour'
+8.35 'contour'
==============
-This package draws contour lines. To construct contours corresponding
-to the values in a real array 'c' for a function 'f' on 'box(a,b)', use
-the routine
+This module draws contour lines. To construct contours corresponding to
+the values in a real array 'c' for a function 'f' on 'box(a,b)', use the
+routine
guide[][] contour(real f(real, real), pair a, pair b,
real[] c, int nx=ngraph, int ny=nx,
interpolate join=operator --, int subsample=1);
@@ -7934,7 +7976,7 @@ pen tickpen=gray+0.5*linewidth(currentpen);
pen[] Palette=BWRainbow();
bounds range=image(f,Automatic,a,b,N,Palette);
-
+
// Major contours
real[] Cvals=uniform(range.min,range.max,Divs);
@@ -8017,17 +8059,17 @@ Shewchuk.

File: asymptote.info, Node: contour3, Next: smoothcontour3, Prev: contour, Up: Base modules
-8.37 'contour3'
+8.36 'contour3'
===============
-This package draws surfaces described as the null space of real-valued
+This module draws surfaces described as the null space of real-valued
functions of (x,y,z) or 'real[][][]' matrices. Its usage is illustrated
in the example file 'magnetic.asy'.

File: asymptote.info, Node: smoothcontour3, Next: slopefield, Prev: contour3, Up: Base modules
-8.38 'smoothcontour3'
+8.37 'smoothcontour3'
=====================
This module, written by Charles Staats, draws implicitly defined
@@ -8063,7 +8105,7 @@ explanation of the module's usage and pitfalls, are available at

File: asymptote.info, Node: slopefield, Next: ode, Prev: smoothcontour3, Up: Base modules
-8.39 'slopefield'
+8.38 'slopefield'
=================
To draw a slope field for the differential equation dy/dx=f(x,y) (or
@@ -8105,7 +8147,7 @@ draw(curve((0,0),func,(-3,-3),(3,3)),red);

File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules
-8.40 'ode'
+8.39 'ode'
==========
The 'ode' module, illustrated in the example 'odetest.asy', implements a
@@ -8143,7 +8185,9 @@ Options (negate by replacing - with -no):
-cmyk Convert rgb colors to cmyk [false]
-c,-command string Command to autoexecute
-compact Conserve memory at the expense of speed [false]
+-compress Compress images in PDF output [true]
-d,-debug Enable debugging messages [false]
+-devicepixelratio n Ratio of physical to logical pixels [1]
-digits n Default output file precision [7]
-divisor n Garbage collect using purge(divisor=n) [2]
-embed Embed rendered preview image [true]
@@ -8152,6 +8196,7 @@ Options (negate by replacing - with -no):
-fitscreen Fit rendered image to screen [true]
-framedelay ms Additional frame delay [0]
-framerate frames/s Animation speed [30]
+-globalread Allow read from other directory [true]
-globalwrite Allow write to other directory [false]
-gray Convert all colors to grayscale [false]
-h,-help Show summary of options; command-line only
@@ -8170,12 +8215,11 @@ Options (negate by replacing - with -no):
-loop Loop 3D animations [false]
-m,-mask Mask fpu exceptions; command-line only
-maxtile pair Maximum rendering tile size [(1024,768)]
--maxviewport pair Maximum viewport size [(2048,2048)]
+-maxviewport pair Maximum viewport size [(0,0)]
-multiline Input code over multiple lines at the prompt [false]
-multipleView View output from multiple batch-mode files [false]
-multisample n Multisampling width for screen images [4]
-offline Produce offline html files [false]
--offscreen Use offscreen rendering [false]
-O,-offset pair PostScript offset [(0,0)]
-f,-outformat format Convert each output file to specified format
-o,-outname name Alternative output directory/filename
@@ -8196,7 +8240,7 @@ Options (negate by replacing - with -no):
-shiftHoldDistance n WebGL touch screen distance limit for shift mode [20]
-shiftWaitTime ms WebGL touch screen shift mode delay [200]
-spinstep deg/s Spin speed [60]
--svgemulation Emulate unimplemented SVG shading [false]
+-svgemulation Emulate unimplemented SVG shading [true]
-tabcompletion Interactive prompt auto-completion [true]
-tex engine latex|pdflatex|xelatex|lualatex|tex|pdftex|luatex|context|none [latex]
-thick Render thick 3D lines [true]
@@ -8276,10 +8320,9 @@ using the '-f' option (or 'outformat' setting).
later) from <https://dvisvgm.de>. You might need to adjust the
configuration variable 'libgs' to point to the location of your
'Ghostscript' library 'libgs.so' (or to an empty string, depending on
-how 'dvisvgm' was configured). The 2.8 version of 'dvisvgm' can display
-SVG output (used by the 'xasy' editor) for external vector EPS and PDF
-images included with the 'graphic()' function, in addition to (using the
-'latex' TeX engine) PNG and JPEG embedded raster images.
+how 'dvisvgm' was configured). The 2.9.1 version of 'dvisvgm' can
+display SVG output (used by the 'xasy' editor) for embedded EPS, PDF,
+PNG, and JPEG images included with the 'graphic()' function.
'Asymptote' can also produce any output format supported by the
'ImageMagick' 'convert' program (version 6.3.5 or later recommended; an
@@ -8459,7 +8502,7 @@ pip3 install cson numpy pyqt5 PyQt5.sip
Pictures are deconstructed into the SVG image format. Since 'Qt5'
does not support 'SVG' clipping, you will need the 'rsvg-convert'
utility, which is part of the 'librsvg2-tools' package on 'UNIX' systems
-and the 'librsvg' package on 'MacOS'; under 'Microsoft Windows', it is
+and the 'librsvg' package on 'MacOS X'; under 'Microsoft Windows', it is
available as
<https://sourceforge.net/projects/tumagcc/files/rsvg-convert-2.40.20.7z>
@@ -8628,7 +8671,9 @@ Prince. Sean Healy designed the 'Asymptote' logo. Other contributors
include Orest Shardt, Jesse Frohlich, Michail Vidiassov, Charles Staats,
Philippe Ivaldi, Olivier Guibe', Radoslav Marinov, Jeff Samuelson, Chris
Savage, Jacques Pienaar, Mark Henning, Steve Melenchuk, Martin Wiebusch,
-Stefan Knorr, and Supakorn "Jamie" Rassameemasmuang.
+Stefan Knorr, and Supakorn "Jamie" Rassameemasmuang. Pedram Emami
+developed the 'Asymptote Web Application' at
+<http://asymptote.ualberta.ca>.

File: asymptote.info, Node: Index, Prev: Credits, Up: Top
@@ -8678,9 +8723,9 @@ Index
* ---: Bezier curves. (line 84)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 194)
-* -l: Options. (line 213)
-* -u: Options. (line 204)
+* -c: Options. (line 195)
+* -l: Options. (line 214)
+* -u: Options. (line 205)
* -V: Configuring. (line 6)
* -V <1>: Drawing in batch mode.
(line 16)
@@ -8693,7 +8738,7 @@ Index
* 2D graphs: graph. (line 6)
* 3D graphs: graph3. (line 6)
* 3D grids: grid3. (line 6)
-* 3D PostScript: three. (line 636)
+* 3D PostScript: three. (line 639)
* :: Arithmetic & logical.
(line 61)
* ::: Bezier curves. (line 70)
@@ -8721,15 +8766,20 @@ Index
(line 53)
* ||: Arithmetic & logical.
(line 51)
-* a4: Configuring. (line 66)
-* abort: Data types. (line 363)
+* a4: Configuring. (line 68)
+* abort: Data types. (line 364)
* abs: Data types. (line 65)
-* abs <1>: Mathematical functions.
+* abs <1>: Data types. (line 144)
+* abs <2>: Mathematical functions.
(line 35)
+* abs2: Data types. (line 65)
+* abs2 <1>: Data types. (line 144)
+* absolute: Configuring. (line 43)
* accel: Paths and guides. (line 126)
* accel <1>: Paths and guides. (line 132)
-* accel <2>: three. (line 537)
+* accel <2>: three. (line 540)
* access: Import. (line 6)
+* access <1>: Import. (line 45)
* acknowledgments: Credits. (line 6)
* acos: Mathematical functions.
(line 6)
@@ -8741,8 +8791,8 @@ Index
(line 217)
* add <1>: Frames and pictures.
(line 231)
-* add <2>: three. (line 309)
-* addViews: three. (line 430)
+* add <2>: three. (line 312)
+* addViews: three. (line 433)
* adjust: Pens. (line 123)
* Ai: Mathematical functions.
(line 48)
@@ -8751,57 +8801,57 @@ Index
* Ai_deriv: Mathematical functions.
(line 48)
* alias: Structures. (line 62)
-* alias <1>: Arrays. (line 174)
+* alias <1>: Arrays. (line 179)
* Align: label. (line 12)
-* aligndir: Options. (line 186)
-* all: Arrays. (line 333)
-* Allow: Pens. (line 346)
+* aligndir: Options. (line 187)
+* all: Arrays. (line 338)
+* Allow: Pens. (line 363)
* and: Bezier curves. (line 56)
* AND: Arithmetic & logical.
(line 68)
* angle: Data types. (line 73)
* animate: Configuring. (line 20)
-* animate <1>: Files. (line 155)
+* animate <1>: Files. (line 159)
* animate <2>: animation. (line 12)
* animation: animation. (line 6)
* animation <1>: animation. (line 6)
* annotate: annotate. (line 6)
-* antialias: three. (line 251)
-* antialias <1>: Options. (line 155)
-* append: Files. (line 36)
+* antialias: three. (line 254)
+* antialias <1>: Options. (line 157)
+* append: Files. (line 38)
* append <1>: Arrays. (line 39)
* arc: Paths and guides. (line 24)
* Arc: Paths and guides. (line 37)
-* arc <1>: three. (line 320)
+* arc <1>: three. (line 323)
* ArcArrow: draw. (line 26)
-* ArcArrow3: three. (line 603)
+* ArcArrow3: three. (line 606)
* ArcArrows: draw. (line 26)
-* ArcArrows3: three. (line 603)
+* ArcArrows3: three. (line 606)
* arclength: Paths and guides. (line 153)
-* arclength <1>: three. (line 537)
+* arclength <1>: three. (line 540)
* arcpoint: Paths and guides. (line 163)
* arctime: Paths and guides. (line 157)
-* arctime <1>: three. (line 537)
+* arctime <1>: three. (line 540)
* arguments: Default arguments. (line 6)
* arithmetic operators: Arithmetic & logical.
(line 6)
-* array: Data types. (line 283)
+* array: Data types. (line 284)
* array <1>: Arrays. (line 112)
* array iteration: Programming. (line 52)
* arrays: Arrays. (line 6)
-* arrow: Drawing commands. (line 31)
+* arrow: Drawing commands. (line 34)
* Arrow: draw. (line 26)
* arrow <1>: label. (line 70)
* arrow keys: Drawing in interactive mode.
(line 11)
* arrow keys <1>: GUI usage. (line 6)
-* Arrow3: three. (line 603)
+* Arrow3: three. (line 606)
* arrows: draw. (line 26)
* Arrows: draw. (line 26)
-* Arrows3: three. (line 603)
+* Arrows3: three. (line 606)
* as: Import. (line 67)
-* ascii: Data types. (line 308)
-* ascii <1>: Data types. (line 308)
+* ascii: Data types. (line 309)
+* ascii <1>: Data types. (line 309)
* asin: Mathematical functions.
(line 6)
* aSin: Mathematical functions.
@@ -8810,17 +8860,18 @@ Index
(line 6)
* Aspect: Frames and pictures.
(line 59)
-* assert: Data types. (line 368)
+* assert: Data types. (line 369)
* assignment: Programming. (line 26)
-* asy: Data types. (line 358)
-* asy <1>: Import. (line 101)
+* asy: Data types. (line 359)
+* asy <1>: Import. (line 106)
* asy-mode: Editing modes. (line 6)
* asy.vim: Editing modes. (line 32)
-* asygl: Configuring. (line 72)
+* asygl: Configuring. (line 74)
* asyinclude: LaTeX usage. (line 45)
+* Asymptote Web Application: Description. (line 6)
* asymptote.sty: LaTeX usage. (line 6)
* asymptote.xml: Editing modes. (line 48)
-* ASYMPTOTE_CONFIG: Options. (line 126)
+* ASYMPTOTE_CONFIG: Options. (line 128)
* atan: Mathematical functions.
(line 6)
* aTan: Mathematical functions.
@@ -8834,8 +8885,8 @@ Index
(line 276)
* attach <1>: LaTeX usage. (line 50)
* attach <2>: graph. (line 406)
-* autoadjust: three. (line 395)
-* autoimport: Options. (line 122)
+* autoadjust: three. (line 398)
+* autoimport: Options. (line 124)
* automatic scaling: graph. (line 690)
* automatic scaling <1>: graph. (line 690)
* axialshade: fill. (line 43)
@@ -8843,57 +8894,57 @@ Index
* axis <1>: graph. (line 988)
* axis <2>: graph3. (line 66)
* axis <3>: graph3. (line 82)
-* azimuth: Data types. (line 153)
+* azimuth: Data types. (line 154)
* babel: babel. (line 6)
* background: three. (line 76)
* background <1>: three. (line 97)
* background color: Frames and pictures.
(line 180)
-* BackView: three. (line 423)
+* BackView: three. (line 426)
* Bar: draw. (line 19)
-* Bar3: three. (line 603)
+* Bar3: three. (line 606)
* Bars: draw. (line 19)
-* Bars3: three. (line 603)
+* Bars3: three. (line 606)
* barsize: draw. (line 19)
* base modules: Base modules. (line 6)
* basealign: Pens. (line 181)
* baseline: label. (line 90)
* batch mode: Drawing in batch mode.
(line 6)
-* beep: Data types. (line 381)
+* beep: Data types. (line 382)
* BeginArcArrow: draw. (line 26)
-* BeginArcArrow3: three. (line 603)
+* BeginArcArrow3: three. (line 606)
* BeginArrow: draw. (line 26)
-* BeginArrow3: three. (line 603)
+* BeginArrow3: three. (line 606)
* BeginBar: draw. (line 19)
-* BeginBar3: three. (line 603)
+* BeginBar3: three. (line 606)
* BeginDotMargin: draw. (line 42)
-* BeginDotMargin3: three. (line 619)
+* BeginDotMargin3: three. (line 622)
* BeginMargin: draw. (line 42)
-* BeginMargin3: three. (line 619)
+* BeginMargin3: three. (line 622)
* BeginPenMargin: draw. (line 42)
-* BeginPenMargin2: three. (line 619)
-* BeginPenMargin3: three. (line 619)
+* BeginPenMargin2: three. (line 622)
+* BeginPenMargin3: three. (line 622)
* BeginPoint: label. (line 55)
* Bessel: Mathematical functions.
(line 48)
* bevel: flowchart. (line 72)
* beveljoin: Pens. (line 149)
* Bezier curves: Bezier curves. (line 6)
-* Bezier patch: three. (line 116)
-* Bezier triangle: three. (line 116)
-* bezulate: three. (line 134)
+* Bezier patch: three. (line 118)
+* Bezier triangle: three. (line 118)
+* bezulate: three. (line 136)
* Bi: Mathematical functions.
(line 48)
-* Billboard: three. (line 507)
-* binary: Files. (line 76)
-* binary format: Files. (line 76)
+* Billboard: three. (line 510)
+* binary: Files. (line 80)
+* binary format: Files. (line 80)
* binary operators: Arithmetic & logical.
(line 6)
* binarytree: binarytree. (line 6)
* Bi_deriv: Mathematical functions.
(line 48)
-* black stripes: three. (line 251)
+* black stripes: three. (line 254)
* Blank: draw. (line 26)
* block.bottom: flowchart. (line 19)
* block.bottomleft: flowchart. (line 19)
@@ -8912,7 +8963,7 @@ Index
(line 6)
* Bottom: graph. (line 132)
* BottomTop: graph. (line 138)
-* BottomView: three. (line 423)
+* BottomView: three. (line 426)
* bounding box: Frames and pictures.
(line 180)
* Bounds: graph3. (line 21)
@@ -8920,14 +8971,14 @@ Index
(line 25)
* box <1>: Frames and pictures.
(line 130)
-* box <2>: three. (line 342)
-* box <3>: three. (line 344)
+* box <2>: three. (line 345)
+* box <3>: three. (line 347)
* bp: Drawing in batch mode.
(line 23)
* brace: Paths and guides. (line 51)
* break: Programming. (line 48)
* breakpoints: Debugger. (line 21)
-* brick: Pens. (line 268)
+* brick: Pens. (line 285)
* broken axis: graph. (line 801)
* bug reports: Help. (line 19)
* buildcycle: Paths and guides. (line 270)
@@ -8935,33 +8986,35 @@ Index
* Button-2: GUI. (line 6)
* BWRainbow: palette. (line 15)
* BWRainbow2: palette. (line 18)
-* C string: Data types. (line 216)
+* C string: Data types. (line 217)
* CAD: CAD. (line 6)
* calculateTransform: Frames and pictures.
(line 118)
-* camera: three. (line 389)
+* camera: three. (line 392)
* casts: Casts. (line 6)
* cbrt: Mathematical functions.
(line 6)
-* cd: Files. (line 25)
+* cd: Files. (line 26)
* ceil: Mathematical functions.
(line 26)
* Center: label. (line 60)
-* center: three. (line 372)
-* checker: Pens. (line 268)
-* Chinese: unicode. (line 12)
+* center: three. (line 375)
+* checker: Pens. (line 285)
+* Chinese: Pens. (line 244)
* choose: Mathematical functions.
(line 39)
* Ci: Mathematical functions.
(line 48)
* circle: Paths and guides. (line 10)
* Circle: Paths and guides. (line 18)
-* circle <1>: three. (line 316)
+* circle <1>: three. (line 319)
* circle <2>: flowchart. (line 61)
* circlebarframe: markers. (line 18)
-* CJK: unicode. (line 12)
+* CJK: Pens. (line 244)
* clamped: graph. (line 36)
-* clear: Files. (line 93)
+* clang: Compiling from UNIX source.
+ (line 48)
+* clear: Files. (line 97)
* clear <1>: Debugger. (line 23)
* clip: clip. (line 6)
* CLZ: Arithmetic & logical.
@@ -8969,34 +9022,34 @@ Index
* cm: Figure size. (line 18)
* cmd: Configuring. (line 35)
* cmyk: Pens. (line 38)
-* colatitude: Data types. (line 158)
+* colatitude: Data types. (line 159)
* color: Pens. (line 23)
* coloredNodes: tube. (line 25)
* coloredpath: tube. (line 18)
* coloredSegments: tube. (line 25)
* colorless: Pens. (line 57)
* colors: Pens. (line 54)
-* comma: Files. (line 61)
-* comma-separated-value mode: Arrays. (line 365)
-* command-line options: Configuring. (line 89)
+* comma: Files. (line 65)
+* comma-separated-value mode: Arrays. (line 370)
+* command-line options: Configuring. (line 91)
* command-line options <1>: Options. (line 6)
* comment character: Files. (line 16)
* compass directions: Labels. (line 18)
* Compiling from UNIX source: Compiling from UNIX source.
(line 6)
-* complement: Arrays. (line 140)
-* concat: Arrays. (line 170)
+* complement: Arrays. (line 145)
+* concat: Arrays. (line 175)
* conditional: Programming. (line 26)
* conditional <1>: Arithmetic & logical.
(line 61)
-* config: Configuring. (line 72)
-* config <1>: Options. (line 126)
+* config: Configuring. (line 74)
+* config <1>: Options. (line 128)
* configuration file: Configuring. (line 20)
-* configuration file <1>: Options. (line 126)
+* configuration file <1>: Options. (line 128)
* configuring: Configuring. (line 6)
* conj: Data types. (line 62)
* constructors: Structures. (line 91)
-* context: Options. (line 155)
+* context: Options. (line 157)
* continue: Programming. (line 48)
* continue <1>: Debugger. (line 31)
* contour: contour. (line 6)
@@ -9004,13 +9057,13 @@ Index
* controls: Bezier curves. (line 45)
* controls <1>: three. (line 6)
* controlSpecifier: Paths and guides. (line 396)
-* convert: Configuring. (line 72)
-* convert <1>: Files. (line 155)
+* convert: Configuring. (line 74)
+* convert <1>: Files. (line 159)
* convert <2>: animation. (line 6)
-* convert <3>: Options. (line 155)
-* convertOptions: Options. (line 141)
-* Coons shading: fill. (line 77)
-* copy: Arrays. (line 167)
+* convert <3>: Options. (line 157)
+* convertOptions: Options. (line 143)
+* Coons shading: fill. (line 78)
+* copy: Arrays. (line 172)
* cos: Mathematical functions.
(line 6)
* Cos: Mathematical functions.
@@ -9021,20 +9074,20 @@ Index
* crop: graph. (line 639)
* cropping graphs: graph. (line 639)
* cross: Data types. (line 106)
-* cross <1>: Data types. (line 196)
+* cross <1>: Data types. (line 197)
* cross <2>: graph. (line 480)
* crossframe: markers. (line 22)
-* crosshatch: Pens. (line 285)
-* csv: Arrays. (line 365)
+* crosshatch: Pens. (line 302)
+* csv: Arrays. (line 370)
* CTZ: Arithmetic & logical.
(line 68)
-* cubicroots: Arrays. (line 322)
+* cubicroots: Arrays. (line 327)
* curl: Bezier curves. (line 66)
* curl <1>: three. (line 6)
* curlSpecifier: Paths and guides. (line 408)
* currentlight: three. (line 76)
* currentpen: Pens. (line 6)
-* currentprojection: three. (line 420)
+* currentprojection: three. (line 423)
* curve: slopefield. (line 20)
* custom axis types: graph. (line 141)
* custom mark routine: graph. (line 577)
@@ -9046,12 +9099,12 @@ Index
* cyclic: Paths and guides. (line 85)
* cyclic <1>: Paths and guides. (line 376)
* cyclic <2>: Arrays. (line 39)
-* cyclic <3>: three. (line 537)
-* Cyrillic: unicode. (line 7)
+* cyclic <3>: three. (line 540)
+* Cyrillic: Pens. (line 237)
* dashdotted: Pens. (line 102)
* dashed: Pens. (line 102)
* data types: Data types. (line 6)
-* date: Data types. (line 320)
+* date: Data types. (line 321)
* Debian: UNIX binary distributions.
(line 19)
* debugger: Debugger. (line 6)
@@ -9060,14 +9113,14 @@ Index
* default arguments: Default arguments. (line 6)
* defaultformat: graph. (line 175)
* DefaultHead: draw. (line 26)
-* DefaultHead3: three. (line 603)
+* DefaultHead3: three. (line 606)
* defaultpen: Pens. (line 49)
* defaultpen <1>: Pens. (line 122)
* defaultpen <2>: Pens. (line 127)
* defaultpen <3>: Pens. (line 139)
* defaultpen <4>: Pens. (line 192)
-* defaultpen <5>: Pens. (line 346)
-* defaultpen <6>: Pens. (line 370)
+* defaultpen <5>: Pens. (line 363)
+* defaultpen <6>: Pens. (line 387)
* defaultrender: three. (line 46)
* deferred drawing: simplex. (line 6)
* degrees: Data types. (line 78)
@@ -9075,54 +9128,55 @@ Index
(line 17)
* Degrees: Mathematical functions.
(line 17)
-* delete: Files. (line 150)
+* delete: Files. (line 154)
* delete <1>: Arrays. (line 39)
* description: Description. (line 6)
-* diagonal: Arrays. (line 307)
+* devicepixelratio: three. (line 174)
+* diagonal: Arrays. (line 312)
* diamond: flowchart. (line 54)
* diffuse: three. (line 76)
* diffusepen: three. (line 66)
-* dimension: Arrays. (line 370)
+* dimension: Arrays. (line 375)
* dir: Search paths. (line 9)
* dir <1>: Data types. (line 90)
-* dir <2>: Data types. (line 180)
+* dir <2>: Data types. (line 181)
* dir <3>: Paths and guides. (line 109)
-* dir <4>: three. (line 537)
+* dir <4>: three. (line 540)
* direction specifier: Bezier curves. (line 6)
-* directory: Files. (line 25)
+* directory: Files. (line 26)
* dirSpecifier: Paths and guides. (line 390)
* dirtime: Paths and guides. (line 166)
* display: Configuring. (line 20)
* do: Programming. (line 48)
-* DOSendl: Files. (line 61)
-* DOSnewl: Files. (line 61)
-* dot: draw. (line 82)
+* DOSendl: Files. (line 65)
+* DOSnewl: Files. (line 65)
+* dot: draw. (line 83)
* dot <1>: Data types. (line 103)
-* dot <2>: Data types. (line 193)
-* dot <3>: Arrays. (line 262)
-* dot <4>: Arrays. (line 265)
+* dot <2>: Data types. (line 194)
+* dot <3>: Arrays. (line 267)
+* dot <4>: Arrays. (line 270)
* DotMargin: draw. (line 42)
-* DotMargin3: three. (line 619)
+* DotMargin3: three. (line 622)
* DotMargins: draw. (line 42)
-* DotMargins3: three. (line 619)
+* DotMargins3: three. (line 622)
* dotted: Pens. (line 102)
-* double deferred drawing: three. (line 294)
-* double precision: Files. (line 76)
-* draw: Drawing commands. (line 31)
+* double deferred drawing: three. (line 297)
+* double precision: Files. (line 80)
+* draw: Drawing commands. (line 34)
* draw <1>: draw. (line 6)
* Draw: draw. (line 26)
-* draw <2>: draw. (line 112)
+* draw <2>: draw. (line 113)
* Draw <1>: Frames and pictures.
(line 160)
-* draw <3>: three. (line 142)
+* draw <3>: three. (line 144)
* drawing commands: Drawing commands. (line 6)
* drawline: math. (line 9)
* drawtree: drawtree. (line 6)
-* dvips: Configuring. (line 72)
-* dvipsOptions: Options. (line 141)
-* dvisvgm: Configuring. (line 72)
-* dvisvgm <1>: Options. (line 160)
-* dvisvgmOptions: Options. (line 141)
+* dvips: Configuring. (line 74)
+* dvipsOptions: Options. (line 143)
+* dvisvgm: Configuring. (line 74)
+* dvisvgm <1>: Options. (line 162)
+* dvisvgmOptions: Options. (line 143)
* E: Labels. (line 18)
* E <1>: Mathematical functions.
(line 48)
@@ -9137,37 +9191,37 @@ Index
* else: Programming. (line 26)
* emacs: Editing modes. (line 6)
* embed: embed. (line 6)
-* Embedded: three. (line 507)
+* Embedded: three. (line 510)
* emissivepen: three. (line 66)
* empty: Frames and pictures.
(line 7)
* EndArcArrow: draw. (line 26)
-* EndArcArrow3: three. (line 603)
+* EndArcArrow3: three. (line 606)
* EndArrow: draw. (line 26)
-* EndArrow3: three. (line 603)
+* EndArrow3: three. (line 606)
* EndBar: draw. (line 19)
-* EndBar3: three. (line 603)
+* EndBar3: three. (line 606)
* EndDotMargin: draw. (line 42)
-* EndDotMargin3: three. (line 619)
-* endl: Files. (line 61)
+* EndDotMargin3: three. (line 622)
+* endl: Files. (line 65)
* EndMargin: draw. (line 42)
-* EndMargin3: three. (line 619)
+* EndMargin3: three. (line 622)
* EndPenMargin: draw. (line 42)
-* EndPenMargin2: three. (line 619)
-* EndPenMargin3: three. (line 619)
+* EndPenMargin2: three. (line 622)
+* EndPenMargin3: three. (line 622)
* EndPoint: label. (line 55)
* envelope: Frames and pictures.
(line 25)
-* environment variables: Configuring. (line 93)
-* eof: Files. (line 93)
-* eof <1>: Arrays. (line 347)
-* eol: Files. (line 93)
-* eol <1>: Arrays. (line 347)
+* environment variables: Configuring. (line 95)
+* eof: Files. (line 97)
+* eof <1>: Arrays. (line 352)
+* eol: Files. (line 97)
+* eol <1>: Arrays. (line 352)
* EPS: label. (line 78)
-* EPS <1>: Options. (line 155)
+* EPS <1>: Options. (line 157)
* erase: Drawing in interactive mode.
(line 11)
-* erase <1>: Data types. (line 256)
+* erase <1>: Data types. (line 257)
* erase <2>: Frames and pictures.
(line 7)
* erase <3>: Frames and pictures.
@@ -9177,20 +9231,20 @@ Index
* erfc: Mathematical functions.
(line 6)
* error: Files. (line 16)
-* error <1>: Files. (line 93)
+* error <1>: Files. (line 97)
* error bars: graph. (line 531)
* errorbars: graph. (line 480)
-* eval: Import. (line 97)
-* eval <1>: Import. (line 107)
+* eval: Import. (line 102)
+* eval <1>: Import. (line 112)
* evenodd: Paths. (line 37)
* evenodd <1>: Pens. (line 164)
-* exit: Data types. (line 372)
+* exit: Data types. (line 373)
* exit <1>: Interactive mode. (line 54)
* exit <2>: Debugger. (line 56)
* exp: Mathematical functions.
(line 6)
* expi: Data types. (line 86)
-* expi <1>: Data types. (line 176)
+* expi <1>: Data types. (line 177)
* explicit: Casts. (line 6)
* explicit casts: Casts. (line 21)
* expm1: Mathematical functions.
@@ -9201,26 +9255,26 @@ Index
* extension: Paths and guides. (line 246)
* extension <1>: MetaPost. (line 10)
* external: embed. (line 11)
-* extrude: three. (line 531)
+* extrude: three. (line 534)
* F: Mathematical functions.
(line 48)
* fabs: Mathematical functions.
(line 6)
-* face: three. (line 644)
+* face: three. (line 646)
* factorial: Mathematical functions.
(line 39)
* Fedora: UNIX binary distributions.
(line 15)
* feynman: feynman. (line 6)
-* fft: Arrays. (line 240)
-* fft <1>: Arrays. (line 254)
-* fft <2>: Arrays. (line 258)
+* fft: Arrays. (line 245)
+* fft <1>: Arrays. (line 259)
+* fft <2>: Arrays. (line 263)
* FFTW: Compiling from UNIX source.
- (line 63)
+ (line 62)
* file: Files. (line 6)
* file <1>: Debugger. (line 44)
* Fill: draw. (line 26)
-* fill: draw. (line 117)
+* fill: draw. (line 118)
* fill <1>: fill. (line 6)
* fill <2>: fill. (line 17)
* Fill <1>: Frames and pictures.
@@ -9231,83 +9285,87 @@ Index
(line 136)
* filloutside: fill. (line 27)
* fillrule: Pens. (line 164)
-* find: Data types. (line 241)
-* find <1>: Arrays. (line 149)
-* findall: Arrays. (line 154)
+* find: Data types. (line 242)
+* find <1>: Arrays. (line 154)
+* findall: Arrays. (line 159)
* firstcut: Paths and guides. (line 262)
* fit: Frames and pictures.
(line 113)
-* fit3: three. (line 307)
+* fit3: three. (line 310)
* fixedscaling: Frames and pictures.
(line 81)
* floor: Mathematical functions.
(line 26)
* flowchart: flowchart. (line 6)
-* flush: Files. (line 61)
-* flush <1>: Files. (line 93)
+* flush: Files. (line 65)
+* flush <1>: Files. (line 97)
* fmod: Mathematical functions.
(line 6)
* font: Pens. (line 206)
-* font command: Pens. (line 206)
-* fontcommand: Pens. (line 221)
+* font <1>: Pens. (line 206)
+* font <2>: Pens. (line 235)
+* font encoding: Pens. (line 235)
+* fontcommand: Pens. (line 219)
* fontsize: Pens. (line 192)
* for: Programming. (line 26)
-* format: Data types. (line 289)
-* format <1>: Options. (line 155)
+* format: Data types. (line 290)
+* format <1>: Options. (line 157)
* forum: Help. (line 6)
* frame: Frames and pictures.
(line 7)
* freshnel0: three. (line 66)
* from: Import. (line 16)
-* FrontView: three. (line 423)
+* FrontView: three. (line 426)
* function declarations: Functions. (line 79)
-* Function shading: fill. (line 99)
-* function shading: fill. (line 99)
+* Function shading: fill. (line 100)
+* function shading: fill. (line 100)
* functions: Functions. (line 6)
* functions <1>: Mathematical functions.
(line 6)
-* functionshade: fill. (line 99)
+* functionshade: fill. (line 100)
* gamma: Mathematical functions.
(line 6)
* Gaussrand: Mathematical functions.
(line 39)
* geometry: geometry. (line 6)
-* getc: Files. (line 30)
-* getpair: Files. (line 118)
-* getreal: Files. (line 118)
-* getstring: Files. (line 118)
-* gettriple: Files. (line 118)
+* getc: Files. (line 32)
+* getpair: Files. (line 122)
+* getreal: Files. (line 122)
+* getstring: Files. (line 122)
+* gettriple: Files. (line 122)
* git: Git. (line 6)
-* glOptions: three. (line 251)
-* glOptions <1>: Options. (line 141)
+* globalwrite: Files. (line 40)
+* globalwrite <1>: Files. (line 154)
+* glOptions: three. (line 254)
+* glOptions <1>: Options. (line 143)
* GNU Scientific Library: Mathematical functions.
(line 48)
-* gouraudshade: fill. (line 62)
+* gouraudshade: fill. (line 63)
* Gradient: palette. (line 25)
* gradient shading: fill. (line 32)
* graph: graph. (line 6)
* graph3: graph3. (line 6)
* graphic: label. (line 78)
-* graphic <1>: Options. (line 160)
+* graphic <1>: Options. (line 162)
* graphical user interface: GUI. (line 6)
* gray: Pens. (line 25)
* grayscale: Pens. (line 25)
* Grayscale: palette. (line 9)
-* grid: Pens. (line 268)
+* grid: Pens. (line 285)
* grid <1>: graph. (line 746)
* grid3: grid3. (line 6)
* gs: Configuring. (line 20)
* GSL: Compiling from UNIX source.
- (line 63)
+ (line 62)
* gsl: Mathematical functions.
(line 48)
-* gsOptions: Options. (line 141)
+* gsOptions: Options. (line 143)
* GUI: GUI. (line 6)
* GUI installation: GUI installation. (line 6)
* GUI usage: GUI usage. (line 6)
* guide: Paths and guides. (line 314)
* guide3: three. (line 6)
-* hatch: Pens. (line 285)
+* hatch: Pens. (line 302)
* Headlamp: three. (line 76)
* height: LaTeX usage. (line 50)
* help: Interactive mode. (line 42)
@@ -9315,42 +9373,42 @@ Index
* help <2>: Debugger. (line 30)
* Hermite: graph. (line 36)
* Hermite(splinetype splinetype: graph. (line 36)
-* hex: Data types. (line 305)
+* hex: Data types. (line 306)
* hex <1>: Pens. (line 64)
-* hexadecimal: Data types. (line 305)
+* hexadecimal: Data types. (line 306)
* hexadecimal <1>: Pens. (line 62)
-* hidden surface removal: three. (line 644)
+* hidden surface removal: three. (line 646)
* histogram: Mathematical functions.
(line 39)
-* history: Files. (line 143)
+* history: Files. (line 147)
* history <1>: Interactive mode. (line 54)
* historylines: Interactive mode. (line 57)
* HookHead: draw. (line 26)
-* HookHead3: three. (line 603)
+* HookHead3: three. (line 606)
* Horizontal: flowchart. (line 77)
-* HTML5: three. (line 220)
+* HTML5: three. (line 223)
* htmlviewer: Configuring. (line 20)
* htmlviewer <1>: Configuring. (line 43)
-* htmlviewerOptions: Options. (line 141)
-* hyperrefOptions: Options. (line 141)
+* htmlviewerOptions: Options. (line 143)
+* hyperrefOptions: Options. (line 143)
* hypot: Mathematical functions.
(line 6)
* I: Mathematical functions.
(line 48)
-* iconify: three. (line 251)
+* iconify: three. (line 254)
* identity: Transforms. (line 24)
* identity <1>: Mathematical functions.
(line 6)
-* identity <2>: Arrays. (line 304)
-* identity4: three. (line 475)
+* identity <2>: Arrays. (line 309)
+* identity4: three. (line 478)
* if: Programming. (line 26)
* IgnoreAspect: Frames and pictures.
(line 63)
* image: palette. (line 33)
* image <1>: palette. (line 58)
-* ImageMagick: Configuring. (line 72)
+* ImageMagick: Configuring. (line 74)
* ImageMagick <1>: animation. (line 6)
-* ImageMagick <2>: Options. (line 155)
+* ImageMagick <2>: Options. (line 157)
* images: palette. (line 6)
* implicit casts: Casts. (line 6)
* implicit linear solver: MetaPost. (line 10)
@@ -9359,11 +9417,11 @@ Index
* import: Import. (line 45)
* inches: Figure size. (line 18)
* incircle: Data types. (line 120)
-* include: Import. (line 126)
+* include: Import. (line 134)
* including images: label. (line 78)
* increasing: math. (line 55)
* inf: Data types. (line 35)
-* inheritance: Structures. (line 181)
+* inheritance: Structures. (line 182)
* initialized: Arrays. (line 39)
* initializers: Variable initializers.
(line 6)
@@ -9373,12 +9431,13 @@ Index
* input <1>: Files. (line 12)
* input <2>: Interactive mode. (line 45)
* input <3>: Interactive mode. (line 49)
-* insert: Data types. (line 252)
+* input encoding: Pens. (line 235)
+* insert: Data types. (line 253)
* insert <1>: Arrays. (line 39)
* inside: Paths and guides. (line 294)
* inside <1>: Paths and guides. (line 299)
* inside <2>: Paths and guides. (line 305)
-* insphere: three. (line 566)
+* insphere: three. (line 569)
* inst: Debugger. (line 35)
* installation: Installation. (line 6)
* int: Data types. (line 30)
@@ -9392,29 +9451,28 @@ Index
(line 6)
* interactive mode <1>: Interactive mode. (line 6)
* interior: Paths and guides. (line 290)
-* international characters: unicode. (line 6)
* interp: Arithmetic & logical.
(line 64)
* interpolate: interpolate. (line 6)
* intersect: Paths and guides. (line 195)
* intersect <1>: math. (line 13)
-* intersect <2>: three. (line 537)
+* intersect <2>: three. (line 540)
* intersectionpoint: Paths and guides. (line 238)
* intersectionpoint <1>: math. (line 17)
-* intersectionpoint <2>: three. (line 537)
+* intersectionpoint <2>: three. (line 540)
* intersectionpoints: Paths and guides. (line 242)
-* intersectionpoints <1>: three. (line 537)
-* intersectionpoints <2>: three. (line 550)
+* intersectionpoints <1>: three. (line 540)
+* intersectionpoints <2>: three. (line 553)
* intersections: Paths and guides. (line 206)
* intersections <1>: Paths and guides. (line 213)
-* intersections <2>: three. (line 537)
-* intersections <3>: three. (line 543)
+* intersections <2>: three. (line 540)
+* intersections <3>: three. (line 546)
* InTicks: graph3. (line 35)
* intMax: Data types. (line 30)
* intMin: Data types. (line 30)
* inverse: Transforms. (line 16)
-* inverse <1>: Arrays. (line 310)
-* invert: three. (line 465)
+* inverse <1>: Arrays. (line 315)
+* invert: three. (line 468)
* invisible: Pens. (line 43)
* isnan: Data types. (line 35)
* i_scaled: Mathematical functions.
@@ -9423,7 +9481,7 @@ Index
(line 6)
* J <1>: Mathematical functions.
(line 48)
-* Japanese: unicode. (line 12)
+* Japanese: Pens. (line 244)
* K: Mathematical functions.
(line 48)
* Kate: Editing modes. (line 48)
@@ -9433,34 +9491,34 @@ Index
* keepAspect <1>: Frames and pictures.
(line 63)
* keepAspect <2>: LaTeX usage. (line 50)
-* keyboard bindings:: three. (line 198)
+* keyboard bindings:: three. (line 201)
* keys: Arrays. (line 39)
* keyword: Named arguments. (line 37)
* keyword-only: Named arguments. (line 37)
* keywords: Named arguments. (line 6)
-* Korean: unicode. (line 12)
+* Korean: Pens. (line 244)
* k_scaled: Mathematical functions.
(line 48)
* label: Labels. (line 6)
-* Label: draw. (line 100)
+* Label: draw. (line 101)
* label <1>: label. (line 6)
* Label <1>: label. (line 14)
* Label <2>: graph. (line 330)
-* label <2>: three. (line 501)
+* label <2>: three. (line 504)
* labelpath: labelpath. (line 6)
* labelpath3: labelpath3. (line 6)
* labelx: graph. (line 330)
* labely: graph. (line 330)
* Landscape: Frames and pictures.
(line 104)
+* language context: Pens. (line 235)
* lastcut: Paths and guides. (line 266)
* lasy-mode: Editing modes. (line 6)
-* latex: Options. (line 155)
-* LaTeX fonts: Pens. (line 206)
+* latex: Options. (line 157)
+* LaTeX NFSS fonts: Pens. (line 206)
* LaTeX usage: LaTeX usage. (line 6)
* latexmk: LaTeX usage. (line 30)
-* latin1: latin1. (line 6)
-* latitude: Data types. (line 163)
+* latitude: Data types. (line 164)
* latticeshade: fill. (line 32)
* layer: Drawing commands. (line 16)
* leastsquares: stats. (line 6)
@@ -9470,39 +9528,40 @@ Index
* LeftSide: label. (line 60)
* LeftTicks: graph. (line 160)
* LeftTicks <1>: graph. (line 233)
-* LeftView: three. (line 423)
-* legend: Drawing commands. (line 31)
-* legend <1>: draw. (line 64)
+* LeftView: three. (line 426)
+* legend: Drawing commands. (line 34)
+* legend <1>: draw. (line 65)
* legend <2>: graph. (line 424)
* Legendre: Mathematical functions.
(line 48)
* length: Data types. (line 65)
* length <1>: Data types. (line 144)
-* length <2>: Data types. (line 238)
+* length <2>: Data types. (line 239)
* length <3>: Paths and guides. (line 76)
* length <4>: Paths and guides. (line 373)
* length <5>: Arrays. (line 39)
-* length <6>: three. (line 537)
-* letter: Configuring. (line 66)
+* length <6>: three. (line 540)
+* letter: Configuring. (line 68)
* lexorder: math. (line 63)
* lexorder <1>: math. (line 66)
-* libgs: Options. (line 160)
+* libcurl: Import. (line 94)
+* libgs: Options. (line 162)
* libm routines: Mathematical functions.
(line 6)
* libsigsegv: Functions. (line 100)
* libsigsegv <1>: Help. (line 27)
* light: three. (line 76)
* limits: graph. (line 639)
-* line: Arrays. (line 347)
-* line <1>: Arrays. (line 351)
-* line mode: Arrays. (line 347)
+* line: Arrays. (line 352)
+* line <1>: Arrays. (line 356)
+* line mode: Arrays. (line 352)
* Linear: graph. (line 690)
* linecap: Pens. (line 139)
* linejoin: Pens. (line 149)
* lineskip: Pens. (line 192)
* linetype: Pens. (line 123)
* linewidth: Pens. (line 127)
-* locale: Data types. (line 315)
+* locale: Data types. (line 316)
* log: Mathematical functions.
(line 6)
* Log: graph. (line 690)
@@ -9517,21 +9576,25 @@ Index
(line 6)
* longdashdotted: Pens. (line 102)
* longdashed: Pens. (line 102)
-* longitude: Data types. (line 168)
+* longitude: Data types. (line 169)
* loop: Programming. (line 26)
-* lualatex: Options. (line 155)
-* luatex: Options. (line 155)
+* lualatex: Options. (line 157)
+* luatex: Options. (line 157)
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
-* makepen: Pens. (line 321)
+* MacOS X configuration: Compiling from UNIX source.
+ (line 48)
+* makepen: Pens. (line 338)
* map: Arrays. (line 131)
+* map <1>: Arrays. (line 136)
+* map <2>: map. (line 6)
* Margin: draw. (line 42)
* Margin <1>: draw. (line 42)
-* Margin3: three. (line 619)
-* Margin3 <1>: three. (line 619)
+* Margin3: three. (line 622)
+* Margin3 <1>: three. (line 622)
* Margins: draw. (line 42)
-* margins: three. (line 300)
-* Margins3: three. (line 619)
+* margins: three. (line 303)
+* Margins3: three. (line 622)
* mark: graph. (line 480)
* markangle: markers. (line 35)
* marker: graph. (line 480)
@@ -9546,14 +9609,14 @@ Index
* max: Paths and guides. (line 279)
* max <1>: Frames and pictures.
(line 7)
-* max <2>: Arrays. (line 221)
-* max <3>: Arrays. (line 231)
-* max <4>: three. (line 537)
+* max <2>: Arrays. (line 226)
+* max <3>: Arrays. (line 236)
+* max <4>: three. (line 540)
* maxbound: Data types. (line 134)
-* maxbound <1>: Data types. (line 204)
-* maxtile: three. (line 251)
+* maxbound <1>: Data types. (line 205)
+* maxtile: three. (line 254)
* maxtimes: Paths and guides. (line 233)
-* maxviewport: three. (line 251)
+* maxviewport: three. (line 254)
* metallic: three. (line 66)
* MetaPost: MetaPost. (line 6)
* MetaPost ... : Bezier curves. (line 70)
@@ -9563,37 +9626,37 @@ Index
* MetaPost whatever: MetaPost. (line 10)
* Microsoft Windows: Microsoft Windows. (line 6)
* MidArcArrow: draw. (line 26)
-* MidArcArrow3: three. (line 603)
+* MidArcArrow3: three. (line 606)
* MidArrow: draw. (line 26)
-* MidArrow3: three. (line 603)
+* MidArrow3: three. (line 606)
* MidPoint: label. (line 55)
* midpoint: Paths and guides. (line 180)
* min: Paths and guides. (line 275)
* min <1>: Frames and pictures.
(line 7)
-* min <2>: Arrays. (line 216)
-* min <3>: Arrays. (line 226)
-* min <4>: three. (line 537)
+* min <2>: Arrays. (line 221)
+* min <3>: Arrays. (line 231)
+* min <4>: three. (line 540)
* minbound: Data types. (line 131)
-* minbound <1>: Data types. (line 201)
+* minbound <1>: Data types. (line 202)
* minipage: label. (line 116)
* mintimes: Paths and guides. (line 228)
* miterjoin: Pens. (line 149)
* miterlimit: Pens. (line 159)
-* mktemp: Files. (line 44)
+* mktemp: Files. (line 48)
* mm: Figure size. (line 18)
-* mobile browser: three. (line 220)
-* mode: Files. (line 76)
-* mode <1>: Files. (line 89)
+* mobile browser: three. (line 223)
+* mode: Files. (line 80)
+* mode <1>: Files. (line 93)
* monotonic: graph. (line 36)
* mouse: GUI. (line 6)
-* mouse bindings: three. (line 179)
+* mouse bindings: three. (line 182)
* mouse wheel: GUI usage. (line 6)
-* Move: Pens. (line 358)
-* MoveQuiet: Pens. (line 364)
-* multisample: three. (line 172)
+* Move: Pens. (line 375)
+* MoveQuiet: Pens. (line 381)
+* multisample: three. (line 174)
* N: Labels. (line 18)
-* name: Files. (line 89)
+* name: Files. (line 93)
* named arguments: Named arguments. (line 6)
* nan: Data types. (line 35)
* natural: graph. (line 36)
@@ -9602,25 +9665,27 @@ Index
* new <2>: Arrays. (line 103)
* newframe: Frames and pictures.
(line 7)
-* newl: Files. (line 61)
+* newl: Files. (line 65)
+* newpage: Drawing commands. (line 27)
* newton: Mathematical functions.
(line 66)
* newton <1>: Mathematical functions.
(line 73)
* next: Debugger. (line 41)
-* NFSS: Pens. (line 206)
* nobasealign: Pens. (line 181)
* NoFill: draw. (line 26)
* NoFill <1>: Frames and pictures.
(line 154)
+* noglobalread: Files. (line 26)
+* noglobalread <1>: Files. (line 40)
* nolight: three. (line 76)
* NoMargin: draw. (line 42)
-* NoMargin3: three. (line 619)
+* NoMargin3: three. (line 622)
* None: draw. (line 19)
* None <1>: draw. (line 26)
-* none: Files. (line 61)
-* normal: three. (line 523)
-* nosafe: Options. (line 181)
+* none: Files. (line 65)
+* normal: three. (line 526)
+* nosafe: Options. (line 182)
* NOT: Arithmetic & logical.
(line 68)
* notaknot: graph. (line 36)
@@ -9632,26 +9697,26 @@ Index
(line 140)
* nullpen <2>: Frames and pictures.
(line 149)
-* NURBS: three. (line 399)
-* O: three. (line 312)
+* NURBS: three. (line 402)
+* O: three. (line 315)
* obj: obj. (line 6)
-* oblique: three. (line 355)
-* obliqueX: three. (line 362)
-* obliqueY: three. (line 368)
-* obliqueZ: three. (line 355)
+* oblique: three. (line 358)
+* obliqueX: three. (line 365)
+* obliqueY: three. (line 371)
+* obliqueZ: three. (line 358)
* ode: ode. (line 6)
* offset: Pens. (line 123)
-* offset <1>: Options. (line 186)
+* offset <1>: Options. (line 187)
* OmitTick: graph. (line 223)
* OmitTickInterval: graph. (line 223)
* OmitTickIntervals: graph. (line 223)
-* opacity: Pens. (line 237)
+* opacity: Pens. (line 254)
* opacity <1>: three. (line 66)
* open: Files. (line 12)
-* OpenGL: three. (line 172)
+* OpenGL: three. (line 174)
* operator: User-defined operators.
(line 6)
-* operator +(...string[] a).: Data types. (line 283)
+* operator +(...string[] a).: Data types. (line 284)
* operator --: graph. (line 30)
* operator ..: graph. (line 33)
* operator answer: Interactive mode. (line 35)
@@ -9665,18 +9730,18 @@ Index
* OR: Arithmetic & logical.
(line 68)
* orient: Data types. (line 108)
-* orient <1>: three. (line 554)
+* orient <1>: three. (line 557)
* orientation: Frames and pictures.
(line 104)
-* orthographic: three. (line 372)
-* outformat: three. (line 172)
+* orthographic: three. (line 375)
+* outformat: three. (line 174)
* outprefix: Frames and pictures.
(line 91)
-* output: Files. (line 36)
-* output <1>: Options. (line 155)
+* output: Files. (line 38)
+* output <1>: Options. (line 157)
* OutTicks: graph3. (line 35)
* overloading functions: Functions. (line 55)
-* overwrite: Pens. (line 343)
+* overwrite: Pens. (line 360)
* P: Mathematical functions.
(line 48)
* pack: label. (line 100)
@@ -9685,16 +9750,16 @@ Index
(line 186)
* pair: Figure size. (line 6)
* pair <1>: Data types. (line 46)
-* pairs: Arrays. (line 236)
-* paperheight: Configuring. (line 66)
-* papertype: Configuring. (line 66)
-* paperwidth: Configuring. (line 66)
+* pairs: Arrays. (line 241)
+* paperheight: Configuring. (line 68)
+* papertype: Configuring. (line 68)
+* paperwidth: Configuring. (line 68)
* parallelogram: flowchart. (line 47)
* parametric surface: graph3. (line 99)
* parametrized curve: graph. (line 639)
* partialsum: math. (line 49)
* partialsum <1>: math. (line 52)
-* patch-dependent colors: three. (line 107)
+* patch-dependent colors: three. (line 109)
* path: Paths. (line 6)
* path <1>: Paths and guides. (line 7)
* path <2>: three. (line 42)
@@ -9703,62 +9768,63 @@ Index
* path3: three. (line 6)
* path3 <1>: three. (line 42)
* path[]: Paths. (line 23)
-* patterns: Pens. (line 254)
+* patterns: Pens. (line 271)
* patterns <1>: patterns. (line 6)
* PBR: three. (line 74)
-* PDF: Options. (line 155)
-* pdflatex: Options. (line 155)
-* pdfreloadOptions: Options. (line 141)
+* PDF: Options. (line 157)
+* pdflatex: Options. (line 157)
+* pdfreloadOptions: Options. (line 143)
* pdfviewer: Configuring. (line 20)
-* pdfviewerOptions: Options. (line 141)
+* pdfviewerOptions: Options. (line 143)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
-* PenMargin2: three. (line 619)
-* PenMargin3: three. (line 619)
+* PenMargin2: three. (line 622)
+* PenMargin3: three. (line 622)
* PenMargins: draw. (line 42)
-* PenMargins2: three. (line 619)
-* PenMargins3: three. (line 619)
+* PenMargins2: three. (line 622)
+* PenMargins3: three. (line 622)
* periodic: graph. (line 36)
* perl: LaTeX usage. (line 30)
* perpendicular: geometry. (line 6)
-* perspective: three. (line 399)
+* perspective: three. (line 402)
* physically based rendering: three. (line 74)
* picture: Frames and pictures.
(line 39)
* picture alignment: Frames and pictures.
(line 231)
* piecewisestraight: Paths and guides. (line 92)
-* pixel: three. (line 626)
+* pixel: three. (line 629)
* Pl: Mathematical functions.
(line 48)
* plain: plain. (line 6)
-* planar: three. (line 116)
-* plane: three. (line 338)
-* planeproject: three. (line 520)
+* planar: three. (line 118)
+* plane: three. (line 341)
+* planeproject: three. (line 523)
* point: Paths and guides. (line 95)
* point <1>: Paths and guides. (line 379)
-* point <2>: three. (line 537)
-* polar: Data types. (line 148)
+* point <2>: three. (line 540)
+* polar: Data types. (line 149)
* polargraph: graph. (line 88)
* polygon: graph. (line 480)
* pop: Arrays. (line 39)
* Portrait: Frames and pictures.
(line 104)
* position: three. (line 76)
+* position <1>: three. (line 174)
* postcontrol: Paths and guides. (line 146)
-* postcontrol <1>: three. (line 537)
+* postcontrol <1>: three. (line 540)
* postfix operators: Self & prefix operators.
(line 19)
* postscript: Frames and pictures.
(line 297)
-* PostScript fonts: Pens. (line 224)
+* PostScript fonts: Pens. (line 222)
* PostScript subpath: Paths. (line 23)
* pow10: Mathematical functions.
(line 6)
-* prc: three. (line 269)
-* precision: Files. (line 93)
+* prc: three. (line 272)
+* precision: Files. (line 97)
* precontrol: Paths and guides. (line 139)
-* precontrol <1>: three. (line 537)
+* precontrol <1>: three. (line 540)
* prefix operators: Self & prefix operators.
(line 6)
* private: Structures. (line 6)
@@ -9766,23 +9832,23 @@ Index
* pstoedit: PostScript to Asymptote.
(line 6)
* psviewer: Configuring. (line 20)
-* psviewerOptions: Options. (line 141)
+* psviewerOptions: Options. (line 143)
* pt: Figure size. (line 18)
* public: Structures. (line 6)
* push: Arrays. (line 39)
* Python usage: Interactive mode. (line 72)
-* quadraticroots: Arrays. (line 313)
-* quadraticroots <1>: Arrays. (line 318)
+* quadraticroots: Arrays. (line 318)
+* quadraticroots <1>: Arrays. (line 323)
* quarticroots: math. (line 22)
-* quick reference: Description. (line 84)
+* quick reference: Description. (line 88)
* quit: Drawing in interactive mode.
(line 11)
* quit <1>: Interactive mode. (line 54)
* quit <2>: Debugger. (line 53)
-* quote: Import. (line 115)
+* quote: Import. (line 120)
* quotient: Arithmetic & logical.
(line 6)
-* radialshade: fill. (line 51)
+* radialshade: fill. (line 52)
* RadialShade: Frames and pictures.
(line 172)
* RadialShadeDraw: Frames and pictures.
@@ -9790,16 +9856,16 @@ Index
* radians: Mathematical functions.
(line 17)
* radius: Paths and guides. (line 135)
-* radius <1>: three. (line 537)
+* radius <1>: three. (line 540)
* Rainbow: palette. (line 12)
* rand: Mathematical functions.
(line 39)
* randMax: Mathematical functions.
(line 39)
-* read: Arrays. (line 387)
+* read: Arrays. (line 392)
* reading: Files. (line 12)
-* reading string arrays: Arrays. (line 357)
-* readline: Files. (line 135)
+* reading string arrays: Arrays. (line 362)
+* readline: Files. (line 139)
* real: Data types. (line 35)
* realDigits: Data types. (line 35)
* realEpsilon: Data types. (line 35)
@@ -9808,7 +9874,7 @@ Index
* realmult: Data types. (line 100)
* rectangle: flowchart. (line 34)
* recursion: Functions. (line 100)
-* reference: Description. (line 84)
+* reference: Description. (line 88)
* reflect: Transforms. (line 42)
* Relative: label. (line 50)
* Relative <1>: label. (line 60)
@@ -9816,24 +9882,24 @@ Index
* reltime: Paths and guides. (line 172)
* remainder: Mathematical functions.
(line 6)
-* rename: Files. (line 152)
+* rename: Files. (line 156)
* render: three. (line 46)
-* render <1>: three. (line 172)
-* render <2>: Options. (line 155)
-* replace: Data types. (line 269)
-* resetdefaultpen: Pens. (line 370)
+* render <1>: three. (line 174)
+* render <2>: Options. (line 157)
+* replace: Data types. (line 270)
+* resetdefaultpen: Pens. (line 387)
* rest arguments: Rest arguments. (line 6)
* restore: Frames and pictures.
(line 291)
* restricted: Structures. (line 6)
* return: Debugger. (line 47)
-* reverse: Data types. (line 265)
+* reverse: Data types. (line 266)
* reverse <1>: Paths and guides. (line 183)
* reverse <2>: Paths and guides. (line 382)
-* reverse <3>: Arrays. (line 136)
-* reverse <4>: three. (line 537)
-* rewind: Files. (line 93)
-* rfind: Data types. (line 246)
+* reverse <3>: Arrays. (line 141)
+* reverse <4>: three. (line 540)
+* rewind: Files. (line 97)
+* rfind: Data types. (line 247)
* rgb: Pens. (line 30)
* rgb <1>: Pens. (line 34)
* rgb <2>: Pens. (line 62)
@@ -9843,9 +9909,9 @@ Index
* RightSide: label. (line 60)
* RightTicks: graph. (line 160)
* RightTicks <1>: graph. (line 233)
-* RightView: three. (line 423)
+* RightView: three. (line 426)
* Rotate: label. (line 36)
-* rotate: three. (line 491)
+* rotate: three. (line 494)
* Rotate(pair z): label. (line 39)
* round: Mathematical functions.
(line 26)
@@ -9855,42 +9921,42 @@ Index
* roundrectangle: flowchart. (line 66)
* RPM: UNIX binary distributions.
(line 6)
-* runtime imports: Import. (line 97)
-* Russian: unicode. (line 7)
+* runtime imports: Import. (line 102)
+* Russian: Pens. (line 237)
* S: Labels. (line 18)
-* safe: Options. (line 181)
+* safe: Options. (line 182)
* save: Frames and pictures.
(line 288)
-* saveline: Files. (line 135)
+* saveline: Files. (line 139)
* Scale: label. (line 45)
* scale: Pens. (line 123)
* scale <1>: Transforms. (line 34)
* scale <2>: Transforms. (line 36)
* scale <3>: graph. (line 690)
* Scale <1>: graph. (line 707)
-* scale <4>: three. (line 490)
-* scale3: three. (line 488)
+* scale <4>: three. (line 493)
+* scale3: three. (line 491)
* scaled graph: graph. (line 670)
* scientific graph: graph. (line 387)
-* scroll: Files. (line 109)
-* search: Arrays. (line 157)
-* search <1>: Arrays. (line 163)
+* scroll: Files. (line 113)
+* search: Arrays. (line 162)
+* search <1>: Arrays. (line 168)
* search paths: Search paths. (line 6)
* Seascape: Frames and pictures.
(line 110)
* secondary axis: graph. (line 833)
* secondaryX: graph. (line 833)
* secondaryY: graph. (line 833)
-* seconds: Data types. (line 329)
-* seek: Files. (line 93)
-* seekeof: Files. (line 93)
+* seconds: Data types. (line 330)
+* seek: Files. (line 97)
+* seekeof: Files. (line 97)
* segment: math. (line 46)
* segmentation fault: Help. (line 27)
* self operators: Self & prefix operators.
(line 6)
* sequence: Arrays. (line 118)
* settings: Configuring. (line 20)
-* settings <1>: Options. (line 126)
+* settings <1>: Options. (line 128)
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
@@ -9898,16 +9964,16 @@ Index
* shift: Transforms. (line 26)
* shift <1>: Transforms. (line 28)
* shift <2>: Transforms. (line 46)
-* shift <3>: three. (line 480)
+* shift <3>: three. (line 483)
* shiftless: Transforms. (line 46)
* shininess: three. (line 66)
* shipout: Frames and pictures.
(line 91)
-* showtarget: three. (line 372)
+* showtarget: three. (line 375)
* Si: Mathematical functions.
(line 48)
-* signedint: Files. (line 76)
-* signedint <1>: Files. (line 89)
+* signedint: Files. (line 80)
+* signedint <1>: Files. (line 93)
* SimpleHead: draw. (line 26)
* simplex: simplex. (line 6)
* simpson: Mathematical functions.
@@ -9916,16 +9982,16 @@ Index
(line 6)
* Sin: Mathematical functions.
(line 20)
-* single precision: Files. (line 76)
-* singleint: Files. (line 76)
-* singleint <1>: Files. (line 89)
-* singlereal: Files. (line 76)
-* singlereal <1>: Files. (line 89)
+* single precision: Files. (line 80)
+* singleint: Files. (line 80)
+* singleint <1>: Files. (line 93)
+* singlereal: Files. (line 80)
+* singlereal <1>: Files. (line 93)
* sinh: Mathematical functions.
(line 6)
-* SixViews: three. (line 438)
-* SixViewsFR: three. (line 438)
-* SixViewsUS: three. (line 438)
+* SixViews: three. (line 441)
+* SixViewsFR: three. (line 441)
+* SixViewsUS: three. (line 441)
* size: Figure size. (line 6)
* size <1>: Paths and guides. (line 81)
* size <2>: Paths and guides. (line 370)
@@ -9933,12 +9999,12 @@ Index
(line 48)
* size <4>: Frames and pictures.
(line 74)
-* size <5>: three. (line 537)
-* size <6>: Options. (line 155)
-* size3: three. (line 297)
+* size <5>: three. (line 540)
+* size <6>: Options. (line 157)
+* size3: three. (line 300)
* Slant: label. (line 42)
* slant: Transforms. (line 38)
-* sleep: Data types. (line 375)
+* sleep: Data types. (line 376)
* slice: Paths and guides. (line 251)
* slice <1>: Paths and guides. (line 262)
* slices: Slices. (line 6)
@@ -9951,17 +10017,17 @@ Index
(line 48)
* solid: Pens. (line 102)
* solids: solids. (line 6)
-* solve: Arrays. (line 282)
-* solve <1>: Arrays. (line 298)
-* sort: Arrays. (line 177)
-* sort <1>: Arrays. (line 181)
-* sort <2>: Arrays. (line 196)
+* solve: Arrays. (line 287)
+* solve <1>: Arrays. (line 303)
+* sort: Arrays. (line 182)
+* sort <1>: Arrays. (line 186)
+* sort <2>: Arrays. (line 201)
* specular: three. (line 76)
* specularfactor: three. (line 76)
* specularpen: three. (line 66)
* Spline: graph. (line 33)
* Spline <1>: graph3. (line 99)
-* split: Data types. (line 278)
+* split: Data types. (line 279)
* sqrt: Mathematical functions.
(line 6)
* squarecap: Pens. (line 139)
@@ -9972,42 +10038,42 @@ Index
* stack overflow <2>: Help. (line 27)
* static: Static. (line 6)
* stats: stats. (line 6)
-* stdin: Files. (line 48)
-* stdout: Files. (line 48)
+* stdin: Files. (line 52)
+* stdout: Files. (line 52)
* step: Debugger. (line 38)
* stickframe: markers. (line 16)
* stop: Debugger. (line 10)
* straight: Paths and guides. (line 88)
* Straight: graph. (line 30)
-* straight <1>: three. (line 537)
-* strftime: Data types. (line 320)
-* strftime <1>: Data types. (line 345)
-* string: Data types. (line 207)
-* string <1>: Data types. (line 311)
+* straight <1>: three. (line 540)
+* strftime: Data types. (line 321)
+* strftime <1>: Data types. (line 346)
+* string: Data types. (line 208)
+* string <1>: Data types. (line 312)
* stroke: fill. (line 36)
* stroke <1>: clip. (line 6)
* strokepath: Paths and guides. (line 309)
-* strptime: Data types. (line 329)
+* strptime: Data types. (line 330)
* struct: Structures. (line 6)
* structures: Structures. (line 6)
* subpath: Paths and guides. (line 186)
-* subpath <1>: three. (line 537)
+* subpath <1>: three. (line 540)
* subpictures: Frames and pictures.
(line 113)
-* substr: Data types. (line 261)
-* sum: Arrays. (line 211)
+* substr: Data types. (line 262)
+* sum: Arrays. (line 216)
* superpath: Paths. (line 23)
-* Suppress: Pens. (line 350)
-* SuppressQuiet: Pens. (line 354)
+* Suppress: Pens. (line 367)
+* SuppressQuiet: Pens. (line 371)
* surface: three. (line 46)
-* surface <1>: three. (line 116)
-* surface <2>: three. (line 130)
+* surface <1>: three. (line 118)
+* surface <2>: three. (line 132)
* surface <3>: graph3. (line 99)
-* SVG: Options. (line 160)
-* system: Data types. (line 353)
-* system <1>: Options. (line 181)
+* SVG: Options. (line 162)
+* system: Data types. (line 354)
+* system <1>: Options. (line 182)
* syzygy: syzygy. (line 6)
-* tab: Files. (line 61)
+* tab: Files. (line 65)
* tab completion: Drawing in interactive mode.
(line 11)
* tan: Mathematical functions.
@@ -10016,23 +10082,23 @@ Index
(line 20)
* tanh: Mathematical functions.
(line 6)
-* target: three. (line 372)
-* tell: Files. (line 93)
+* target: three. (line 375)
+* tell: Files. (line 97)
* tension: Bezier curves. (line 56)
* tension <1>: three. (line 6)
* tensionSpecifier: Paths and guides. (line 402)
-* tensor product shading: fill. (line 77)
-* tensorshade: fill. (line 77)
-* tessellation: three. (line 142)
+* tensor product shading: fill. (line 78)
+* tensorshade: fill. (line 78)
+* tessellation: three. (line 144)
* tex: Frames and pictures.
(line 305)
-* tex <1>: Options. (line 155)
-* TeX fonts: Pens. (line 215)
-* TeX string: Data types. (line 207)
-* texcommand: Configuring. (line 72)
+* tex <1>: Options. (line 157)
+* TeX fonts: Pens. (line 213)
+* TeX string: Data types. (line 208)
+* texcommand: Configuring. (line 74)
* TeXHead: draw. (line 26)
-* TeXHead3: three. (line 603)
-* texpath: Configuring. (line 72)
+* TeXHead3: three. (line 606)
+* texpath: Configuring. (line 74)
* texpath <1>: label. (line 113)
* texpreamble: Frames and pictures.
(line 314)
@@ -10041,73 +10107,72 @@ Index
* textbook graph: graph. (line 360)
* tgz: UNIX binary distributions.
(line 6)
-* thick: three. (line 154)
-* thin: three. (line 154)
+* thick: three. (line 156)
+* thin: three. (line 156)
* this: Structures. (line 6)
* three: three. (line 6)
-* ThreeViews: three. (line 438)
-* ThreeViewsFR: three. (line 438)
-* ThreeViewsUS: three. (line 438)
+* ThreeViews: three. (line 441)
+* ThreeViewsFR: three. (line 441)
+* ThreeViewsUS: three. (line 441)
* tick: graph. (line 330)
* ticks: graph. (line 160)
* Ticks: graph. (line 160)
* Ticks <1>: graph. (line 233)
* tildeframe: markers. (line 24)
-* tile: Pens. (line 268)
-* tilings: Pens. (line 254)
-* time: Data types. (line 320)
-* time <1>: Data types. (line 345)
+* tile: Pens. (line 285)
+* tilings: Pens. (line 271)
+* time: Data types. (line 321)
+* time <1>: Data types. (line 346)
* time <2>: math. (line 26)
* time <3>: math. (line 30)
* times: Paths and guides. (line 220)
* times <1>: Paths and guides. (line 224)
* Top: graph. (line 135)
-* TopView: three. (line 423)
+* TopView: three. (line 426)
* trace: Debugger. (line 50)
* trailingzero: graph. (line 175)
* transform: Transforms. (line 6)
-* transform <1>: three. (line 512)
-* transform3: three. (line 475)
-* transparency: Pens. (line 237)
+* transform <1>: three. (line 515)
+* transform3: three. (line 478)
+* transparency: Pens. (line 254)
* transparent: three. (line 97)
-* transpose: Arrays. (line 203)
-* transpose <1>: Arrays. (line 206)
+* transpose: Arrays. (line 208)
+* transpose <1>: Arrays. (line 211)
* tree: tree. (line 6)
* trembling: trembling. (line 6)
* triangle: geometry. (line 6)
-* triangles: three. (line 142)
+* triangles: three. (line 144)
* triangulate: contour. (line 149)
-* tridiagonal: Arrays. (line 269)
+* tridiagonal: Arrays. (line 274)
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 137)
* TrueMargin: draw. (line 42)
-* TrueMargin3: three. (line 619)
-* tube: three. (line 154)
+* TrueMargin3: three. (line 622)
+* tube: three. (line 156)
* tube <1>: tube. (line 6)
* tutorial: Tutorial. (line 6)
* type1cm: Pens. (line 192)
-* typedef: Data types. (line 384)
+* typedef: Data types. (line 385)
* typedef <1>: Functions. (line 46)
* U3D: embed. (line 22)
* undefined: Paths and guides. (line 283)
* UnFill: draw. (line 26)
-* unfill: fill. (line 109)
+* unfill: fill. (line 110)
* UnFill <1>: Frames and pictures.
(line 165)
* UnFill <2>: Frames and pictures.
(line 168)
-* unicode: unicode. (line 6)
-* uniform: Arrays. (line 145)
+* uniform: Arrays. (line 150)
* uninstall: Uninstall. (line 6)
* unique: math. (line 59)
* unit: Data types. (line 83)
-* unit <1>: Data types. (line 173)
+* unit <1>: Data types. (line 174)
* unitbox: Paths. (line 44)
-* unitbox <1>: three. (line 344)
+* unitbox <1>: three. (line 347)
* unitcircle: Paths. (line 17)
* unitcircle <1>: Paths. (line 17)
-* unitcircle <2>: three. (line 312)
+* unitcircle <2>: three. (line 315)
* unitrand: Mathematical functions.
(line 39)
* unitsize: Figure size. (line 39)
@@ -10117,18 +10182,19 @@ Index
(line 6)
* unpacking: Rest arguments. (line 39)
* unravel: Import. (line 29)
-* up: three. (line 372)
-* update: Files. (line 36)
+* up: three. (line 375)
+* update: Files. (line 38)
* UpsideDown: Frames and pictures.
(line 104)
* UpsideDown <1>: Frames and pictures.
(line 110)
+* URL: Import. (line 94)
* usepackage: Frames and pictures.
(line 321)
* user coordinates: Figure size. (line 39)
* user-defined operators: User-defined operators.
(line 6)
-* usleep: Data types. (line 378)
+* usleep: Data types. (line 379)
* value: math. (line 34)
* value <1>: math. (line 37)
* var: Variable initializers.
@@ -10138,50 +10204,50 @@ Index
* vectorfield: graph. (line 1004)
* vectorfield <1>: graph. (line 1043)
* vectorfield3: graph3. (line 157)
-* vectorization: Arrays. (line 326)
+* vectorization: Arrays. (line 331)
* verbatim: Frames and pictures.
(line 297)
-* vertex-dependent colors: three. (line 107)
+* vertex-dependent colors: three. (line 109)
* Vertical: flowchart. (line 77)
* Viewport: three. (line 76)
* viewportheight: LaTeX usage. (line 50)
-* viewportmargin: three. (line 300)
-* viewportsize: three. (line 300)
+* viewportmargin: three. (line 303)
+* viewportsize: three. (line 303)
* viewportwidth: LaTeX usage. (line 50)
-* views: three. (line 269)
+* views: three. (line 272)
* vim: Editing modes. (line 32)
-* virtual functions: Structures. (line 181)
+* virtual functions: Structures. (line 182)
* void: Data types. (line 10)
* W: Labels. (line 18)
-* WebGL: three. (line 220)
+* WebGL: three. (line 223)
* whatever: Paths and guides. (line 246)
* Wheel: palette. (line 22)
* wheel mouse: GUI. (line 6)
* while: Programming. (line 48)
* White: three. (line 76)
-* white-space string delimiter mode: Arrays. (line 357)
+* white-space string delimiter mode: Arrays. (line 362)
* width: LaTeX usage. (line 50)
* windingnumber: Paths and guides. (line 283)
-* word: Arrays. (line 357)
-* write: Files. (line 53)
-* write <1>: Arrays. (line 396)
-* X: three. (line 312)
+* word: Arrays. (line 362)
+* write: Files. (line 57)
+* write <1>: Arrays. (line 401)
+* X: three. (line 315)
* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
-* xdr: Files. (line 76)
-* xelatex: Options. (line 155)
+* xdr: Files. (line 80)
+* xelatex: Options. (line 157)
* XEquals: graph. (line 265)
* xequals: graph. (line 278)
* xlimits: graph. (line 639)
* XOR: Arithmetic & logical.
(line 68)
* xpart: Data types. (line 94)
-* xpart <1>: Data types. (line 184)
+* xpart <1>: Data types. (line 185)
* xscale: Transforms. (line 30)
-* xscale3: three. (line 482)
+* xscale3: three. (line 485)
* xtick: graph. (line 330)
-* XY: three. (line 497)
-* XY <1>: three. (line 512)
+* XY: three. (line 500)
+* XY <1>: three. (line 515)
* XYEquals: graph3. (line 21)
* XYZero: graph3. (line 21)
* XZEquals: graph3. (line 21)
@@ -10191,22 +10257,22 @@ Index
(line 6)
* Y <1>: Mathematical functions.
(line 48)
-* Y <2>: three. (line 312)
+* Y <2>: three. (line 315)
* yaxis3: graph3. (line 7)
* YEquals: graph. (line 128)
* yequals: graph. (line 278)
* ylimits: graph. (line 639)
* ypart: Data types. (line 97)
-* ypart <1>: Data types. (line 187)
+* ypart <1>: Data types. (line 188)
* yscale: Transforms. (line 32)
-* yscale3: three. (line 484)
+* yscale3: three. (line 487)
* ytick: graph. (line 330)
-* YX: three. (line 512)
-* YZ: three. (line 512)
+* YX: three. (line 515)
+* YZ: three. (line 515)
* YZEquals: graph3. (line 21)
* YZero: graph. (line 123)
* YZZero: graph3. (line 21)
-* Z: three. (line 312)
+* Z: three. (line 315)
* zaxis3: graph3. (line 7)
* zeroTransform: Transforms. (line 44)
* zerowinding: Pens. (line 164)
@@ -10222,160 +10288,159 @@ Index
(line 48)
* zeta: Mathematical functions.
(line 48)
-* zpart: Data types. (line 190)
-* zscale3: three. (line 486)
-* ZX: three. (line 512)
-* ZX <1>: three. (line 512)
-* ZY: three. (line 512)
+* zpart: Data types. (line 191)
+* zscale3: three. (line 489)
+* ZX: three. (line 515)
+* ZX <1>: three. (line 515)
+* ZY: three. (line 515)

Tag Table:
Node: Top570
-Node: Description7280
-Node: Installation11190
-Node: UNIX binary distributions12236
-Node: MacOS X binary distributions13366
-Node: Microsoft Windows13921
-Node: Configuring15128
-Node: Search paths19591
-Node: Compiling from UNIX source20430
-Node: Editing modes23492
-Node: Git25914
-Node: Uninstall26314
-Node: Tutorial26660
-Node: Drawing in batch mode27551
-Node: Drawing in interactive mode28427
-Node: Figure size29459
-Node: Labels31054
-Node: Paths31882
-Ref: unitcircle32498
-Node: Drawing commands34400
-Node: draw36115
-Ref: arrows37297
-Node: fill42795
-Ref: gradient shading43841
-Node: clip48357
-Node: label48944
-Ref: Label49544
-Node: Bezier curves55376
-Node: Programming59276
-Ref: array iteration61029
-Node: Data types61196
-Ref: format71858
-Node: Paths and guides76304
-Ref: circle76558
-Ref: extension86258
-Node: Pens93068
-Ref: fillrule100759
-Ref: basealign101663
-Ref: transparency104497
-Ref: makepen108091
-Ref: overwrite108975
-Node: Transforms110189
-Node: Frames and pictures112021
-Ref: envelope113179
-Ref: size114272
-Ref: unitsize115259
-Ref: shipout116332
-Ref: filltype118683
-Ref: add122096
-Ref: add about123038
-Ref: tex126068
-Node: Files126964
-Ref: cd127951
-Ref: scroll132636
-Node: Variable initializers135554
-Node: Structures138271
-Node: Operators145773
-Node: Arithmetic & logical146087
-Node: Self & prefix operators148457
-Node: User-defined operators149251
-Node: Implicit scaling150164
-Node: Functions150727
-Ref: stack overflow153869
-Node: Default arguments154151
-Node: Named arguments154907
-Node: Rest arguments157477
-Node: Mathematical functions160599
-Node: Arrays165256
-Ref: sort172364
-Ref: tridiagonal175275
-Ref: solve176506
-Node: Slices180646
-Node: Casts184554
-Node: Import186824
-Node: Static192082
-Node: LaTeX usage194975
-Node: Base modules201470
-Node: plain204027
-Node: simplex204701
-Node: math204975
-Node: interpolate207559
-Node: geometry207838
-Node: trembling208432
-Node: stats208701
-Node: patterns208961
-Node: markers209197
-Node: tree211059
-Node: binarytree211244
-Node: drawtree211911
-Node: syzygy212112
-Node: feynman212386
-Node: roundedpath212661
-Node: animation212944
-Ref: animate213365
-Node: embed214478
-Node: slide215432
-Node: MetaPost215764
-Node: unicode216483
-Node: latin1217357
-Node: babel217726
-Node: labelpath217956
-Node: labelpath3218777
-Node: annotate219088
-Node: CAD219558
-Node: graph219869
-Ref: ticks227030
-Ref: pathmarkers240768
-Ref: marker241239
-Ref: markuniform241593
-Ref: errorbars243401
-Ref: automatic scaling247880
-Node: palette259641
-Ref: images259759
-Ref: image263933
-Ref: logimage264454
-Ref: penimage265560
-Ref: penfunctionimage265823
-Node: three266595
-Ref: PostScript3D295892
-Node: obj297631
-Node: graph3297880
-Ref: GaussianSurface303163
-Node: grid3304313
-Node: solids305098
-Node: tube306091
-Node: flowchart308322
-Node: contour312931
-Node: contour3318251
-Node: smoothcontour3318564
-Node: slopefield320285
-Node: ode321775
-Node: Options322032
-Ref: configuration file328817
-Ref: settings328817
-Ref: texengines330081
-Ref: convert330081
-Node: Interactive mode333591
-Ref: history335741
-Node: GUI337044
-Node: GUI installation337595
-Node: GUI usage338326
-Node: PostScript to Asymptote339389
-Node: Help340148
-Node: Debugger341822
-Node: Credits343578
-Node: Index344595
+Node: Description7200
+Node: Installation11286
+Node: UNIX binary distributions12332
+Node: MacOS X binary distributions13455
+Node: Microsoft Windows14010
+Node: Configuring15217
+Node: Search paths19829
+Node: Compiling from UNIX source20837
+Node: Editing modes23988
+Node: Git26410
+Node: Uninstall26917
+Node: Tutorial27263
+Node: Drawing in batch mode28110
+Node: Drawing in interactive mode28986
+Node: Figure size30018
+Node: Labels31613
+Node: Paths32441
+Ref: unitcircle33057
+Node: Drawing commands34955
+Node: draw36763
+Ref: arrows37945
+Node: fill43461
+Ref: gradient shading44507
+Node: clip49121
+Node: label49870
+Ref: Label50470
+Node: Bezier curves56328
+Node: Programming60228
+Ref: array iteration61981
+Node: Data types62148
+Ref: format72916
+Node: Paths and guides77362
+Ref: circle77616
+Ref: extension87316
+Node: Pens94126
+Ref: fillrule101817
+Ref: basealign102721
+Ref: transparency106403
+Ref: makepen109997
+Ref: overwrite110881
+Node: Transforms112095
+Node: Frames and pictures114034
+Ref: envelope115192
+Ref: size116285
+Ref: unitsize117272
+Ref: shipout118345
+Ref: filltype120696
+Ref: add124109
+Ref: add about125051
+Ref: tex128081
+Node: Files128977
+Ref: cd130034
+Ref: scroll134936
+Node: Variable initializers137854
+Node: Structures140571
+Node: Operators148149
+Node: Arithmetic & logical148463
+Node: Self & prefix operators150833
+Node: User-defined operators151627
+Node: Implicit scaling152540
+Node: Functions153103
+Ref: stack overflow156245
+Node: Default arguments156527
+Node: Named arguments157283
+Node: Rest arguments159853
+Node: Mathematical functions162975
+Node: Arrays167632
+Ref: sort174921
+Ref: tridiagonal177832
+Ref: solve179063
+Node: Slices183203
+Node: Casts187111
+Node: Import189381
+Node: Static194962
+Node: LaTeX usage197848
+Node: Base modules204343
+Node: plain206820
+Node: simplex207494
+Node: math207767
+Node: interpolate210350
+Node: geometry210629
+Node: trembling211223
+Node: stats211492
+Node: patterns211751
+Node: markers211986
+Node: map213845
+Node: tree214269
+Node: binarytree214453
+Node: drawtree215120
+Node: syzygy215321
+Node: feynman215595
+Node: roundedpath215869
+Node: animation216151
+Ref: animate216572
+Node: embed217684
+Node: slide218638
+Node: MetaPost218969
+Node: babel219685
+Node: labelpath219917
+Node: labelpath3220737
+Node: annotate221048
+Node: CAD221518
+Node: graph221828
+Ref: ticks228988
+Ref: pathmarkers242713
+Ref: marker243184
+Ref: markuniform243538
+Ref: errorbars245346
+Ref: automatic scaling249825
+Node: palette261540
+Ref: images261658
+Ref: image265832
+Ref: logimage266353
+Ref: penimage267459
+Ref: penfunctionimage267722
+Node: three268494
+Ref: PostScript3D298021
+Node: obj299759
+Node: graph3300008
+Ref: GaussianSurface305291
+Node: grid3306441
+Node: solids307226
+Node: tube308218
+Node: flowchart310448
+Node: contour315091
+Node: contour3320406
+Node: smoothcontour3320718
+Node: slopefield322439
+Node: ode323929
+Node: Options324186
+Ref: configuration file331094
+Ref: settings331094
+Ref: texengines332358
+Ref: convert332358
+Node: Interactive mode335792
+Ref: history337942
+Node: GUI339245
+Node: GUI installation339796
+Node: GUI usage340529
+Node: PostScript to Asymptote341592
+Node: Help342351
+Node: Debugger344025
+Node: Credits345781
+Node: Index346889

End Tag Table
diff --git a/Master/texmf-dist/doc/man/man1/asy.1 b/Master/texmf-dist/doc/man/man1/asy.1
index bd81c767421..4ad758ce371 100644
--- a/Master/texmf-dist/doc/man/man1/asy.1
+++ b/Master/texmf-dist/doc/man/man1/asy.1
@@ -88,9 +88,15 @@ Command to autoexecute.
.B \-compact
Conserve memory at the expense of speed [false].
.TP
+.B \-compress
+Compress images in PDF output [true].
+.TP
.B \-d,\-debug
Enable debugging messages [false].
.TP
+.B \-devicepixelratio n
+Ratio of physical to logical pixels [1].
+.TP
.B \-digits n
Default output file precision [7].
.TP
@@ -115,6 +121,9 @@ Additional frame delay [0].
.B \-framerate frames/s
Animation speed [30].
.TP
+.B \-globalread
+Allow read from other directory [true].
+.TP
.B \-globalwrite
Allow write to other directory [false].
.TP
@@ -170,7 +179,7 @@ Mask fpu exceptions; command-line only.
Maximum rendering tile size [(1024,768)].
.TP
.B \-maxviewport pair
-Maximum viewport size [(2048,2048)].
+Maximum viewport size [(0,0)].
.TP
.B \-multiline
Input code over multiple lines at the prompt [false].
@@ -184,9 +193,6 @@ Multisampling width for screen images [4].
.B \-offline
Produce offline html files [false].
.TP
-.B \-offscreen
-Use offscreen rendering [false].
-.TP
.B \-O,\-offset pair
PostScript offset [(0,0)].
.TP
@@ -248,7 +254,7 @@ WebGL touch screen shift mode delay [200].
Spin speed [60].
.TP
.B \-svgemulation
-Emulate unimplemented SVG shading [false].
+Emulate unimplemented SVG shading [true].
.TP
.B \-tabcompletion
Interactive prompt auto-completion [true].
diff --git a/Master/texmf-dist/doc/man/man1/asy.man1.pdf b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
index 65d9c0983bf..182ed587aae 100644
--- a/Master/texmf-dist/doc/man/man1/asy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
index eb6b372b42a..5ef4c0c4596 100644
--- a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
Binary files differ