From 5a5ed51adcf876db905825989f564b51d622c0dd Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 9 Jun 2009 00:38:32 +0000 Subject: asy doc, tlpsrc patterns git-svn-id: svn://tug.org/texlive/trunk@13675 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf/doc/asymptote/CAD.pdf | Bin 0 -> 67399 bytes Master/texmf/doc/asymptote/asymptote.pdf | Bin 0 -> 1558385 bytes Master/texmf/doc/asymptote/examples/100d.views | 3 + .../texmf/doc/asymptote/examples/BezierPatch.asy | 14 + .../texmf/doc/asymptote/examples/BezierSurface.asy | 38 + Master/texmf/doc/asymptote/examples/Bode.asy | 27 + Master/texmf/doc/asymptote/examples/CAD1.asy | 43 + Master/texmf/doc/asymptote/examples/CDlabel.asy | 14 + Master/texmf/doc/asymptote/examples/Coons.asy | 6 + .../doc/asymptote/examples/GaussianSurface.asy | 21 + Master/texmf/doc/asymptote/examples/Gouraud.asy | 18 + .../doc/asymptote/examples/Gouraudcontour.asy | 31 + .../texmf/doc/asymptote/examples/HermiteSpline.asy | 14 + .../texmf/doc/asymptote/examples/Hobbycontrol.asy | 20 + Master/texmf/doc/asymptote/examples/Hobbydir.asy | 21 + Master/texmf/doc/asymptote/examples/Klein.asy | 19 + Master/texmf/doc/asymptote/examples/Pythagoras.asy | 22 + .../doc/asymptote/examples/PythagoreanTree.asy | 20 + .../doc/asymptote/examples/RiemannSurface.asy | 13 + .../doc/asymptote/examples/RiemannSurfaceRoot.asy | 17 + Master/texmf/doc/asymptote/examples/Sierpinski.asy | 17 + Master/texmf/doc/asymptote/examples/advection.asy | 87 ++ Master/texmf/doc/asymptote/examples/alignbox.asy | 9 + .../texmf/doc/asymptote/examples/alignedaxis.asy | 107 ++ .../doc/asymptote/examples/animations/cube.asy | 46 + .../asymptote/examples/animations/earthmoon.asy | 77 ++ .../examples/animations/embeddedmovie.asy | 24 + .../asymptote/examples/animations/embeddedu3d.asy | 6 + .../examples/animations/externalmovie.asy | 17 + .../asymptote/examples/animations/heatequation.asy | 76 ++ .../asymptote/examples/animations/inlinemovie.tex | 51 + .../asymptote/examples/animations/inlinemovie3.tex | 41 + .../doc/asymptote/examples/animations/pdfmovie.asy | 20 + .../asymptote/examples/animations/slidemovies.asy | 47 + .../doc/asymptote/examples/animations/sphere.asy | 44 + .../examples/animations/torusanimation.asy | 41 + .../asymptote/examples/animations/wavepacket.asy | 85 ++ .../doc/asymptote/examples/animations/wheel.asy | 53 + Master/texmf/doc/asymptote/examples/annotation.asy | 13 + Master/texmf/doc/asymptote/examples/arrows3.asy | 20 + Master/texmf/doc/asymptote/examples/axis3.asy | 12 + Master/texmf/doc/asymptote/examples/basealign.asy | 41 + Master/texmf/doc/asymptote/examples/bezier.asy | 1 + Master/texmf/doc/asymptote/examples/bezier2.asy | 21 + .../texmf/doc/asymptote/examples/beziercurve.asy | 12 + Master/texmf/doc/asymptote/examples/bigsquare.asy | 2 + .../doc/asymptote/examples/binarytreetest.asy | 13 + Master/texmf/doc/asymptote/examples/brokenaxis.asy | 25 + Master/texmf/doc/asymptote/examples/buildcycle.asy | 22 + Master/texmf/doc/asymptote/examples/cardioid.asy | 15 + Master/texmf/doc/asymptote/examples/centroidfg.asy | 38 + Master/texmf/doc/asymptote/examples/cheese.asy | 12 + Master/texmf/doc/asymptote/examples/circles.asy | 33 + Master/texmf/doc/asymptote/examples/coag.asy | 16 + Master/texmf/doc/asymptote/examples/colons.asy | 1 + .../texmf/doc/asymptote/examples/colorplanes.asy | 22 + Master/texmf/doc/asymptote/examples/colors.asy | 116 ++ Master/texmf/doc/asymptote/examples/condor.asy | 32 + Master/texmf/doc/asymptote/examples/cones.asy | 16 + Master/texmf/doc/asymptote/examples/conicurv.asy | 49 + .../texmf/doc/asymptote/examples/contextfonts.asy | 8 + .../texmf/doc/asymptote/examples/controlsystem.asy | 39 + Master/texmf/doc/asymptote/examples/cos2theta.asy | 15 + .../texmf/doc/asymptote/examples/cosaddition.asy | 26 + Master/texmf/doc/asymptote/examples/cpkcolors.asy | 259 ++++ Master/texmf/doc/asymptote/examples/cube.asy | 16 + .../texmf/doc/asymptote/examples/curvedlabel.asy | 4 + .../texmf/doc/asymptote/examples/curvedlabel3.asy | 17 + .../texmf/doc/asymptote/examples/cyclohexane.asy | 73 ++ Master/texmf/doc/asymptote/examples/cylinder.asy | 7 + .../doc/asymptote/examples/cylinderskeleton.asy | 6 + Master/texmf/doc/asymptote/examples/datagraph.asy | 12 + Master/texmf/doc/asymptote/examples/delu.asy | 29 + Master/texmf/doc/asymptote/examples/diagonal.asy | 1 + Master/texmf/doc/asymptote/examples/diatom.asy | 129 ++ Master/texmf/doc/asymptote/examples/diatom.csv | 28 + Master/texmf/doc/asymptote/examples/dimension.asy | 23 + Master/texmf/doc/asymptote/examples/dots.asy | 1 + Master/texmf/doc/asymptote/examples/dragon.asy | 66 + Master/texmf/doc/asymptote/examples/eetomumu.asy | 60 + .../doc/asymptote/examples/electromagnetic.asy | 47 + Master/texmf/doc/asymptote/examples/elevation.asy | 15 + Master/texmf/doc/asymptote/examples/elliptic.asy | 115 ++ Master/texmf/doc/asymptote/examples/epix.asy | 14 + .../texmf/doc/asymptote/examples/equilateral.asy | 12 + Master/texmf/doc/asymptote/examples/equilchord.asy | 21 + Master/texmf/doc/asymptote/examples/errorbars.asy | 42 + Master/texmf/doc/asymptote/examples/exp.asy | 14 + .../texmf/doc/asymptote/examples/externalprc.tex | 12 + .../doc/asymptote/examples/extrudedcontour.asy | 22 + Master/texmf/doc/asymptote/examples/fano.asy | 28 + Master/texmf/doc/asymptote/examples/fermi.asy | 40 + Master/texmf/doc/asymptote/examples/filegraph.asy | 15 + Master/texmf/doc/asymptote/examples/filegraph.dat | 4 + .../texmf/doc/asymptote/examples/filesurface.asy | 34 + .../texmf/doc/asymptote/examples/filesurface.dat | 12 + .../texmf/doc/asymptote/examples/fillcontour.asy | 29 + Master/texmf/doc/asymptote/examples/fin.asy | 152 +++ Master/texmf/doc/asymptote/examples/fjortoft.asy | 27 + .../texmf/doc/asymptote/examples/floatingdisk.asy | 24 + Master/texmf/doc/asymptote/examples/floor.asy | 28 + Master/texmf/doc/asymptote/examples/flow.asy | 31 + .../texmf/doc/asymptote/examples/flowchartdemo.asy | 30 + .../texmf/doc/asymptote/examples/fractaltree.asy | 27 + .../doc/asymptote/examples/functionshading.asy | 31 + Master/texmf/doc/asymptote/examples/galleon.asy | 14 + Master/texmf/doc/asymptote/examples/gamma.asy | 24 + Master/texmf/doc/asymptote/examples/gamma3.asy | 29 + .../texmf/doc/asymptote/examples/generalaxis.asy | 11 + .../texmf/doc/asymptote/examples/generalaxis3.asy | 13 + .../texmf/doc/asymptote/examples/graphmarkers.asy | 37 + Master/texmf/doc/asymptote/examples/grid.asy | 7 + Master/texmf/doc/asymptote/examples/grid3xyz.asy | 17 + Master/texmf/doc/asymptote/examples/hatch.asy | 11 + Master/texmf/doc/asymptote/examples/helix.asy | 20 + Master/texmf/doc/asymptote/examples/hierarchy.asy | 9 + Master/texmf/doc/asymptote/examples/histogram.asy | 19 + .../texmf/doc/asymptote/examples/hyperboloid.asy | 8 + .../asymptote/examples/hyperboloidsilhouette.asy | 9 + Master/texmf/doc/asymptote/examples/icon.asy | 22 + Master/texmf/doc/asymptote/examples/image.asy | 22 + .../texmf/doc/asymptote/examples/imagecontour.asy | 40 + .../doc/asymptote/examples/imagehistogram.asy | 47 + Master/texmf/doc/asymptote/examples/impact.asy | 28 + .../texmf/doc/asymptote/examples/integraltest.asy | 38 + .../texmf/doc/asymptote/examples/interpolate1.asy | 213 ++++ Master/texmf/doc/asymptote/examples/intro.asy | 909 ++++++++++++++ .../doc/asymptote/examples/irregularcontour.asy | 19 + Master/texmf/doc/asymptote/examples/join.asy | 15 + Master/texmf/doc/asymptote/examples/join3.asy | 24 + Master/texmf/doc/asymptote/examples/jump.asy | 14 + Master/texmf/doc/asymptote/examples/knots.asy | 27 + Master/texmf/doc/asymptote/examples/label3.asy | 7 + .../texmf/doc/asymptote/examples/label3ribbon.asy | 6 + .../texmf/doc/asymptote/examples/label3solid.asy | 6 + Master/texmf/doc/asymptote/examples/labelbox.asy | 11 + .../texmf/doc/asymptote/examples/labelsquare.asy | 6 + .../texmf/doc/asymptote/examples/laserlattice.asy | 44 + Master/texmf/doc/asymptote/examples/latexusage.tex | 113 ++ .../doc/asymptote/examples/latticeshading.asy | 7 + .../texmf/doc/asymptote/examples/leastsquares.asy | 55 + .../texmf/doc/asymptote/examples/leastsquares.dat | 882 +++++++++++++ Master/texmf/doc/asymptote/examples/legend.asy | 15 + Master/texmf/doc/asymptote/examples/lever.asy | 23 + Master/texmf/doc/asymptote/examples/limit.asy | 28 + .../texmf/doc/asymptote/examples/lineargraph.asy | 16 + .../texmf/doc/asymptote/examples/lineargraph0.asy | 16 + Master/texmf/doc/asymptote/examples/lines.asy | 10 + Master/texmf/doc/asymptote/examples/linetype.asy | 13 + Master/texmf/doc/asymptote/examples/log.asy | 14 + Master/texmf/doc/asymptote/examples/log2graph.asy | 17 + Master/texmf/doc/asymptote/examples/logdown.asy | 13 + Master/texmf/doc/asymptote/examples/loggraph.asy | 18 + Master/texmf/doc/asymptote/examples/loggrid.asy | 13 + Master/texmf/doc/asymptote/examples/logimage.asy | 22 + Master/texmf/doc/asymptote/examples/logo.asy | 28 + Master/texmf/doc/asymptote/examples/logo3.asy | 33 + Master/texmf/doc/asymptote/examples/logticks.asy | 11 + Master/texmf/doc/asymptote/examples/lowint.asy | 11 + Master/texmf/doc/asymptote/examples/lowupint.asy | 31 + Master/texmf/doc/asymptote/examples/magnetic.asy | 17 + Master/texmf/doc/asymptote/examples/makepen.asy | 9 + Master/texmf/doc/asymptote/examples/markers1.asy | 102 ++ Master/texmf/doc/asymptote/examples/markers2.asy | 34 + .../texmf/doc/asymptote/examples/markregular.asy | 26 + Master/texmf/doc/asymptote/examples/mexicanhat.asy | 22 + Master/texmf/doc/asymptote/examples/monthaxis.asy | 17 + Master/texmf/doc/asymptote/examples/mosaic.asy | 165 +++ Master/texmf/doc/asymptote/examples/mosquito.asy | 82 ++ .../texmf/doc/asymptote/examples/multicontour.asy | 19 + Master/texmf/doc/asymptote/examples/near_earth.asy | 56 + Master/texmf/doc/asymptote/examples/onecontour.asy | 5 + Master/texmf/doc/asymptote/examples/oneoverx.asy | 17 + .../texmf/doc/asymptote/examples/orthocenter.asy | 41 + .../doc/asymptote/examples/parametricelevation.asy | 10 + .../doc/asymptote/examples/parametricgraph.asy | 16 + .../doc/asymptote/examples/parametricsurface.asy | 22 + .../doc/asymptote/examples/partialsurface.asy | 29 + .../asymptote/examples/pathintersectsurface.asy | 18 + Master/texmf/doc/asymptote/examples/pdb.asy | 157 +++ Master/texmf/doc/asymptote/examples/penimage.asy | 14 + Master/texmf/doc/asymptote/examples/phase.asy | 18 + Master/texmf/doc/asymptote/examples/piicon.eps | 1135 +++++++++++++++++ .../doc/asymptote/examples/pipeintersection.asy | 13 + Master/texmf/doc/asymptote/examples/pixel.pdf | Bin 0 -> 2771 bytes .../texmf/doc/asymptote/examples/planeproject.asy | 18 + Master/texmf/doc/asymptote/examples/planes.asy | 19 + Master/texmf/doc/asymptote/examples/polararea.asy | 38 + .../texmf/doc/asymptote/examples/polarcircle.asy | 30 + Master/texmf/doc/asymptote/examples/poster.asy | 32 + Master/texmf/doc/asymptote/examples/progrid.asy | 1 + .../doc/asymptote/examples/projectelevation.asy | 18 + .../doc/asymptote/examples/projectrevolution.asy | 15 + .../texmf/doc/asymptote/examples/quartercircle.asy | 2 + Master/texmf/doc/asymptote/examples/rainbow.asy | 12 + .../texmf/doc/asymptote/examples/randompath3.asy | 3 + Master/texmf/doc/asymptote/examples/ring.asy | 5 + Master/texmf/doc/asymptote/examples/roundpath.asy | 32 + Master/texmf/doc/asymptote/examples/sacone.asy | 23 + Master/texmf/doc/asymptote/examples/sacone3D.asy | 13 + Master/texmf/doc/asymptote/examples/sacylinder.asy | 26 + .../texmf/doc/asymptote/examples/sacylinder3D.asy | 14 + Master/texmf/doc/asymptote/examples/saddle.asy | 7 + .../texmf/doc/asymptote/examples/scaledgraph.asy | 15 + .../texmf/doc/asymptote/examples/secondaryaxis.asy | 32 + .../texmf/doc/asymptote/examples/secondaryaxis.csv | 1003 +++++++++++++++ Master/texmf/doc/asymptote/examples/shade.asy | 4 + .../texmf/doc/asymptote/examples/shadedtiling.asy | 12 + .../texmf/doc/asymptote/examples/shadestroke.asy | 5 + .../texmf/doc/asymptote/examples/shellmethod.asy | 39 + .../texmf/doc/asymptote/examples/shellsqrtx01.asy | 34 + Master/texmf/doc/asymptote/examples/sin1x.asy | 16 + Master/texmf/doc/asymptote/examples/sinc.asy | 19 + Master/texmf/doc/asymptote/examples/sinxlex.asy | 24 + Master/texmf/doc/asymptote/examples/slidedemo.asy | 118 ++ .../texmf/doc/asymptote/examples/slidemovies.asy | 46 + .../texmf/doc/asymptote/examples/slopefield1.asy | 9 + .../doc/asymptote/examples/smoothelevation.asy | 24 + Master/texmf/doc/asymptote/examples/sphere.asy | 6 + .../doc/asymptote/examples/spheresilhouette.asy | 9 + .../doc/asymptote/examples/sphereskeleton.asy | 9 + .../doc/asymptote/examples/sphericalharmonic.asy | 12 + Master/texmf/doc/asymptote/examples/spiral.asy | 12 + Master/texmf/doc/asymptote/examples/spline.asy | 25 + Master/texmf/doc/asymptote/examples/spring.asy | 33 + Master/texmf/doc/asymptote/examples/spring0.asy | 4 + Master/texmf/doc/asymptote/examples/spring2.asy | 4 + Master/texmf/doc/asymptote/examples/sqrtx01.asy | 25 + Master/texmf/doc/asymptote/examples/sqrtx01y1.asy | 24 + Master/texmf/doc/asymptote/examples/square.asy | 1 + Master/texmf/doc/asymptote/examples/star.asy | 13 + Master/texmf/doc/asymptote/examples/stroke3.asy | 2 + Master/texmf/doc/asymptote/examples/strokepath.asy | 17 + .../texmf/doc/asymptote/examples/strokeshade.asy | 4 + .../texmf/doc/asymptote/examples/subpictures.asy | 20 + Master/texmf/doc/asymptote/examples/superpath.asy | 5 + Master/texmf/doc/asymptote/examples/tanh.asy | 13 + Master/texmf/doc/asymptote/examples/teapot.asy | 202 +++ Master/texmf/doc/asymptote/examples/tensor.asy | 8 + Master/texmf/doc/asymptote/examples/textpath.asy | 10 + .../doc/asymptote/examples/thermodynamics.asy | 131 ++ Master/texmf/doc/asymptote/examples/threeviews.asy | 13 + Master/texmf/doc/asymptote/examples/tile.asy | 13 + Master/texmf/doc/asymptote/examples/torus.asy | 7 + .../texmf/doc/asymptote/examples/transparency.asy | 9 + Master/texmf/doc/asymptote/examples/treetest.asy | 22 + .../texmf/doc/asymptote/examples/trefoilknot.asy | 23 + Master/texmf/doc/asymptote/examples/triads.asy | 52 + Master/texmf/doc/asymptote/examples/triangle.asy | 12 + .../texmf/doc/asymptote/examples/triangulate.asy | 19 + .../texmf/doc/asymptote/examples/triceratops.asy | 9 + Master/texmf/doc/asymptote/examples/tvgen.asy | 1314 ++++++++++++++++++++ .../texmf/doc/asymptote/examples/twistedtubes.asy | 28 + Master/texmf/doc/asymptote/examples/unitcircle.asy | 14 + .../texmf/doc/asymptote/examples/unitcircle3.asy | 9 + Master/texmf/doc/asymptote/examples/unitoctant.asy | 35 + Master/texmf/doc/asymptote/examples/upint.asy | 13 + .../texmf/doc/asymptote/examples/vectorfield.asy | 9 + .../texmf/doc/asymptote/examples/vectorfield3.asy | 26 + .../doc/asymptote/examples/vectorfieldsphere.asy | 17 + Master/texmf/doc/asymptote/examples/venn.asy | 37 + .../texmf/doc/asymptote/examples/vertexshading.asy | 10 + .../texmf/doc/asymptote/examples/washermethod.asy | 36 + Master/texmf/doc/asymptote/examples/wedge.asy | 21 + Master/texmf/doc/asymptote/examples/westnile.asy | 64 + Master/texmf/doc/asymptote/examples/westnile.csv | 402 ++++++ Master/texmf/doc/asymptote/examples/workcone.asy | 40 + Master/texmf/doc/asymptote/examples/xsin1x.asy | 10 + Master/texmf/doc/asymptote/examples/xxsq01.asy | 30 + Master/texmf/doc/asymptote/examples/xxsq01x-1.asy | 34 + Master/texmf/doc/asymptote/examples/xxsq01y.asy | 32 + Master/texmf/doc/asymptote/examples/yingyang.asy | 7 + Master/texmf/doc/info/dir | 2 +- Master/tlpkg/tlpsrc/asymptote.tlpsrc | 5 +- Master/tlpkg/tlpsrc/ulqda.tlpsrc | 1 + 275 files changed, 13215 insertions(+), 2 deletions(-) create mode 100644 Master/texmf/doc/asymptote/CAD.pdf create mode 100644 Master/texmf/doc/asymptote/asymptote.pdf create mode 100644 Master/texmf/doc/asymptote/examples/100d.views create mode 100644 Master/texmf/doc/asymptote/examples/BezierPatch.asy create mode 100644 Master/texmf/doc/asymptote/examples/BezierSurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/Bode.asy create mode 100644 Master/texmf/doc/asymptote/examples/CAD1.asy create mode 100644 Master/texmf/doc/asymptote/examples/CDlabel.asy create mode 100644 Master/texmf/doc/asymptote/examples/Coons.asy create mode 100644 Master/texmf/doc/asymptote/examples/GaussianSurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/Gouraud.asy create mode 100644 Master/texmf/doc/asymptote/examples/Gouraudcontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/HermiteSpline.asy create mode 100644 Master/texmf/doc/asymptote/examples/Hobbycontrol.asy create mode 100644 Master/texmf/doc/asymptote/examples/Hobbydir.asy create mode 100644 Master/texmf/doc/asymptote/examples/Klein.asy create mode 100644 Master/texmf/doc/asymptote/examples/Pythagoras.asy create mode 100644 Master/texmf/doc/asymptote/examples/PythagoreanTree.asy create mode 100644 Master/texmf/doc/asymptote/examples/RiemannSurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy create mode 100644 Master/texmf/doc/asymptote/examples/Sierpinski.asy create mode 100644 Master/texmf/doc/asymptote/examples/advection.asy create mode 100644 Master/texmf/doc/asymptote/examples/alignbox.asy create mode 100644 Master/texmf/doc/asymptote/examples/alignedaxis.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/cube.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/earthmoon.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/embeddedmovie.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/embeddedu3d.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/externalmovie.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/heatequation.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/inlinemovie.tex create mode 100644 Master/texmf/doc/asymptote/examples/animations/inlinemovie3.tex create mode 100644 Master/texmf/doc/asymptote/examples/animations/pdfmovie.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/slidemovies.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/sphere.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/torusanimation.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/wavepacket.asy create mode 100644 Master/texmf/doc/asymptote/examples/animations/wheel.asy create mode 100644 Master/texmf/doc/asymptote/examples/annotation.asy create mode 100644 Master/texmf/doc/asymptote/examples/arrows3.asy create mode 100644 Master/texmf/doc/asymptote/examples/axis3.asy create mode 100644 Master/texmf/doc/asymptote/examples/basealign.asy create mode 100644 Master/texmf/doc/asymptote/examples/bezier.asy create mode 100644 Master/texmf/doc/asymptote/examples/bezier2.asy create mode 100644 Master/texmf/doc/asymptote/examples/beziercurve.asy create mode 100644 Master/texmf/doc/asymptote/examples/bigsquare.asy create mode 100644 Master/texmf/doc/asymptote/examples/binarytreetest.asy create mode 100644 Master/texmf/doc/asymptote/examples/brokenaxis.asy create mode 100644 Master/texmf/doc/asymptote/examples/buildcycle.asy create mode 100644 Master/texmf/doc/asymptote/examples/cardioid.asy create mode 100644 Master/texmf/doc/asymptote/examples/centroidfg.asy create mode 100644 Master/texmf/doc/asymptote/examples/cheese.asy create mode 100644 Master/texmf/doc/asymptote/examples/circles.asy create mode 100644 Master/texmf/doc/asymptote/examples/coag.asy create mode 100644 Master/texmf/doc/asymptote/examples/colons.asy create mode 100644 Master/texmf/doc/asymptote/examples/colorplanes.asy create mode 100644 Master/texmf/doc/asymptote/examples/colors.asy create mode 100644 Master/texmf/doc/asymptote/examples/condor.asy create mode 100644 Master/texmf/doc/asymptote/examples/cones.asy create mode 100644 Master/texmf/doc/asymptote/examples/conicurv.asy create mode 100644 Master/texmf/doc/asymptote/examples/contextfonts.asy create mode 100644 Master/texmf/doc/asymptote/examples/controlsystem.asy create mode 100644 Master/texmf/doc/asymptote/examples/cos2theta.asy create mode 100644 Master/texmf/doc/asymptote/examples/cosaddition.asy create mode 100644 Master/texmf/doc/asymptote/examples/cpkcolors.asy create mode 100644 Master/texmf/doc/asymptote/examples/cube.asy create mode 100644 Master/texmf/doc/asymptote/examples/curvedlabel.asy create mode 100644 Master/texmf/doc/asymptote/examples/curvedlabel3.asy create mode 100644 Master/texmf/doc/asymptote/examples/cyclohexane.asy create mode 100644 Master/texmf/doc/asymptote/examples/cylinder.asy create mode 100644 Master/texmf/doc/asymptote/examples/cylinderskeleton.asy create mode 100644 Master/texmf/doc/asymptote/examples/datagraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/delu.asy create mode 100644 Master/texmf/doc/asymptote/examples/diagonal.asy create mode 100644 Master/texmf/doc/asymptote/examples/diatom.asy create mode 100644 Master/texmf/doc/asymptote/examples/diatom.csv create mode 100644 Master/texmf/doc/asymptote/examples/dimension.asy create mode 100644 Master/texmf/doc/asymptote/examples/dots.asy create mode 100644 Master/texmf/doc/asymptote/examples/dragon.asy create mode 100644 Master/texmf/doc/asymptote/examples/eetomumu.asy create mode 100644 Master/texmf/doc/asymptote/examples/electromagnetic.asy create mode 100644 Master/texmf/doc/asymptote/examples/elevation.asy create mode 100644 Master/texmf/doc/asymptote/examples/elliptic.asy create mode 100644 Master/texmf/doc/asymptote/examples/epix.asy create mode 100644 Master/texmf/doc/asymptote/examples/equilateral.asy create mode 100644 Master/texmf/doc/asymptote/examples/equilchord.asy create mode 100644 Master/texmf/doc/asymptote/examples/errorbars.asy create mode 100644 Master/texmf/doc/asymptote/examples/exp.asy create mode 100644 Master/texmf/doc/asymptote/examples/externalprc.tex create mode 100644 Master/texmf/doc/asymptote/examples/extrudedcontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/fano.asy create mode 100644 Master/texmf/doc/asymptote/examples/fermi.asy create mode 100644 Master/texmf/doc/asymptote/examples/filegraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/filegraph.dat create mode 100644 Master/texmf/doc/asymptote/examples/filesurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/filesurface.dat create mode 100644 Master/texmf/doc/asymptote/examples/fillcontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/fin.asy create mode 100644 Master/texmf/doc/asymptote/examples/fjortoft.asy create mode 100644 Master/texmf/doc/asymptote/examples/floatingdisk.asy create mode 100644 Master/texmf/doc/asymptote/examples/floor.asy create mode 100644 Master/texmf/doc/asymptote/examples/flow.asy create mode 100644 Master/texmf/doc/asymptote/examples/flowchartdemo.asy create mode 100644 Master/texmf/doc/asymptote/examples/fractaltree.asy create mode 100644 Master/texmf/doc/asymptote/examples/functionshading.asy create mode 100644 Master/texmf/doc/asymptote/examples/galleon.asy create mode 100644 Master/texmf/doc/asymptote/examples/gamma.asy create mode 100644 Master/texmf/doc/asymptote/examples/gamma3.asy create mode 100644 Master/texmf/doc/asymptote/examples/generalaxis.asy create mode 100644 Master/texmf/doc/asymptote/examples/generalaxis3.asy create mode 100644 Master/texmf/doc/asymptote/examples/graphmarkers.asy create mode 100644 Master/texmf/doc/asymptote/examples/grid.asy create mode 100644 Master/texmf/doc/asymptote/examples/grid3xyz.asy create mode 100644 Master/texmf/doc/asymptote/examples/hatch.asy create mode 100644 Master/texmf/doc/asymptote/examples/helix.asy create mode 100644 Master/texmf/doc/asymptote/examples/hierarchy.asy create mode 100644 Master/texmf/doc/asymptote/examples/histogram.asy create mode 100644 Master/texmf/doc/asymptote/examples/hyperboloid.asy create mode 100644 Master/texmf/doc/asymptote/examples/hyperboloidsilhouette.asy create mode 100644 Master/texmf/doc/asymptote/examples/icon.asy create mode 100644 Master/texmf/doc/asymptote/examples/image.asy create mode 100644 Master/texmf/doc/asymptote/examples/imagecontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/imagehistogram.asy create mode 100644 Master/texmf/doc/asymptote/examples/impact.asy create mode 100644 Master/texmf/doc/asymptote/examples/integraltest.asy create mode 100644 Master/texmf/doc/asymptote/examples/interpolate1.asy create mode 100644 Master/texmf/doc/asymptote/examples/intro.asy create mode 100644 Master/texmf/doc/asymptote/examples/irregularcontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/join.asy create mode 100644 Master/texmf/doc/asymptote/examples/join3.asy create mode 100644 Master/texmf/doc/asymptote/examples/jump.asy create mode 100644 Master/texmf/doc/asymptote/examples/knots.asy create mode 100644 Master/texmf/doc/asymptote/examples/label3.asy create mode 100644 Master/texmf/doc/asymptote/examples/label3ribbon.asy create mode 100644 Master/texmf/doc/asymptote/examples/label3solid.asy create mode 100644 Master/texmf/doc/asymptote/examples/labelbox.asy create mode 100644 Master/texmf/doc/asymptote/examples/labelsquare.asy create mode 100644 Master/texmf/doc/asymptote/examples/laserlattice.asy create mode 100644 Master/texmf/doc/asymptote/examples/latexusage.tex create mode 100644 Master/texmf/doc/asymptote/examples/latticeshading.asy create mode 100644 Master/texmf/doc/asymptote/examples/leastsquares.asy create mode 100644 Master/texmf/doc/asymptote/examples/leastsquares.dat create mode 100644 Master/texmf/doc/asymptote/examples/legend.asy create mode 100644 Master/texmf/doc/asymptote/examples/lever.asy create mode 100644 Master/texmf/doc/asymptote/examples/limit.asy create mode 100644 Master/texmf/doc/asymptote/examples/lineargraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/lineargraph0.asy create mode 100644 Master/texmf/doc/asymptote/examples/lines.asy create mode 100644 Master/texmf/doc/asymptote/examples/linetype.asy create mode 100644 Master/texmf/doc/asymptote/examples/log.asy create mode 100644 Master/texmf/doc/asymptote/examples/log2graph.asy create mode 100644 Master/texmf/doc/asymptote/examples/logdown.asy create mode 100644 Master/texmf/doc/asymptote/examples/loggraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/loggrid.asy create mode 100644 Master/texmf/doc/asymptote/examples/logimage.asy create mode 100644 Master/texmf/doc/asymptote/examples/logo.asy create mode 100644 Master/texmf/doc/asymptote/examples/logo3.asy create mode 100644 Master/texmf/doc/asymptote/examples/logticks.asy create mode 100644 Master/texmf/doc/asymptote/examples/lowint.asy create mode 100644 Master/texmf/doc/asymptote/examples/lowupint.asy create mode 100644 Master/texmf/doc/asymptote/examples/magnetic.asy create mode 100644 Master/texmf/doc/asymptote/examples/makepen.asy create mode 100644 Master/texmf/doc/asymptote/examples/markers1.asy create mode 100644 Master/texmf/doc/asymptote/examples/markers2.asy create mode 100644 Master/texmf/doc/asymptote/examples/markregular.asy create mode 100644 Master/texmf/doc/asymptote/examples/mexicanhat.asy create mode 100644 Master/texmf/doc/asymptote/examples/monthaxis.asy create mode 100644 Master/texmf/doc/asymptote/examples/mosaic.asy create mode 100644 Master/texmf/doc/asymptote/examples/mosquito.asy create mode 100644 Master/texmf/doc/asymptote/examples/multicontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/near_earth.asy create mode 100644 Master/texmf/doc/asymptote/examples/onecontour.asy create mode 100644 Master/texmf/doc/asymptote/examples/oneoverx.asy create mode 100644 Master/texmf/doc/asymptote/examples/orthocenter.asy create mode 100644 Master/texmf/doc/asymptote/examples/parametricelevation.asy create mode 100644 Master/texmf/doc/asymptote/examples/parametricgraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/parametricsurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/partialsurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/pathintersectsurface.asy create mode 100644 Master/texmf/doc/asymptote/examples/pdb.asy create mode 100644 Master/texmf/doc/asymptote/examples/penimage.asy create mode 100644 Master/texmf/doc/asymptote/examples/phase.asy create mode 100644 Master/texmf/doc/asymptote/examples/piicon.eps create mode 100644 Master/texmf/doc/asymptote/examples/pipeintersection.asy create mode 100644 Master/texmf/doc/asymptote/examples/pixel.pdf create mode 100644 Master/texmf/doc/asymptote/examples/planeproject.asy create mode 100644 Master/texmf/doc/asymptote/examples/planes.asy create mode 100644 Master/texmf/doc/asymptote/examples/polararea.asy create mode 100644 Master/texmf/doc/asymptote/examples/polarcircle.asy create mode 100644 Master/texmf/doc/asymptote/examples/poster.asy create mode 100644 Master/texmf/doc/asymptote/examples/progrid.asy create mode 100644 Master/texmf/doc/asymptote/examples/projectelevation.asy create mode 100644 Master/texmf/doc/asymptote/examples/projectrevolution.asy create mode 100644 Master/texmf/doc/asymptote/examples/quartercircle.asy create mode 100644 Master/texmf/doc/asymptote/examples/rainbow.asy create mode 100644 Master/texmf/doc/asymptote/examples/randompath3.asy create mode 100644 Master/texmf/doc/asymptote/examples/ring.asy create mode 100644 Master/texmf/doc/asymptote/examples/roundpath.asy create mode 100644 Master/texmf/doc/asymptote/examples/sacone.asy create mode 100644 Master/texmf/doc/asymptote/examples/sacone3D.asy create mode 100644 Master/texmf/doc/asymptote/examples/sacylinder.asy create mode 100644 Master/texmf/doc/asymptote/examples/sacylinder3D.asy create mode 100644 Master/texmf/doc/asymptote/examples/saddle.asy create mode 100644 Master/texmf/doc/asymptote/examples/scaledgraph.asy create mode 100644 Master/texmf/doc/asymptote/examples/secondaryaxis.asy create mode 100644 Master/texmf/doc/asymptote/examples/secondaryaxis.csv create mode 100644 Master/texmf/doc/asymptote/examples/shade.asy create mode 100644 Master/texmf/doc/asymptote/examples/shadedtiling.asy create mode 100644 Master/texmf/doc/asymptote/examples/shadestroke.asy create mode 100644 Master/texmf/doc/asymptote/examples/shellmethod.asy create mode 100644 Master/texmf/doc/asymptote/examples/shellsqrtx01.asy create mode 100644 Master/texmf/doc/asymptote/examples/sin1x.asy create mode 100644 Master/texmf/doc/asymptote/examples/sinc.asy create mode 100644 Master/texmf/doc/asymptote/examples/sinxlex.asy create mode 100644 Master/texmf/doc/asymptote/examples/slidedemo.asy create mode 100644 Master/texmf/doc/asymptote/examples/slidemovies.asy create mode 100644 Master/texmf/doc/asymptote/examples/slopefield1.asy create mode 100644 Master/texmf/doc/asymptote/examples/smoothelevation.asy create mode 100644 Master/texmf/doc/asymptote/examples/sphere.asy create mode 100644 Master/texmf/doc/asymptote/examples/spheresilhouette.asy create mode 100644 Master/texmf/doc/asymptote/examples/sphereskeleton.asy create mode 100644 Master/texmf/doc/asymptote/examples/sphericalharmonic.asy create mode 100644 Master/texmf/doc/asymptote/examples/spiral.asy create mode 100644 Master/texmf/doc/asymptote/examples/spline.asy create mode 100644 Master/texmf/doc/asymptote/examples/spring.asy create mode 100644 Master/texmf/doc/asymptote/examples/spring0.asy create mode 100644 Master/texmf/doc/asymptote/examples/spring2.asy create mode 100644 Master/texmf/doc/asymptote/examples/sqrtx01.asy create mode 100644 Master/texmf/doc/asymptote/examples/sqrtx01y1.asy create mode 100644 Master/texmf/doc/asymptote/examples/square.asy create mode 100644 Master/texmf/doc/asymptote/examples/star.asy create mode 100644 Master/texmf/doc/asymptote/examples/stroke3.asy create mode 100644 Master/texmf/doc/asymptote/examples/strokepath.asy create mode 100644 Master/texmf/doc/asymptote/examples/strokeshade.asy create mode 100644 Master/texmf/doc/asymptote/examples/subpictures.asy create mode 100644 Master/texmf/doc/asymptote/examples/superpath.asy create mode 100644 Master/texmf/doc/asymptote/examples/tanh.asy create mode 100644 Master/texmf/doc/asymptote/examples/teapot.asy create mode 100644 Master/texmf/doc/asymptote/examples/tensor.asy create mode 100644 Master/texmf/doc/asymptote/examples/textpath.asy create mode 100644 Master/texmf/doc/asymptote/examples/thermodynamics.asy create mode 100644 Master/texmf/doc/asymptote/examples/threeviews.asy create mode 100644 Master/texmf/doc/asymptote/examples/tile.asy create mode 100644 Master/texmf/doc/asymptote/examples/torus.asy create mode 100644 Master/texmf/doc/asymptote/examples/transparency.asy create mode 100644 Master/texmf/doc/asymptote/examples/treetest.asy create mode 100644 Master/texmf/doc/asymptote/examples/trefoilknot.asy create mode 100644 Master/texmf/doc/asymptote/examples/triads.asy create mode 100644 Master/texmf/doc/asymptote/examples/triangle.asy create mode 100644 Master/texmf/doc/asymptote/examples/triangulate.asy create mode 100644 Master/texmf/doc/asymptote/examples/triceratops.asy create mode 100644 Master/texmf/doc/asymptote/examples/tvgen.asy create mode 100644 Master/texmf/doc/asymptote/examples/twistedtubes.asy create mode 100644 Master/texmf/doc/asymptote/examples/unitcircle.asy create mode 100644 Master/texmf/doc/asymptote/examples/unitcircle3.asy create mode 100644 Master/texmf/doc/asymptote/examples/unitoctant.asy create mode 100644 Master/texmf/doc/asymptote/examples/upint.asy create mode 100644 Master/texmf/doc/asymptote/examples/vectorfield.asy create mode 100644 Master/texmf/doc/asymptote/examples/vectorfield3.asy create mode 100644 Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy create mode 100644 Master/texmf/doc/asymptote/examples/venn.asy create mode 100644 Master/texmf/doc/asymptote/examples/vertexshading.asy create mode 100644 Master/texmf/doc/asymptote/examples/washermethod.asy create mode 100644 Master/texmf/doc/asymptote/examples/wedge.asy create mode 100644 Master/texmf/doc/asymptote/examples/westnile.asy create mode 100644 Master/texmf/doc/asymptote/examples/westnile.csv create mode 100644 Master/texmf/doc/asymptote/examples/workcone.asy create mode 100644 Master/texmf/doc/asymptote/examples/xsin1x.asy create mode 100644 Master/texmf/doc/asymptote/examples/xxsq01.asy create mode 100644 Master/texmf/doc/asymptote/examples/xxsq01x-1.asy create mode 100644 Master/texmf/doc/asymptote/examples/xxsq01y.asy create mode 100644 Master/texmf/doc/asymptote/examples/yingyang.asy diff --git a/Master/texmf/doc/asymptote/CAD.pdf b/Master/texmf/doc/asymptote/CAD.pdf new file mode 100644 index 00000000000..5c22ad7eaa3 Binary files /dev/null and b/Master/texmf/doc/asymptote/CAD.pdf differ diff --git a/Master/texmf/doc/asymptote/asymptote.pdf b/Master/texmf/doc/asymptote/asymptote.pdf new file mode 100644 index 00000000000..b536a5100f2 Binary files /dev/null and b/Master/texmf/doc/asymptote/asymptote.pdf differ diff --git a/Master/texmf/doc/asymptote/examples/100d.views b/Master/texmf/doc/asymptote/examples/100d.views new file mode 100644 index 00000000000..b3a1be12936 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/100d.views @@ -0,0 +1,3 @@ +{0 0 -14.425469398498535}{0 0 1}{14.425469398498535}{}{27.905145957890003} +{0.3336401879787445 -0.0024074832908809185 -14.015975952148438}{-0.7636404037475586 -0.17614173889160156 0.6211501359939575}{15.868016873340485}{-58.88738872302071}{27.905145957890003} +[Arbitrary Label]{0.3336401879787445 -0.0024074832908809185 -14.015975952148438}{-0.8299760222434998 0.19688645005226135 -0.5218961238861084}{15.868016035928465}{-94.62674045286937}{27.905145957890003} diff --git a/Master/texmf/doc/asymptote/examples/BezierPatch.asy b/Master/texmf/doc/asymptote/examples/BezierPatch.asy new file mode 100644 index 00000000000..0e6b477eb13 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/BezierPatch.asy @@ -0,0 +1,14 @@ +import three; + +size(10cm); +currentlight=(0,0,1); + +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)}})); + +draw(s,yellow); +draw(s.s[0].vequals(0.5),squarecap+2bp+blue,currentlight); +draw(s.s[0].uequals(0.5),squarecap+2bp+red,currentlight); diff --git a/Master/texmf/doc/asymptote/examples/BezierSurface.asy b/Master/texmf/doc/asymptote/examples/BezierSurface.asy new file mode 100644 index 00000000000..65410deebca --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/BezierSurface.asy @@ -0,0 +1,38 @@ +import three; + +string viewpoint="{-24.132780075073242 7.2992024421691895 7.695427417755127}{0.8244762420654297 -0.563306450843811 0.0540805421769619}{35.62141440580922}{17.392748820528627}{}"; + +//viewpoint=getstring("viewpoint",viewpoint); +currentprojection=perspective(viewpoint); + +currentlight=adobe; + +triple[][][] P={{ + {(-1.6,0,1.875),(-1.6,-0.3,1.875),(-1.5,-0.3,2.1),(-1.5,0,2.1)}, + {(-2.3,0,1.875),(-2.3,-0.3,1.875),(-2.5,-0.3,2.1),(-2.5,0,2.1)}, + {(-2.7,0,1.875),(-2.7,-0.3,1.875),(-3,-0.3,2.1),(-3,0,2.1)}, + {(-2.7,0,1.65),(-2.7,-0.3,1.65),(-3,-0.3,1.65),(-3,0,1.65)} + },{ + {(-2.7,0,1.65),(-2.7,-0.3,1.65),(-3,-0.3,1.65),(-3,0,1.65)}, + {(-2.7,0,1.425),(-2.7,-0.3,1.425),(-3,-0.3,1.2),(-3,0,1.2)}, + {(-2.5,0,0.975),(-2.5,-0.3,0.975),(-2.65,-0.3,0.7275),(-2.65,0,0.7275)}, + {(-2,0,0.75),(-2,-0.3,0.75),(-1.9,-0.3,0.45),(-1.9,0,0.45)} + },{ + {(-2.7,0,1.65),(-2.7,0.3,1.65),(-3,0.3,1.65),(-3,0,1.65)}, + {(-2.7,0,1.875),(-2.7,0.3,1.875),(-3,0.3,2.1),(-3,0,2.1)}, + {(-2.3,0,1.875),(-2.3,0.3,1.875),(-2.5,0.3,2.1),(-2.5,0,2.1)}, + {(-1.6,0,1.875),(-1.6,0.3,1.875),(-1.5,0.3,2.1),(-1.5,0,2.1)} + },{ + {(-2,0,0.75),(-2,0.3,0.75),(-1.9,0.3,0.45),(-1.9,0,0.45)}, + {(-2.5,0,0.975),(-2.5,0.3,0.975),(-2.65,0.3,0.7275),(-2.65,0,0.7275)}, + {(-2.7,0,1.425),(-2.7,0.3,1.425),(-3,0.3,1.2),(-3,0,1.2)}, + {(-2.7,0,1.65),(-2.7,0.3,1.65),(-3,0.3,1.65),(-3,0,1.65)} + }}; + +picture pic; +size(pic,15cm); +size3(pic,10cm); +draw(pic,surface(P),blue); + +add(embed("label",pic),(0,0),N); +label(cameralink("label"),(0,0),10S,fontsize(24pt)); diff --git a/Master/texmf/doc/asymptote/examples/Bode.asy b/Master/texmf/doc/asymptote/examples/Bode.asy new file mode 100644 index 00000000000..a35540e9749 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Bode.asy @@ -0,0 +1,27 @@ +import graph; +texpreamble("\def\Arg{\mathop {\rm Arg}\nolimits}"); + +size(10cm,5cm,IgnoreAspect); + +real ampl(real x) {return 2.5/(1+x^2);} +real phas(real x) {return -atan(x)/pi;} + +scale(Log,Log); +draw(graph(ampl,0.01,10)); +ylimits(0.001,100); + +xaxis("$\omega\tau_0$",BottomTop,LeftTicks); +yaxis("$|G(\omega\tau_0)|$",Left,RightTicks); + +picture q=secondaryY(new void(picture pic) { + scale(pic,Log,Linear); + draw(pic,graph(pic,phas,0.01,10),red); + ylimits(pic,-1.0,1.5); + yaxis(pic,"$\Arg G/\pi$",Right,red, + LeftTicks("$% #.1f$", + begin=false,end=false)); + yequals(pic,1,Dotted); + }); +label(q,"(1,0)",Scale(q,(1,0)),red); +add(q); + diff --git a/Master/texmf/doc/asymptote/examples/CAD1.asy b/Master/texmf/doc/asymptote/examples/CAD1.asy new file mode 100644 index 00000000000..4602e73b709 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/CAD1.asy @@ -0,0 +1,43 @@ +import CAD; + +sCAD cad=sCAD.Create(); + +// Freehand line +draw(g=cad.MakeFreehand(pFrom=(3,-1)*cm,(6,-1)*cm), + p=cad.pFreehand); + +// Standard measurement lines +draw(g=box((0,0)*cm,(1,1)*cm),p=cad.pVisibleEdge); +cad.MeasureParallel(L="$\sqrt{2}$", + pFrom=(0,1)*cm, + pTo=(1,0)*cm, + dblDistance=-15mm); + +// Label inside,shifted to the right; arrows outside +draw(g=box((2,0)*cm,(3,1)*cm),p=cad.pVisibleEdge); +cad.MeasureParallel(L="1", + pFrom=(2,1)*cm, + pTo=(3,1)*cm, + dblDistance=5mm, + dblLeft=5mm, + dblRelPosition=0.75); + +// Label and arrows outside +draw(g=box((5,0)*cm,(5.5,1)*cm),p=cad.pVisibleEdge); +cad.MeasureParallel(L="0.5", + pFrom=(5,1)*cm, + pTo=(5.5,1)*cm, + dblDistance=5mm, + dblLeft=10mm, + dblRelPosition=-1); + +// Small bounds,asymmetric measurement line +draw(g=box((7,0)*cm,(7.5,1)*cm),p=cad.pVisibleEdge); +cad.MeasureParallel(L="0.5", + pFrom=(7,1)*cm, + pTo=(7.5,1)*cm, + dblDistance=5mm, + dblLeft=2*cad.GetMeasurementBoundSize(bSmallBound=true), + dblRight=10mm, + dblRelPosition=2, + bSmallBound=true); diff --git a/Master/texmf/doc/asymptote/examples/CDlabel.asy b/Master/texmf/doc/asymptote/examples/CDlabel.asy new file mode 100644 index 00000000000..3dd59699e40 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/CDlabel.asy @@ -0,0 +1,14 @@ +size(11.7cm,11.7cm); +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}\\ +\smallskip +\small The Vector Graphics Language}\\ +\smallskip +\textsc{Andy Hammerlindl, John Bowman, and Tom Prince} +http://asymptote.sourceforge.net\\ +",8cm),(0,0.6)); +label(graphic("logo."+nativeformat(),"height=7cm"),(0,-0.22)); +clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd); diff --git a/Master/texmf/doc/asymptote/examples/Coons.asy b/Master/texmf/doc/asymptote/examples/Coons.asy new file mode 100644 index 00000000000..9f59d152575 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Coons.asy @@ -0,0 +1,6 @@ +size(200); + +pen[] p={red,green,blue,magenta}; +path g=(0,0){dir(45)}..(1,0)..(1,1)..(0,1)..cycle; +tensorshade(g,p); +dot(g); diff --git a/Master/texmf/doc/asymptote/examples/GaussianSurface.asy b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy new file mode 100644 index 00000000000..7b75a5133a7 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy @@ -0,0 +1,21 @@ +import graph3; + +size(200,0); + +currentprojection=perspective(10,8,4); + +real f(pair z) {return 0.5+exp(-abs(z)^2);} + +draw((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle); + +draw(arc(0.12Z,0.2,90,60,90,25),ArcArrow3); + +surface s=surface(f,(-1,-1),(1,1),nx=5,Spline); + +xaxis3(Label("$x$"),red,Arrow3); +yaxis3(Label("$y$"),red,Arrow3); +zaxis3(XYZero(extend=true),red,Arrow3); + +draw(s,lightgray,meshpen=black+thick(),nolight); + +label("$O$",O,-Z+Y,red); diff --git a/Master/texmf/doc/asymptote/examples/Gouraud.asy b/Master/texmf/doc/asymptote/examples/Gouraud.asy new file mode 100644 index 00000000000..d49813e5e66 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Gouraud.asy @@ -0,0 +1,18 @@ +size(200); + +pen[] p={red,green,blue,magenta}; +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); + +draw(z[0]--z[1]--z[2]--cycle); +draw(z[1]--z[3]--z[2],dashed); + +dot(Label,z[0],W); +dot(Label,z[1],S); +dot(Label,z[2],N); +dot(Label,z[3],E); + +label("0",z[0]--z[1],S,red); +label("1",z[1]--z[2],E,red); +label("2",z[2]--z[0],NW,red); diff --git a/Master/texmf/doc/asymptote/examples/Gouraudcontour.asy b/Master/texmf/doc/asymptote/examples/Gouraudcontour.asy new file mode 100644 index 00000000000..1cf788869a2 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Gouraudcontour.asy @@ -0,0 +1,31 @@ +import graph; +import palette; +import contour; + +size(200); + +int n=100; + +real[] x=new real[n]; +real[] y=new real[n]; +real[] f=new real[n]; + +real F(real a, real b) {return a^2+b^2;} + +real r() {return 1.1*(rand()/randMax*2-1);} + +for(int i=0; i < n; ++i) { + x[i]=r(); + y[i]=r(); + f[i]=F(x[i],y[i]); +} + +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=BWRainbow(); + +bounds range=image(x,y,f,Range(0,2),Palette); +draw(contour(pairs(x,y),f,new real[]{0.25,0.5,1},operator ..)); + +palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,0.8),Top,Palette, + PaletteTicks(Tickpen,tickpen)); diff --git a/Master/texmf/doc/asymptote/examples/HermiteSpline.asy b/Master/texmf/doc/asymptote/examples/HermiteSpline.asy new file mode 100644 index 00000000000..7f4cbbebb24 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/HermiteSpline.asy @@ -0,0 +1,14 @@ +import graph; + +size(140mm,70mm,IgnoreAspect); +scale(false); +real[] x={1,3,4,5,6}; +real[] y={1,5,2,0,4}; + +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); +attach(legend(),point(NW),40S+30E,UnFill); + diff --git a/Master/texmf/doc/asymptote/examples/Hobbycontrol.asy b/Master/texmf/doc/asymptote/examples/Hobbycontrol.asy new file mode 100644 index 00000000000..50662988e04 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Hobbycontrol.asy @@ -0,0 +1,20 @@ +size(200); +pair z0=(0,0); +pair z1=(0.5,3); +pair z2=(2,1); + +path g=z0..z1..z2; + +pair d0=dir(g,0); +pair d1=dir(g,1); +draw(Label("$\omega_0$",1),z0-d0..z0+d0,blue+dashed,Arrow); +draw(Label("$\omega_1$",1),z1-d1..z1+1.5d1,blue+dashed,Arrow); +draw(z0--interp(z0,z1,1.5),dashed); +draw(subpath(g,0,1),blue); +draw("$\theta$",arc(z0,0.4,degrees(z1-z0),degrees(d0)),red,Arrow, + EndPenMargin); +draw("$\phi$",arc(z1,1.05,degrees(z1-z0),degrees(d1)),red,Arrow, + EndPenMargin); + +dot("$z_0$",z0,SW,red); +dot("$z_1$",z1,SE,red); diff --git a/Master/texmf/doc/asymptote/examples/Hobbydir.asy b/Master/texmf/doc/asymptote/examples/Hobbydir.asy new file mode 100644 index 00000000000..01d8a2e0ed0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Hobbydir.asy @@ -0,0 +1,21 @@ +size(200); +pair z0=(0,0); +pair z1=(1,2); +pair z2=(2,1); + +path g=z0..z1..z2; + +label("$\ell_k$",z0--z1); +draw("$\ell_{k+1}$",z1--z2,dashed); +draw(z0--interp(z0,z1,1.5),dashed); +pair d1=dir(g,1); +draw(z1-d1..z1+d1,blue+dashed); +draw(g,blue); +draw(Label("$\theta_k$",0.4),arc(z1,0.4,degrees(z2-z1),degrees(d1)),blue,Arrow, + EndPenMargin); +draw("$\phi_k$",arc(z1,0.4,degrees(d1),degrees(z1-z0),CCW),Arrow, + EndPenMargin); + +dot("$z_{k-1}$",z0,red); +dot("$z_k$",z1,NW,red); +dot("$z_{k+1}$",z2,red); diff --git a/Master/texmf/doc/asymptote/examples/Klein.asy b/Master/texmf/doc/asymptote/examples/Klein.asy new file mode 100644 index 00000000000..ba3bccd87e9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Klein.asy @@ -0,0 +1,19 @@ +import graph3; + +size(200,0); +currentprojection=perspective(40,-100,40); + +// From http://local.wasp.uwa.edu.au/~pbourke/surfaces_curves/klein/ +triple f(pair t) { + real u=t.x; + real v=t.y; + real r=4*(1-cos(u)/2); + real x=6*cos(u)*(1+sin(u))+(u < pi ? r*cos(u)*cos(v) : r*cos(v+pi)); + real y=16*sin(u)+(u < pi ? r*sin(u)*cos(v) : 0); + real z=r*sin(v); + return (x,y,z); +} + +pen p=rgb(0.2,0.5,0.7); + +draw(surface(f,(0,0),(2pi,2pi),60,60),lightgray,meshpen=p); diff --git a/Master/texmf/doc/asymptote/examples/Pythagoras.asy b/Master/texmf/doc/asymptote/examples/Pythagoras.asy new file mode 100644 index 00000000000..f4ea68fe432 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Pythagoras.asy @@ -0,0 +1,22 @@ +size(0,150); +import geometry; + +real a=3; +real b=4; +real c=hypot(a,b); + +pair z1=(0,b); +pair z2=(a,0); +pair z3=(a+b,0); +perpendicular(z1,NE,z1--z2,blue); +perpendicular(z3,NW,blue); +draw(square((0,0),z3)); +draw(square(z1,z2)); + +real d=0.3; +pair v=unit(z2-z1); +draw(baseline("$a$"),-d*I--z2-d*I,red,Bars,Arrows,PenMargins); +draw(baseline("$b$"),z2-d*I--z3-d*I,red,Arrows,Bars,PenMargins); +draw("$c$",z3+z2*I-d*v--z2-d*v,red,Arrows,PenMargins); +draw("$a$",z3+d--z3+z2*I+d,red,Arrows,Bars,PenMargins); +draw("$b$",z3+z2*I+d--z3+z3*I+d,red,Arrows,Bars,PenMargins); diff --git a/Master/texmf/doc/asymptote/examples/PythagoreanTree.asy b/Master/texmf/doc/asymptote/examples/PythagoreanTree.asy new file mode 100644 index 00000000000..8ea66650bf3 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/PythagoreanTree.asy @@ -0,0 +1,20 @@ +size(250); + +real a=3; +real b=4; +real c=hypot(a,b); + +transform ta=shift(c,c)*rotate(-aCos(a/c))*scale(a/c)*shift(-c); +transform tb=shift(0,c)*rotate(aCos(b/c))*scale(b/c); + +picture Pythagorean(int n) { + picture pic; + fill(pic,scale(c)*unitsquare,1/(n+1)*green+n/(n+1)*brown); + if(n == 0) return pic; + picture branch=Pythagorean(--n); + add(pic,ta*branch); + add(pic,tb*branch); + return pic; +} + +add(Pythagorean(12)); diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurface.asy b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy new file mode 100644 index 00000000000..68c8f237a19 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy @@ -0,0 +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),30,60); +s.colors(palette(s.map(zpart),Rainbow())); +draw(s,meshpen=black); diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy new file mode 100644 index 00000000000..50cb9ead31d --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy @@ -0,0 +1,17 @@ +// Riemann surface of z^{1/n} +import graph3; +import palette; + +int n=3; + +size(200,300,keepAspect=false); +//settings.nothin=true; + +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),30,60); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s,meshpen=black); diff --git a/Master/texmf/doc/asymptote/examples/Sierpinski.asy b/Master/texmf/doc/asymptote/examples/Sierpinski.asy new file mode 100644 index 00000000000..d1664045d9f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/Sierpinski.asy @@ -0,0 +1,17 @@ +size(10cm); + +// Draw Sierpinski triangle with top vertex A, side s, and depth q. +void Sierpinski(pair A, real s, int q, bool top=true) +{ + pair B=A-(1,sqrt(2))*s/2; + pair C=B+s; + if(top) draw(A--B--C--cycle); + draw((A+B)/2--(B+C)/2--(A+C)/2--cycle); + if(q > 0) { + Sierpinski(A,s/2,q-1,false); + Sierpinski((A+B)/2,s/2,q-1,false); + Sierpinski((A+C)/2,s/2,q-1,false); + } +} + +Sierpinski((0,1),1,5); diff --git a/Master/texmf/doc/asymptote/examples/advection.asy b/Master/texmf/doc/asymptote/examples/advection.asy new file mode 100644 index 00000000000..ea993ff0fc8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/advection.asy @@ -0,0 +1,87 @@ +size(0,22cm); + +texpreamble(" +\usepackage{bm} +\def\v{\bm} +\def\grad{\v\nabla} +\def\cross{{\v\times}} +\def\curl{\grad\cross} +\def\del{\nabla} +"); + +defaultpen(fontsize(10pt)); + +real margin=1.5mm; + +object IC=draw("initial condition $\v U_0$",box,(0,1), + margin,black,FillDraw(palegray)); +object Adv0=draw("Lagrangian state $\v U(t)$",ellipse,(1,1), + margin,red,FillDraw(palered)); +object Adv=draw("Lagrangian prediction $\v U(t+\tau)$",ellipse,(1,0), + margin,red,FillDraw(palered)); +object AdvD=draw("diffused parcels",ellipse,(1.8,1), + margin,red,FillDraw(palered)); +object Ur=draw("rearranged $\v \widetilde U$",box,(0,0), + margin,orange+gray,FillDraw(paleyellow)); +object Ui=draw("interpolated $\v \widetilde U$",box,(1,-1), + margin,blue,FillDraw(paleblue)); +object Crank=draw("${\cal L}^{-1}(-\tau){\cal L}(\tau)\v \widetilde U$", + box,(0.5,-1),margin,blue,FillDraw(paleblue)); +object CrankR=draw("${\cal L}^{-1}(-\tau){\cal L}(\tau)\v \widetilde U$", + box,(0,-1),margin,orange+gray,FillDraw(paleyellow)); +object Urout=draw(minipage("\center{Lagrangian rearranged solution~$\v U_R$}", + 100pt),box,(0,-2),margin,orange+gray, + FillDraw(paleyellow)); +object Diff=draw("$\v D\del^2 \v \widetilde U$",box,(0.75,-1.5), + margin,blue,FillDraw(paleblue)); +object UIout=draw(minipage("\center{semi-Lagrangian solution~$\v U_I$}",80pt), + box,(0.5,-2),margin,FillDraw(palered+paleyellow)); +object psi=draw("$\psi=\del^{-2}\omega$",box,(1.6,-1), + margin,darkgreen,FillDraw(palegreen)); +object vel=draw("$\v v=\v{\hat z} \cross\grad\psi$",box,(1.6,-0.5), + margin,darkgreen,FillDraw(palegreen)); + +add(new void(frame f, transform t) { + pair padv=0.5*(point(Adv0,S,t)+point(Adv,N,t)); + picture pic; + draw(pic,"initialize",point(IC,E,t)--point(Adv0,W,t),RightSide,Arrow, + PenMargin); + draw(pic,minipage("\flushright{advect: Runge-Kutta}",80pt), + point(Adv0,S,t)--point(Adv,N,t),RightSide,red,Arrow,PenMargin); + draw(pic,Label("Lagrange $\rightarrow$ Euler",0.45), + point(Adv,W,t)--point(Ur,E,t),5LeftSide,orange+gray, + Arrow,PenMargin); + draw(pic,"Lagrange $\rightarrow$ Euler",point(Adv,S,t)--point(Ui,N,t), + RightSide,blue,Arrow,PenMargin); + draw(pic,point(Adv,E,t)--(point(AdvD,S,t).x,point(Adv,E,t).y),red, + Arrow(Relative(0.7)),PenMargin); + draw(pic,minipage("\flushleft{diffuse: multigrid Crank--Nicholson}",80pt), + point(Ui,W,t)--point(Crank,E,t),5N,blue,MidArrow,PenMargin); + draw(pic,minipage("\flushleft{diffuse: multigrid Crank--Nicholson}",80pt), + point(Ur,S,t)--point(CrankR,N,t),LeftSide,orange+gray,Arrow,PenMargin); + draw(pic,"output",point(CrankR,S,t)--point(Urout,N,t),RightSide, + orange+gray,Arrow,PenMargin); + draw(pic,point(Ui,S,t)--point(Diff,N,t),blue,MidArrow,PenMargin); + draw(pic,point(Crank,S,t)--point(Diff,N,t),blue,MidArrow,PenMargin); + label(pic,"subtract",point(Diff,N,t),12N,blue); + draw(pic,Label("Euler $\rightarrow$ Lagrange",0.5), + point(Diff,E,t)--(point(AdvD,S,t).x,point(Diff,E,t).y)-- + (point(AdvD,S,t).x,point(Adv,E,t).y),RightSide,blue, + Arrow(position=1.5),PenMargin); + dot(pic,(point(AdvD,S,t).x,point(Adv,E,t).y),red); + draw(pic,(point(AdvD,S,t).x,point(Adv,E,t).y)--point(AdvD,S,t),red,Arrow, + PenMargin); + draw(pic,"output",point(Crank,S,t)--point(UIout,N,t),RightSide,brown,Arrow, + PenMargin); + draw(pic,Label("$t+\tau\rightarrow t$",0.45), + point(AdvD,W,t)--point(Adv0,E,t),2.5LeftSide,red,Arrow,PenMargin); + draw(pic,point(psi,N,t)--point(vel,S,t),darkgreen,Arrow,PenMargin); + draw(pic,Label("self-advection",4.5),point(vel,N,t)-- + arc((point(vel,N,t).x,point(Adv,E,t).y),5,270,90)-- + (point(vel,N,t).x,padv.y)-- + padv,LeftSide,darkgreen,Arrow,PenMargin); + draw(pic,Label("multigrid",0.5,S),point(Ui,E,t)--point(psi,W,t),darkgreen, + Arrow,PenMargin); + + add(f,pic.fit()); + }); diff --git a/Master/texmf/doc/asymptote/examples/alignbox.asy b/Master/texmf/doc/asymptote/examples/alignbox.asy new file mode 100644 index 00000000000..8f216c6a10c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/alignbox.asy @@ -0,0 +1,9 @@ +real margin=1.5mm; + +object left=align(object("$x^2$",ellipse,margin),W); +add(left); +object right=align(object("$\sin x$",ellipse,margin),4E); +add(right); +currentpicture.add(new void(frame f, transform t) { + draw(f,point(left,NE,t)--point(right,W,t)); + }); diff --git a/Master/texmf/doc/asymptote/examples/alignedaxis.asy b/Master/texmf/doc/asymptote/examples/alignedaxis.asy new file mode 100644 index 00000000000..542dcb9bc60 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/alignedaxis.asy @@ -0,0 +1,107 @@ +import graph; + +real Freq=60.0; +real margin=5mm; + +pair exp(pair x) { + return exp(x.x)*(cos(x.y)+I*sin(x.y)); +} + +real Merr(real x, real w) { + real tau=x/(2*Freq); + return 20*log(abs((tau*w+tau/(exp(I*2*pi*Freq*tau)-1))*(I*2*pi*Freq))); +} + +real Aerr(real x, real w) { + real tau=x/(2*Freq); + return degrees((tau*w+tau/(exp(I*2*pi*Freq*tau)-1))*(I*2*pi*Freq)); +} + +picture pic1; +scale(pic1,Log,Linear); +real Merr1(real x){return Merr(x,1);} +draw(pic1,graph(pic1,Merr1,1e-4,1),black+1.2); + +ylimits(pic1,-60,20); +yaxis(pic1,"magnitude (dB)",LeftRight,RightTicks(new + real[] {-60,-40,-20,0,20})); +xaxis(pic1,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic1,0,Dotted); +yequals(pic1,-20,Dotted); +yequals(pic1,-40,Dotted); +xequals(pic1,1e-3,Dotted); +xequals(pic1,1e-2,Dotted); +xequals(pic1,1e-1,Dotted); + +size(pic1,100,100,point(pic1,SW),point(pic1,NE)); + +label(pic1,"$\theta=1$",point(pic1,N),2N); + +frame f1=pic1.fit(); +add(f1); + +picture pic1p; +scale(pic1p,Log,Linear); +real Aerr1(real x){return Aerr(x,1);} +draw(pic1p,graph(pic1p,Aerr1,1e-4,1),black+1.2); + +ylimits(pic1p,-5,95); +yaxis(pic1p,"phase (deg)",LeftRight,RightTicks(new real[] {0,45,90})); +xaxis(pic1p,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic1p,0,Dotted); +yequals(pic1p,45,Dotted); +yequals(pic1p,90,Dotted); +xequals(pic1p,1e-3,Dotted); +xequals(pic1p,1e-2,Dotted); +xequals(pic1p,1e-1,Dotted); + +size(pic1p,100,100,point(pic1p,SW),point(pic1p,NE)); + +frame f1p=pic1p.fit(); +f1p=shift(0,min(f1).y-max(f1p).y-margin)*f1p; +add(f1p); + +picture pic2; +scale(pic2,Log,Linear); +real Merr2(real x){return Merr(x,0.75);} +draw(pic2,graph(pic2,Merr2,1e-4,1),black+1.2); + +ylimits(pic2,-60,20); +yaxis(pic2,"magnitude (dB)",LeftRight,RightTicks(new + real[] {-60,-40,-20,0,20})); +xaxis(pic2,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic2,0,Dotted); +yequals(pic2,-20,Dotted); +yequals(pic2,-40,Dotted); +xequals(pic2,1e-3,Dotted); +xequals(pic2,1e-2,Dotted); +xequals(pic2,1e-1,Dotted); + +size(pic2,100,100,point(pic2,SW),point(pic2,NE)); + +label(pic2,"$\theta=0.75$",point(pic2,N),2N); + +frame f2=pic2.fit(); +f2=shift(max(f1).x-min(f2).x+margin)*f2; +add(f2); + +picture pic2p; +scale(pic2p,Log,Linear); +real Aerr2(real x){return Aerr(x,0.75);} +draw(pic2p,graph(pic2p,Aerr2,1e-4,1),black+1.2); + +ylimits(pic2p,-5,95); +yaxis(pic2p,"phase (deg)",LeftRight,RightTicks(new real[] {0,45.1,90})); +xaxis(pic2p,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic2p,0,Dotted); +yequals(pic2p,45,Dotted); +yequals(pic2p,90,Dotted); +xequals(pic2p,1e-3,Dotted); +xequals(pic2p,1e-2,Dotted); +xequals(pic2p,1e-1,Dotted); + +size(pic2p,100,100,point(pic2p,SW),point(pic2p,NE)); + +frame f2p=pic2p.fit(); +f2p=shift(max(f1p).x-min(f2p).x+margin,min(f2).y-max(f2p).y-margin)*f2p; +add(f2p); diff --git a/Master/texmf/doc/asymptote/examples/animations/cube.asy b/Master/texmf/doc/asymptote/examples/animations/cube.asy new file mode 100644 index 00000000000..001e54466d8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/cube.asy @@ -0,0 +1,46 @@ +import math; +import bsp; +import animation; + +size(100,100); + +animation a; + +void face(face[] faces, path3 p, int j, int k) { + picture pic=faces.push(p); + filldraw(pic,project(p),Pen(j)); + int sign=(k % 2 == 0) ? 1 : -1; + transform t=scale(4)*transform(dir(p,0,sign),dir(p,0,-sign)); + label(pic,t*(string) j,project(0.5*(min(p)+max(p)))); +} + +void snapshot(transform3 t) +{ + static transform3 s=shift(-0.5*(X+Y+Z)); + save(); + + face[] faces; + int j=-1; + transform3 T=t*s; + for(int k=0; k < 2; ++k) { + face(faces,T*plane((1,0,0),(0,1,0),(0,0,k)),++j,k); + face(faces,T*plane((0,1,0),(0,0,1),(k,0,0)),++j,k); + face(faces,T*plane((0,0,1),(1,0,0),(0,k,0)),++j,k); + } + add(faces); + + a.add(); + restore(); +} + +int n=50; + +real step=360/n; +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,X)); +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,Y)); +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,Z)); + +a.movie(loops=10,delay=50); diff --git a/Master/texmf/doc/asymptote/examples/animations/earthmoon.asy b/Master/texmf/doc/asymptote/examples/animations/earthmoon.asy new file mode 100644 index 00000000000..abd8ac9f431 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/earthmoon.asy @@ -0,0 +1,77 @@ +import graph3; +import solids; +import three; +import animate; + +settings.render=2; +settings.tex="pdflatex"; +settings.prc=false; +settings.thick=false; +settings.outformat="mpg"; +currentprojection=orthographic(5,4,2); +currentlight=light(specular=black,(0.1,-0.1,1)); + +size(15cm,0); + +animation A; + +real Rst=20, Rl=0.7, Rtl=5; +real ast=20, est=0.3, bst=ast*sqrt(1-est^2), cst=ast*est; +real atl=5, etl=0.8, btl=atl*sqrt(1-etl^2), ctl=atl*etl; + +real xST(real t) {return ast*cos(t)+cst;} +real yST(real t) {return bst*sin(t);} +real zST(real t) {return 0;} + +real xTL(real t) {return atl*cos(27*t);} +real yTL(real t) {return btl*sin(27*t);} +real zTL(real t) {return 0;} + + +real xLl(real t) {return Rl*cos(27*t);} +real yLl(real t) {return Rl*sin(27*t);} +real zLl(real t) {return 0;} + +real xTt(real t) {return Rtl*cos(100*(t))/5;} +real yTt(real t) {return Rtl*sin(100*(t))/5;} +real zTt(real t) {return 0;} + +real xl(real t) {return xST(t)+xTL(t)+xLl(t);} +real yl(real t) {return yST(t)+yTL(t)+yLl(t);} +real zl(real t) {return 0;} + +real xt(real t) {return xST(t)+xTt(t);} +real yt(real t) {return yST(t)+yTt(t);} +real zt(real t) {return 0;} + +real xL(real t) {return xST(t)+xTL(t);} +real yL(real t) {return yST(t)+yTL(t);} +real zL(real t) {return 0;} + +path3 Pl=graph(xl,yl,zl,0,2*pi,1000),Pt=graph(xt,yt,zt,0,2*pi,3000), +Pts=graph(xST,yST,zST,0,2*pi,500); + +picture pic; + +draw(pic,Pl,lightgray); +draw(pic,Pt,lightblue); +draw(pic,Pts,blue+dashed); + +draw(pic,shift(cst,0,0)*scale3(Rtl/2)*unitsphere,yellow); + +surface terre=scale3(Rtl/5)*unitsphere; +surface lune=scale3(Rl)*unitsphere; + +int n=100; +real step=2pi/n; +for(int i=0; i < n; ++i) { + real k=i*step; + add(pic); + draw(shift(xL(k),yL(k),0)*lune,lightgray); + draw(shift(xST(k),yST(k),0)*terre,lightblue+lightgreen); + A.add(); + erase(); +} + +A.movie(BBox(1mm,Fill(Black)),delay=500, + options="-density 288x288 -geometry 50%x"); diff --git a/Master/texmf/doc/asymptote/examples/animations/embeddedmovie.asy b/Master/texmf/doc/asymptote/examples/animations/embeddedmovie.asy new file mode 100644 index 00000000000..98dfd424db8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/embeddedmovie.asy @@ -0,0 +1,24 @@ +// An embedded movie; +// +// See http://www.tug.org/tex-archive/macros/latex/contrib/movie15/README +// for documentation of the options. + +import embed; // Add embedded movie +//import external; // Add external movie (use this form under Linux). + +// Generated needed mpeg file if it doesn't already exist. +asy("mpg","wheel"); + +// Produce a pdf file. +settings.outformat="pdf"; + +settings.twice=true; + +// An embedded movie: +label(embed("wheel.mpg","poster,text=wheel.mpg,label=wheel.mpg",20cm,5.6cm), + (0,0),N); + +// An optional button: +label(link("wheel.mpg","Play","play"),(0,0),S); + + diff --git a/Master/texmf/doc/asymptote/examples/animations/embeddedu3d.asy b/Master/texmf/doc/asymptote/examples/animations/embeddedu3d.asy new file mode 100644 index 00000000000..1116c216fe2 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/embeddedu3d.asy @@ -0,0 +1,6 @@ +// An embedded U3D object; +// +import embed; + +label(embed("dice.u3d","poster,text=(dice.u3d),3Droo=27,label=dice",settings.paperwidth,settings.paperheight)); + diff --git a/Master/texmf/doc/asymptote/examples/animations/externalmovie.asy b/Master/texmf/doc/asymptote/examples/animations/externalmovie.asy new file mode 100644 index 00000000000..77c99528307 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/externalmovie.asy @@ -0,0 +1,17 @@ +// Embed a movie to be run in an external window. + +import external; + +// External movies require the pdflatex engine. +settings.tex="pdflatex"; + +// Generated needed mpeg file if it doesn't already exist. +asy("mpg","wheel"); + +// Produce a pdf file. +settings.outformat="pdf"; + +// External movie: viewable even with the Linux version of acroread. +label(embed("wheel.mpg"),(0,0),N); + +label(link("wheel.mpg","Play"),(0,0),S); diff --git a/Master/texmf/doc/asymptote/examples/animations/heatequation.asy b/Master/texmf/doc/asymptote/examples/animations/heatequation.asy new file mode 100644 index 00000000000..3c5708e583f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/heatequation.asy @@ -0,0 +1,76 @@ +import graph3; +import palette; +import animate; + +settings.tex="pdflatex"; +settings.render=0; +settings.prc=false; +unitsize(1cm); + +animation a; + +currentprojection=perspective(-20,-18,18); +currentlight=light(1,1,10); + +int n=26; +real L=2.5; +real dx=2*L/n; +real CFL=0.125; +real dt=CFL*dx^2; + +real[][] Z=new real[n][n]; +real[][] W=new real[n][n]; + +guide initcond1=shift((-1,-1))*scale(0.5)*unitcircle; +guide initcond2=shift((0.5,0))*yscale(1.2)*unitcircle; + +real f(pair p) {return (inside(initcond1,p)||inside(initcond2,p)) ? 2 : 0;} + +//Initialize +for(int i=0; i < n; ++i) + for (int j=0; j < n; ++j) + Z[i][j]=f((-L,-L)+(2*L/n)*(i,j)); + +real f(pair t) { + int i=round((n/2)*(t.x/L+1)); + int j=round((n/2)*(t.y/L+1)); + if(i > n-1) i=n-1; + if(j > n-1) j=n-1; + return Z[i][j]; +} + +surface sf; + +void advanceZ(int iter=20) { + for(int k=0; k < iter; ++k) { + for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) W[i][j]=0; + for(int i=1; i < n-1; ++i) + for(int j=1; j< n-1; ++j) + W[i][j]=Z[i][j]+(dt/dx^2)*(Z[i+1][j]+Z[i-1][j]+Z[i][j-1]+Z[i][j+1] + -4*Z[i][j]); + for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + Z[i][j]=W[i][j]; + }; +} + +pen[] Pal=Rainbow(96); + +int endframe=40; + +for(int fr=0; fr < endframe; ++fr) { + if(fr == 0) {// smoothing of initial state; no Spline, but full grid + advanceZ(3); + sf=surface(f,(-L,-L),(L,L),nx=n); + } else // use Spline and fewer grid points to save memory + sf=surface(f,(-L,-L),(L,L),nx=round(n/2),Spline); + sf.colors(palette(sf.map(zpart),Pal[0:round(48*max(sf).z)])); + draw(sf); + a.add(); + erase(); + advanceZ(30); +}; + +label(a.pdf(delay=400,"controls,loop")); +shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(fillpen=paleblue)),"pdf"); diff --git a/Master/texmf/doc/asymptote/examples/animations/inlinemovie.tex b/Master/texmf/doc/asymptote/examples/animations/inlinemovie.tex new file mode 100644 index 00000000000..3fa61b6673b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/inlinemovie.tex @@ -0,0 +1,51 @@ +\documentclass{article} +\usepackage[inline]{asymptote} +%\usepackage{asymptote} +\usepackage{animate} +\begin{document} + +Here is an inline PDF movie, generated with the commands +\begin{verbatim} +pdflatex inlinemovie +asy inlinemovie +pdflatex inlinemovie +\end{verbatim} + +\begin{center} +\begin{asy} +import animate; +animation A=animation("movie1"); +real h=2pi/10; + +picture pic; +unitsize(pic,2cm); +for(int i=0; i < 10; ++i) { + draw(pic,expi(i*h)--expi((i+1)*h)); + A.add(pic); +} +label(A.pdf("controls",delay=50,keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[controls,loop]{20}{movie1}{}{} +\end{center} + +And here is another one, clickable but without the control panel: +\begin{center} +\begin{asy} +import animate; +animation A=animation("movie2"); +real h=2pi/10; + +picture pic; +unitsize(pic,2cm); +for(int i=0; i < 10; ++i) { + draw(pic,expi(-i*h)--expi(-(i+1)*h),red); + A.add(pic); +} +label(A.pdf(keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[controls,loop]{10}{movie2}{}{} +\end{center} + +\end{document} diff --git a/Master/texmf/doc/asymptote/examples/animations/inlinemovie3.tex b/Master/texmf/doc/asymptote/examples/animations/inlinemovie3.tex new file mode 100644 index 00000000000..c46a17d3e59 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/inlinemovie3.tex @@ -0,0 +1,41 @@ +\documentclass{article} +\usepackage[inline]{asymptote} +%\usepackage{asymptote} +\usepackage{animate} +\begin{document} + +Here is an inline 3D PDF movie, generated with the commands +\begin{verbatim} +pdflatex inlinemovie +asy inlinemovie +pdflatex inlinemovie +\end{verbatim} + +\begin{center} +\begin{asy} +settings.render=4; +settings.prc=false; + +import graph3; +import animate; +currentprojection=orthographic(1,-2,0.5); +currentlight=(1,1,20); +animation A=animation("movie3"); +int n=20; +for(int i=0; i < n; ++i) { + picture pic; + size3(pic,12cm,12cm,8cm); + limits((-2,-2,-2),(2,2,2)); + real k=i/n*pi; + real f(pair z) {return 4cos(abs(z)-k)*exp(-abs(z)/6);} + draw(pic,surface(f,(-4pi,-4pi),(4pi,4pi),Spline),paleblue); + draw(pic,shift(i*6Z/n)*unitsphere,yellow); + A.add(pic); +} +label(A.pdf("autoplay,loop",delay=20,keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[autoplay,loop]{50}{movie3}{}{} +\end{center} +\end{document} + diff --git a/Master/texmf/doc/asymptote/examples/animations/pdfmovie.asy b/Master/texmf/doc/asymptote/examples/animations/pdfmovie.asy new file mode 100644 index 00000000000..0f9cbc96445 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/pdfmovie.asy @@ -0,0 +1,20 @@ +import animate; +import patterns; + +settings.tex="pdflatex"; + +animation a; + +add("brick",brick(black)); + +int n=20; +for(int i=0; i < 3.5n; ++i) { + picture pic; + size(pic,100); + path g=circle((0,sin(pi/n*i)),1); + fill(pic,g,mediumred); + fill(pic,g,pattern("brick")); + a.add(pic); +} + +label(a.pdf("controls",multipage=false)); diff --git a/Master/texmf/doc/asymptote/examples/animations/slidemovies.asy b/Master/texmf/doc/asymptote/examples/animations/slidemovies.asy new file mode 100644 index 00000000000..205f94fbc85 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/slidemovies.asy @@ -0,0 +1,47 @@ +// Slide demo. +// Command-line options to enable stepping and/or reverse video: +// asy [-u stepping=true] [-u reverse=true] slidedemo + +orientation=Landscape; + +settings.tex="pdflatex"; + +import slide; + +// Optional movie modules: +import animate; // For portable embedded PDF movies +access external; // For portable external movies +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"); + +title("Embedded PDF movies (portable)"); +animation a=animation("A"); +animation b=animation("B"); +int n=20; +for(int i=0; i < 2n; ++i) { + picture pic; + size(pic,100); + draw(pic,shift(0,sin(pi/n*i))*unitsquare); + a.add(pic); + if(i < 1.5n) b.add(rotate(45)*pic); +} +display(a.pdf("autoplay,loop,controls",multipage=false)); +display(b.pdf("controls",multipage=false)); + +// Generated needed files if they don't already exist. +asy("mpg","wheel"); + +title("External Movie (portable)"); +display(external.embed("wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg",20cm,5.6cm)); +display(external.link("wheel.mpg","Play","play")); + +title("Embedded Movie (not portable)"); +display(embed.embed("wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg", + 20cm,5.6cm)); +display(embed.link("wheel.mpg","Play","play")); diff --git a/Master/texmf/doc/asymptote/examples/animations/sphere.asy b/Master/texmf/doc/asymptote/examples/animations/sphere.asy new file mode 100644 index 00000000000..e6bcb589add --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/sphere.asy @@ -0,0 +1,44 @@ +import solids; +import animation; + +currentprojection=orthographic((0,5,2)); +currentlight=(0,5,5); +settings.thick=false; + +int nbpts=200; +real step=2*pi/nbpts; +int angle=10; + +unitsize(1cm); + +triple[] P=new triple[nbpts]; +for(int i=0; i < nbpts; ++i) { + real t=-pi+i*step; + P[i]=(3sin(t)*cos(2t),3sin(t)*sin(2t),3cos(t)); +} + +transform3 t=rotate(angle,(0,0,0),(1,0.25,0.25)); +revolution r=sphere(O,3); +draw(surface(r),lightgrey); +skeleton s; +r.transverse(s,reltime(r.g,0.5)); +r.longitudinal(s); +draw(s.transverse.back,linetype("8 8",8)); +draw(s.transverse.front); + +animation A; + +for(int phi=0; phi < 360; phi += angle) { + bool[] front=new bool[nbpts]; + save(); + for(int i=0; i < nbpts; ++i) { + P[i]=t*P[i]; + front[i]=dot(P[i],currentprojection.camera) > 0; + } + draw(segment(P,front,operator ..),1mm+blue+extendcap); + draw(segment(P,!front,operator ..),grey); + A.add(); + restore(); +} + +A.movie(0,200); diff --git a/Master/texmf/doc/asymptote/examples/animations/torusanimation.asy b/Master/texmf/doc/asymptote/examples/animations/torusanimation.asy new file mode 100644 index 00000000000..9073ab2b56a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/torusanimation.asy @@ -0,0 +1,41 @@ +import graph3; +import animation; +import solids; + +settings.tex="pdflatex"; +settings.prc=false; +settings.render=4; + +currentprojection=orthographic((0,5,2)); +currentlight=(0,5,5); +unitsize(1cm); + +real R=3; +real a=1; +int n=8; + +path3[] p=new path3[n]; +animation A; + +for(int i=0; i < n; ++i) { + triple g(real s) { + return ((R-a*cos(2*pi*s))*cos(2*pi/(1+i+s)), + (R-a*cos(2*pi*s))*sin(2*pi/(1+i+s)), + -a*sin(2*pi*s)); + } + p[i]=graph(g,0,1,operator ..); +} + +revolution torus=revolution(shift(R*X)*Circle(O,a,Y,32),Z); +surface s=surface(torus); + +for(int i=0; i < n; ++i){ + picture fig; + size3(fig,400); + draw(fig,s,yellow); + for(int j=0;j <= i; ++j) + draw(fig,p[j],blue+linewidth(4)); + A.add(fig); +} + +A.movie(BBox(10,Fill(rgb(0.98,0.98,0.9))),delay=100); diff --git a/Master/texmf/doc/asymptote/examples/animations/wavepacket.asy b/Master/texmf/doc/asymptote/examples/animations/wavepacket.asy new file mode 100644 index 00000000000..72d35e59c84 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/wavepacket.asy @@ -0,0 +1,85 @@ +// Author : Philippe Ivaldi +// 2006/11/10 + +import animation; +import graph; + +unitsize(x=2cm,y=1.5cm); + +typedef real realfcn(real); + +real lambda=4; +real T=2; +real [] k=new real[3]; +real [] w=new real[3]; +k[0]=2pi/lambda; +w[0]=2pi/T; +real dk=-.5; +k[1]=k[0]-dk; +k[2]=k[0]+dk; +real dw=1; +w[1]=w[0]-dw; +w[2]=w[0]+dw; + +real vp=w[1]/k[1]; +real vg=dw/dk; + +realfcn F(real x) { + return new real(real t) { + return cos(k[1]*x-w[1]*t)+cos(k[2]*x-w[2]*t); + }; +}; + +realfcn G(real x) { + return new real(real t) { + return 2*cos(0.5*(k[2]-k[1])*x+0.5*(w[1]-w[2])*t); + }; +}; + +realfcn operator -(realfcn f) {return new real(real t) {return -f(t);};}; + +animation A; + +real tmax=abs(2pi/dk); +real xmax=abs(2pi/dw); + +pen envelope=0.8*blue; +pen fillpen=lightgrey; + +int n=50; +real step=tmax/(n-1); +for(int i=0; i < n; ++i) { + save(); + real t=i*step; + real a=xmax*t/tmax-xmax/pi; + real b=xmax*t/tmax; + path f=graph(F(t),a,b); + path g=graph(G(t),a,b); + path h=graph(-G(t),a,b); + fill(buildcycle(reverse(f),g),fillpen); + draw(f); + draw(g,envelope); + draw(h,envelope); + A.add(); + restore(); +} + +for(int i=0; i < n; ++i) { + save(); + real t=i*step; + real a=-xmax/pi; + real b=xmax; + path f=graph(F(t),a,b); + path g=graph(G(t),a,b); + path h=graph(-G(t),a,b); + path B=box((-xmax/pi,-2),(xmax,2)); + fill(buildcycle(reverse(f),g,B),fillpen); + fill(buildcycle(f,g,reverse(B)),fillpen); + draw(f); + draw(g,envelope); + draw(h,envelope); + A.add(); + restore(); +} + +A.movie(0,10); diff --git a/Master/texmf/doc/asymptote/examples/animations/wheel.asy b/Master/texmf/doc/asymptote/examples/animations/wheel.asy new file mode 100644 index 00000000000..2ea45f75613 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/animations/wheel.asy @@ -0,0 +1,53 @@ +import graph; +import animation; + +size(0,200); + +defaultpen(3); +dotfactor=4; + +pair wheelpoint(real t) +{ + return (t+cos(t),-sin(t)); +} + +guide wheel(guide g=nullpath, real a, real b, int n) +{ + real width=(b-a)/n; + for(int i=0; i <= n; ++i) { + real t=a+width*i; + g=g--wheelpoint(t); + } + return g; +} + +real t1=0; +real t2=t1+2*pi; + +draw(circle((0,0),1)); +draw(wheel(t1,t2,100),linetype("0 2")); +yequals(Label("$y=-1$",1.0),-1,extend=true,linetype("4 4")); +xaxis(Label("$x$",align=3SW),0); +yaxis("$y$",0,1.2); +pair z1=wheelpoint(t1); +pair z2=wheelpoint(t2); +dot(z1); +dot(z2); + +animation a; + +int n=10; +real dt=(t2-t1)/n; +for(int i=0; i <= n; ++i) { + save(); + + real t=t1+dt*i; + draw(circle((t,0),1),red); + dot(wheelpoint(t)); + + a.add(); // Add currentpicture to animation. + restore(); +} + +// Produce the final merged gif. +a.movie(BBox(0.25cm),loops=10,delay=250); diff --git a/Master/texmf/doc/asymptote/examples/annotation.asy b/Master/texmf/doc/asymptote/examples/annotation.asy new file mode 100644 index 00000000000..d52e15b4f76 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/annotation.asy @@ -0,0 +1,13 @@ +import annotate; +settings.outformat="pdf"; + +size(200); + +draw(unitcircle); +dot((0,0)); +annotate("O","(0,0)",(0,0)); +annotate("A","(1,0)",(1,0)); +annotate("B","(0,1)",(0,1)); +annotate("C","(-1,0)",(-1,0)); +annotate("D","(0,-1)",(0,-1)); + diff --git a/Master/texmf/doc/asymptote/examples/arrows3.asy b/Master/texmf/doc/asymptote/examples/arrows3.asy new file mode 100644 index 00000000000..12ad43463ee --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/arrows3.asy @@ -0,0 +1,20 @@ +import three; + +size(15cm); + +currentprojection=perspective(24,14,13); +currentlight=light(gray(0.5),specularfactor=3,viewport=false, + (0.5,-0.5,-0.25),(0.5,0.5,0.25),(0.5,0.5,1),(-0.5,-0.5,-1)); + +defaultpen(0.75mm); + +path3 g=arc(O,1,90,-60,90,60); +transform3 t=shift(invert(3S,O)); + +draw(g,blue,Arrows3(TeXHead3),currentlight); +draw(scale3(3)*g,green,ArcArrows3(HookHead3),currentlight); +draw(scale3(6)*g,red,Arrows3(DefaultHead3),currentlight); + +draw(t*g,blue,Arrows3(TeXHead2),currentlight); +draw(t*scale3(3)*g,green,ArcArrows3(HookHead2,NoFill),currentlight); +draw(t*scale3(6)*g,red,Arrows3(DefaultHead2(normal=Z)),currentlight); diff --git a/Master/texmf/doc/asymptote/examples/axis3.asy b/Master/texmf/doc/asymptote/examples/axis3.asy new file mode 100644 index 00000000000..90cbdc6ad09 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/axis3.asy @@ -0,0 +1,12 @@ +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=perspective(5,2,2); + +scale(Linear,Linear,Log); + +xaxis3("$x$",0,1,red,OutTicks(2,2)); +yaxis3("$y$",0,1,red,OutTicks(2,2)); +zaxis3("$z$",1,30,red,OutTicks(beginlabel=false)); diff --git a/Master/texmf/doc/asymptote/examples/basealign.asy b/Master/texmf/doc/asymptote/examples/basealign.asy new file mode 100644 index 00000000000..8a34bdab4b7 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/basealign.asy @@ -0,0 +1,41 @@ +import fontsize; +import three; +currentprojection=orthographic(Z); + +defaultpen(fontsize(100pt)); + +dot(O); + +label("acg",O,align=N,basealign); +label("ace",O,align=N,red); +label("acg",O,align=S,basealign); +label("ace",O,align=S,red); +label("acg",O,align=E,basealign); +label("ace",O,align=E,red); +label("acg",O,align=W,basealign); +label("ace",O,align=W,red); + +picture pic; +dot(pic,(labelmargin(),0,0),blue); +dot(pic,(-labelmargin(),0,0),blue); +dot(pic,(0,labelmargin(),0),blue); +dot(pic,(0,-labelmargin(),0),blue); +add(pic,O); + +dot((0,0)); + +label("acg",(0,0),align=N,basealign); +label("ace",(0,0),align=N,red); +label("acg",(0,0),align=S,basealign); +label("ace",(0,0),align=S,red); +label("acg",(0,0),align=E,basealign); +label("ace",(0,0),align=E,red); +label("acg",(0,0),align=W,basealign); +label("ace",(0,0),align=W,red); + +picture pic; +dot(pic,(labelmargin(),0),blue); +dot(pic,(-labelmargin(),0),blue); +dot(pic,(0,labelmargin()),blue); +dot(pic,(0,-labelmargin()),blue); +add(pic,(0,0)); diff --git a/Master/texmf/doc/asymptote/examples/bezier.asy b/Master/texmf/doc/asymptote/examples/bezier.asy new file mode 100644 index 00000000000..1c168042c05 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/bezier.asy @@ -0,0 +1 @@ +label("$(1-t)^3z_0+3t(1-t)^2c_0+3t^2(1-t)c_1+t^3z_1\qquad 0\le t\le 1$.",(0,0)); diff --git a/Master/texmf/doc/asymptote/examples/bezier2.asy b/Master/texmf/doc/asymptote/examples/bezier2.asy new file mode 100644 index 00000000000..745fb649dd1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/bezier2.asy @@ -0,0 +1,21 @@ +import beziercurve; + +pair midpoint(pair a, pair b) {return interp(a,b,0.5);} + +pair m0=midpoint(z0,c0); +pair m1=midpoint(c0,c1); +pair m2=midpoint(c1,z1); + +draw(m0--m1--m2,dashed); +dot("$m_0$",m0,NW,red); +dot("$m_1$",m1,N,red); +dot("$m_2$",m2,red); + +pair m3=midpoint(m0,m1); +pair m4=midpoint(m1,m2); +pair m5=midpoint(m3,m4); + +draw(m3--m4,dashed); +dot("$m_3$",m3,NW,red); +dot("$m_4$",m4,NE,red); +dot("$m_5$",m5,N,red); diff --git a/Master/texmf/doc/asymptote/examples/beziercurve.asy b/Master/texmf/doc/asymptote/examples/beziercurve.asy new file mode 100644 index 00000000000..338109bbd6e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/beziercurve.asy @@ -0,0 +1,12 @@ +size(400); +pair z0=(0,0); +pair c0=(1,1); +pair c1=(2,1); +pair z1=(3,0); +draw(z0..controls c0 and c1 .. z1,blue); + +draw(z0--c0--c1--z1,dashed); +dot("$z_0$",z0,W,red); +dot("$c_0$",c0,NW,red); +dot("$c_1$",c1,NE,red); +dot("$z_1$",z1,red); diff --git a/Master/texmf/doc/asymptote/examples/bigsquare.asy b/Master/texmf/doc/asymptote/examples/bigsquare.asy new file mode 100644 index 00000000000..b917dfc42cc --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/bigsquare.asy @@ -0,0 +1,2 @@ +size(0,3cm); +draw(unitsquare); diff --git a/Master/texmf/doc/asymptote/examples/binarytreetest.asy b/Master/texmf/doc/asymptote/examples/binarytreetest.asy new file mode 100644 index 00000000000..0078bb749e0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/binarytreetest.asy @@ -0,0 +1,13 @@ +import binarytree; + +picture pic,pic2; + +binarytree bt=binarytree(1,2,4,nil,5,nil,nil,0,nil,nil,3,6,nil,nil,7); +draw(pic,bt); + +binarytree st=searchtree(10,5,2,1,3,4,7,6,8,9,15,13,12,11,14,17,16,18,19); +draw(pic2,st,blue); + +add(pic.fit(),(0,0),10N); +add(pic2.fit(),(0,0),10S); + diff --git a/Master/texmf/doc/asymptote/examples/brokenaxis.asy b/Master/texmf/doc/asymptote/examples/brokenaxis.asy new file mode 100644 index 00000000000..9de9fa414d3 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/brokenaxis.asy @@ -0,0 +1,25 @@ +import graph; + +size(200,150,IgnoreAspect); + +// Break the x axis at 3; restart at 8: +real a=3, b=8; + +// Break the y axis at 100; restart at 1000: +real c=100, d=1000; + +scale(Broken(a,b),BrokenLog(c,d)); + +real[] x={1,2,4,6,10}; +real[] y=x^4; + +draw(graph(x,y),red,MarkFill[0]); + +xaxis("$x$",BottomTop,LeftTicks(Break(a,b))); +yaxis("$y$",LeftRight,RightTicks(Break(c,d))); + +label(rotate(90)*Break,(a,point(S).y)); +label(rotate(90)*Break,(a,point(N).y)); +label(Break,(point(W).x,ScaleY(c))); +label(Break,(point(E).x,ScaleY(c))); + diff --git a/Master/texmf/doc/asymptote/examples/buildcycle.asy b/Master/texmf/doc/asymptote/examples/buildcycle.asy new file mode 100644 index 00000000000..e4e7f8c7c96 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/buildcycle.asy @@ -0,0 +1,22 @@ +size(200); + +real w=1.35; + +path[] p; +for(int k=0; k < 2; ++k) { + int i=2+2*k; + int ii=i^2; + p[k]=(w/ii,1){1,-ii}::(w/i,1/i)::(w,1/ii){ii,-1}; +} + +path q0=(0,0)--(w,0.5); +path q1=(0,0)--(w,1.5); +draw(q0); draw(p[0]); draw(q1); draw(p[1]); +path s=buildcycle(q0,p[0],q1,p[1]); +fill(s,mediumgrey); + +label("$P$",intersectionpoint(p[0],q0),N); +label("$Q$",intersectionpoint(p[0],q1),E); +label("$R$",intersectionpoint(p[1],q1),W); +label("$S$",intersectionpoint(p[1],q0),S); +label("$f > 0$",0.5*(min(s)+max(s)),UnFill); diff --git a/Master/texmf/doc/asymptote/examples/cardioid.asy b/Master/texmf/doc/asymptote/examples/cardioid.asy new file mode 100644 index 00000000000..49a3c55207e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cardioid.asy @@ -0,0 +1,15 @@ +import graph; + +size(0,100); + +real f(real t) {return 1+cos(t);} + +path g=polargraph(f,0,2pi,operator ..)--cycle; +filldraw(g,pink); + +xaxis("$x$",above=true); +yaxis("$y$",above=true); + +dot("$(a,0)$",(1,0),N); +dot("$(2a,0)$",(2,0),N+E); + diff --git a/Master/texmf/doc/asymptote/examples/centroidfg.asy b/Master/texmf/doc/asymptote/examples/centroidfg.asy new file mode 100644 index 00000000000..2e26454cdbe --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/centroidfg.asy @@ -0,0 +1,38 @@ +import graph; +size(0,150); + +int a=-1, b=1; + +real f(real x) {return x^3-x+2;} +real g(real x) {return x^2;} + +draw(graph(f,a,b,operator ..),red); +draw(graph(g,a,b,operator ..),blue); + +xaxis(); + +int n=5; + +real width=(b-a)/(real) n; +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); +draw((b,0)--(b,g(b)),dotted); + +real m=a+0.73*(b-a); +arrow("$f(x)$",(m,f(m)),N,red); +arrow("$g(x)$",(m,g(m)),E,0.8cm,blue); + +int j=2; +real xi=b-j*width; +real xp=xi+width; +real xm=0.5*(xi+xp); +pair dot=(xm,0.5*(f(xm)+g(xm))); +dot(dot,darkgreen+4.0); +arrow("$\left(x,\frac{f(x)+g(x)}{2}\right)$",dot,NE,2cm,darkgreen); + diff --git a/Master/texmf/doc/asymptote/examples/cheese.asy b/Master/texmf/doc/asymptote/examples/cheese.asy new file mode 100644 index 00000000000..f283f5c8115 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cheese.asy @@ -0,0 +1,12 @@ +import graph3; +import palette; +import contour3; +size(400); + +real f(real x, real y, real z) { + return cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x); +} + +surface sf=surface(contour3(f,(-2pi,-2pi,-2pi),(2pi,2pi,2pi),12)); +sf.colors(palette(sf.map(abs),Gradient(red,yellow))); +draw(sf,nolight); diff --git a/Master/texmf/doc/asymptote/examples/circles.asy b/Master/texmf/doc/asymptote/examples/circles.asy new file mode 100644 index 00000000000..69f5cf244a4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/circles.asy @@ -0,0 +1,33 @@ +size(6cm,0); +import math; + +currentpen=magenta; + +real r1=1; +real r2=sqrt(7); +real r3=4; +pair O=0; + +path c1=circle(O,r1); +draw(c1,green); +draw(circle(O,r2),green); +draw(circle(O,r3),green); + +real x=-0.6; +real y=-0.8; +real yD=0.3; +pair A=(sqrt(r1^2-y^2),y); +pair B=(-sqrt(r2^2-y^2),y); +pair C=(x,sqrt(r3^2-x^2)); + +pair d=A+r2*dir(B--C); +pair D=intersectionpoint(c1,A--d); + +draw(A--B--C--cycle); +draw(interp(A,D,-0.5)--interp(A,D,1.5),blue); + +dot("$O$",O,S,red); +dot("$A$",A,dir(C--A,B--A),red); +dot("$B$",B,dir(C--B,A--B),red); +dot("$C$",C,dir(A--C,B--C),red); +dot("$D$",D,red); diff --git a/Master/texmf/doc/asymptote/examples/coag.asy b/Master/texmf/doc/asymptote/examples/coag.asy new file mode 100644 index 00000000000..de976cb145b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/coag.asy @@ -0,0 +1,16 @@ +size(0,200); +import graph; + +pair z0=(0,0); +pair m0=(0,1); +pair tg=(1.5,0); +pair mt=m0+tg; +pair tf=(3,0); + +draw(m0--mt{dir(-70)}..{dir(0)}2tg+m0/4); +xtick("$T_g$",tg,N); +label("$M(t)$",mt,2NE); +labely("$M_0$",m0); + +xaxis(Label("$t$",align=2S),Arrow); +yaxis(Arrow); diff --git a/Master/texmf/doc/asymptote/examples/colons.asy b/Master/texmf/doc/asymptote/examples/colons.asy new file mode 100644 index 00000000000..3cdb6b42962 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/colons.asy @@ -0,0 +1 @@ +draw((0,0){up}::(100,25){right}::(200,0){down}); diff --git a/Master/texmf/doc/asymptote/examples/colorplanes.asy b/Master/texmf/doc/asymptote/examples/colorplanes.asy new file mode 100644 index 00000000000..16bef25b545 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/colorplanes.asy @@ -0,0 +1,22 @@ +size(6cm,0); +import bsp; + +real u=2.5; +real v=1; + +currentprojection=oblique; + +path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0)); +path3 l=rotate(90,Z)*rotate(90,Y)*y; +path3 g=rotate(90,X)*rotate(90,Y)*y; + +face[] faces; +pen[] p={red,green,blue,black}; +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); + +add(faces); + diff --git a/Master/texmf/doc/asymptote/examples/colors.asy b/Master/texmf/doc/asymptote/examples/colors.asy new file mode 100644 index 00000000000..ea576379deb --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/colors.asy @@ -0,0 +1,116 @@ +int i=0; +int j=0; + +bool components=false; + +pen p; + +void col(bool fill=false ... string[] s) { + for(int n=0; n < s.length; ++n) { + j -= 10; + string s=s[n]; + eval("p="+s+";",true); + if(components) { + real[] a=colors(p); + for(int i=0; i < a.length; ++i) + s += " "+(string) a[i]; + } + if(fill) label(s,(i+10,j),E,p,Fill(gray)); + else label(s,(i+10,j),E,p); + fill(box((i,j-5),(i+10,j+5)),p); + } +} + +col("palered"); +col("lightred"); +col("mediumred"); +col("red"); +col("heavyred"); +col("brown"); +col("darkbrown"); +j -= 10; + +col("palegreen"); +col("lightgreen"); +col("mediumgreen"); +col("green"); +col("heavygreen"); +col("deepgreen"); +col("darkgreen"); +j -= 10; + +col("paleblue"); +col("lightblue"); +col("mediumblue"); +col("blue"); +col("heavyblue"); +col("deepblue"); +col("darkblue"); +j -= 10; + +i += 150; +j=0; + +col("palecyan"); +col("lightcyan"); +col("mediumcyan"); +col("cyan"); +col("heavycyan"); +col("deepcyan"); +col("darkcyan"); +j -= 10; + +col("pink"); +col("lightmagenta"); +col("mediummagenta"); +col("magenta"); +col("heavymagenta"); +col("deepmagenta"); +col("darkmagenta"); +j -= 10; + +col("paleyellow"); +col("lightyellow"); +col("mediumyellow"); +col("yellow"); +col("lightolive"); +col("olive"); +col("darkolive"); +j -= 10; + +col("palegray"); +col("lightgray"); +col("mediumgray"); +col("gray"); +col("heavygray"); +col("deepgray"); +col("darkgray"); +j -= 10; + +i += 150; +j=0; + +col("black"); +col("white",fill=true); +j -= 10; + +col("orange"); +col("fuchsia"); +j -= 10; +col("chartreuse"); +col("springgreen"); +j -= 10; +col("purple"); +col("royalblue"); +j -= 10; + +col("Cyan"); +col("Magenta"); +col("Yellow"); +col("Black"); + +j -= 10; + +col("cmyk(red)"); +col("cmyk(blue)"); +col("cmyk(green)"); diff --git a/Master/texmf/doc/asymptote/examples/condor.asy b/Master/texmf/doc/asymptote/examples/condor.asy new file mode 100644 index 00000000000..d109335e3bf --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/condor.asy @@ -0,0 +1,32 @@ +// Peter Luschny's Condor function +// http://www.luschny.de/math/asy/ElCondorYElGamma.html + +import palette; +import graph3; + +size(300,300,IgnoreAspect); +currentprojection=orthographic(0,-1,0,center=true); +currentlight=adobe; +real K=7; + +triple condor(pair t) +{ + real y=t.y; + real x=t.x*y; + real e=gamma(y+1); + real ymx=y-x; + real ypx=y+x; + real a=gamma((ymx+1)/2); + real b=gamma((ymx+2)/2); + real c=gamma((ypx+1)/2); + real d=gamma((ypx+2)/2); + real A=cos(pi*ymx); + real B=cos(pi*ypx); + return (x,y,log(e)+log(a)*((A-1)/2)+log(b)*((-A-1)/2)+log(c)*((B-1)/2)+ + log(d)*((-B-1)/2)); +} + +surface s=surface(condor,(-1,0),(1,K),64); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s,meshpen=black); diff --git a/Master/texmf/doc/asymptote/examples/cones.asy b/Master/texmf/doc/asymptote/examples/cones.asy new file mode 100644 index 00000000000..4f28796cb92 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cones.asy @@ -0,0 +1,16 @@ +import solids; + +size(200); +currentprojection=orthographic(5,4,2); + +revolution upcone=cone(-Z,1,1); +revolution downcone=cone(Z,1,-1); +draw(surface(upcone),green); +draw(surface(downcone),green); +draw(upcone,5,blue,longitudinalpen=nullpen); +draw(downcone,5,blue,longitudinalpen=nullpen); + +revolution cone=shift(2Y-2X)*cone(1,1); + +draw(surface(cone),green); +draw(cone,5,blue); diff --git a/Master/texmf/doc/asymptote/examples/conicurv.asy b/Master/texmf/doc/asymptote/examples/conicurv.asy new file mode 100644 index 00000000000..cb678710c11 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/conicurv.asy @@ -0,0 +1,49 @@ +// Original name : conicurv.mp +// Author : L. Nobre G. +// Translators : J. Pienaar (2004) and John Bowman (2005) + +import three; +texpreamble("\usepackage{bm}"); + +size(300,0); + +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; +real longradius=shortradius+width*Cos(theta), updiff=width*Sin(theta); + +triple iplow=(0,shortradius,0), iphig=(0,longradius,updiff); +triple oplow=(-shortradius,0,0), ophig=(-longradius,0,updiff); +triple aplow=-iplow, aphig=(0,-longradius,updiff); +triple eplow=-oplow, ephig=(longradius,0,updiff); +triple anglebase=(0,longradius,0), centre=interp(iplow,iphig,0.5)+(0,0,height); +triple central=(0,0,centre.z), refo=(0,0.5*centre.y,centre.z); +triple refx=refsize*(0,Cos(theta),Sin(theta)); +triple refy=refsize*(0,-Sin(theta),Cos(theta)); + +draw("$\theta$",arc(iplow,iplow+0.58*(iphig-iplow),anglebase),E); + +draw(central,linewidth(2bp)); +draw(iplow--iphig); +draw(oplow--ophig); +draw(aplow--aphig); +draw(eplow--ephig); +draw(iphig--anglebase--aplow,dashed); +draw(oplow--eplow,dashed); +draw(central--centre,dashed); + +draw((0,0,-bord)--(0,longradius+bord,-bord)--(0,longradius+bord,totup) + --(0,0,totup)--cycle); +draw(Label("$y$",1),refo--refo+refy,SW,Arrow3); +draw(Label("$x$",1),refo--refo+refx,SE,Arrow3); + +draw(Label("$\vec{R}_N$",1),centre--centre+vecsize*refy,E,Arrow3); +draw(Label("$\vec{F}_a$",1),centre--centre+vecsize*refx,N,Arrow3); +draw(Label("$\vec{F}_c$",1),centre--centre+vecsize*Y,NE,Arrow3); +draw(Label("$\vec{P}$",1),centre--centre-vecsize*Z,E,Arrow3); +draw(Label("$\vec{v}$",1),centre--centre+vecsize*X,E,Arrow3); +draw(centre,10pt+blue); + +draw(circle((0,0,updiff),longradius),linewidth(2bp)); +draw(circle(O,shortradius),linewidth(2bp)); diff --git a/Master/texmf/doc/asymptote/examples/contextfonts.asy b/Master/texmf/doc/asymptote/examples/contextfonts.asy new file mode 100644 index 00000000000..ef1b1ddfe50 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/contextfonts.asy @@ -0,0 +1,8 @@ +settings.tex="context"; + +usetypescript("iwona"); +usetypescript("antykwa-torunska"); + +label("$A$",0,N,font("iwona")); +label("$A$",0,S,font("antykwa")+red); + diff --git a/Master/texmf/doc/asymptote/examples/controlsystem.asy b/Master/texmf/doc/asymptote/examples/controlsystem.asy new file mode 100644 index 00000000000..0829bc90d51 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/controlsystem.asy @@ -0,0 +1,39 @@ +size(0,4cm); +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)); +block sum1=circle("",(0.15,0),mindiameter=0.3cm); +block junction1=circle("",(0.75,0),fillpen=currentpen); + +draw(delay); +draw(system); +draw(controller); +draw(sum1); +draw(junction1); + +add(new void(picture pic, transform t) { + draw(pic,Label("$u$",0.5,N),path(new pair[]{t*(0,0),sum1.left(t)}, + Horizontal),Arrow,PenMargin); + + draw(pic,path(new pair[]{sum1.right(t),delay.left(t)},Horizontal),Arrow, + PenMargin); + label(pic,"-",sum1.bottom(t),ESE); + + draw(pic,path(new pair[]{delay.right(t),system.left(t)},Horizontal),Arrow, + PenMargin); + + draw(pic,path(new pair[]{system.right(t),junction1.left(t)},Horizontal), + PenMargin); + + draw(pic,Label("$y$",0.5,N),path(new pair[]{junction1.right(t),t*(0.9,0)}, + Horizontal),Arrow,PenMargin); + + draw(pic,path(new pair[]{junction1.bottom(t),controller.right(t)},Vertical), + Arrow,PenMargin); + + draw(pic,path(new pair[]{controller.left(t),sum1.bottom(t)},Horizontal), + Arrow,PenMargin); + }); diff --git a/Master/texmf/doc/asymptote/examples/cos2theta.asy b/Master/texmf/doc/asymptote/examples/cos2theta.asy new file mode 100644 index 00000000000..1be0c519fb1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cos2theta.asy @@ -0,0 +1,15 @@ +import graph; +size(0,100); + +real f(real t) {return cos(2*t);} + +path g=polargraph(f,0,2pi,operator ..)--cycle; +fill(g,green+white); +xaxis("$x$",above=true); +yaxis("$y$",above=true); +draw(g); + +dot(Label,(1,0),NE); +dot(Label,(0,1),NE); + + diff --git a/Master/texmf/doc/asymptote/examples/cosaddition.asy b/Master/texmf/doc/asymptote/examples/cosaddition.asy new file mode 100644 index 00000000000..f6ce8de62a4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cosaddition.asy @@ -0,0 +1,26 @@ +size(0,200); +import geometry; + +real A=130; +real B=40; + +pair O=(0,0); +pair R=(1,0); +pair P=dir(A); +pair Q=dir(B); + +draw(circle(O,1.0)); +draw(Q--O--P); +draw(P--Q,red); +draw(O--Q--R--cycle); + +draw("$A$",arc(R,O,P,0.3),blue,Arrow,PenMargin); +draw("$B$",arc(R,O,Q,0.6),blue,Arrow,PenMargin); +pair S=(Cos(B),0); +draw(Q--S,blue); +perpendicular(S,NE,blue); + +dot(O); +dot("$R=(1,0)$",R); +dot("$P=(\cos A,\sin A)$",P,dir(O--P)+W); +dot("$Q=(\cos B,\sin B)$",Q,dir(O--Q)); diff --git a/Master/texmf/doc/asymptote/examples/cpkcolors.asy b/Master/texmf/doc/asymptote/examples/cpkcolors.asy new file mode 100644 index 00000000000..ddc7e286d58 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cpkcolors.asy @@ -0,0 +1,259 @@ +/* + * Copyright (C) 2003-2005 Miguel, Jmol Development, www.jmol.org + * + * Contact: miguel@jmol.org + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * 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 + */ +}; + +// 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 +}; + + diff --git a/Master/texmf/doc/asymptote/examples/cube.asy b/Master/texmf/doc/asymptote/examples/cube.asy new file mode 100644 index 00000000000..436e1e2729f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cube.asy @@ -0,0 +1,16 @@ +import three; +dotgranularity=0; // Render dots as spheres. + +currentprojection=orthographic(5,4,2,center=true); + +size(5cm); +size3(3cm,5cm,8cm); + +draw(unitbox); + +dot(unitbox,red); + +label("$O$",(0,0,0),NW); +label("(1,0,0)",(1,0,0),S); +label("(0,1,0)",(0,1,0),E); +label("(0,0,1)",(0,0,1),Z); diff --git a/Master/texmf/doc/asymptote/examples/curvedlabel.asy b/Master/texmf/doc/asymptote/examples/curvedlabel.asy new file mode 100644 index 00000000000..2ff4c6c34ec --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/curvedlabel.asy @@ -0,0 +1,4 @@ +size(200); +import labelpath; +labelpath("This is a test of curved labels in Asymptote (implemented with the {\tt PSTricks pstextpath} macro).",reverse(rotate(-90)*unitcircle)); + diff --git a/Master/texmf/doc/asymptote/examples/curvedlabel3.asy b/Master/texmf/doc/asymptote/examples/curvedlabel3.asy new file mode 100644 index 00000000000..5bee2342d83 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/curvedlabel3.asy @@ -0,0 +1,17 @@ +size(200); +import labelpath3; + +path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; +path3 g2=shift(-Z)*reverse(unitcircle3); + +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)."; + +draw(surface(g),paleblue+opacity(0.5)); +draw(labelpath(txt1,subpath(g,0,reltime(g,0.95)),angle=-90),orange); + +draw(g2,1bp+red); +draw(labelpath(txt2,subpath(g2,0,3.9),angle=180,optional=rotate(-70,X)*Z)); diff --git a/Master/texmf/doc/asymptote/examples/cyclohexane.asy b/Master/texmf/doc/asymptote/examples/cyclohexane.asy new file mode 100644 index 00000000000..d0121d8ea7e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cyclohexane.asy @@ -0,0 +1,73 @@ +import three; + +currentprojection = perspective(300,-650,500); + +surface carbon = scale3(70)*unitsphere; // 70 pm +surface hydrogen = scale3(25)*unitsphere; // 25 pm + +real alpha = 90+aSin(1/3); + +real CCbond = 156; // 156 pm +real CHbond = 110; // 110 pm + +triple c1 = (0,0,0); +triple h1 = c1+CHbond*Z; +triple c2 = rotate(alpha,c1,c1+Y)*(CCbond*Z); +triple h2 = rotate(120,c1,c2)*h1; +triple h3 = c2-CHbond*Z; +triple h4 = rotate(120,c2,c1)*h3; + +triple c3 = rotate(120,c2,h3)*c1; +triple h5 = c3+CHbond*Z; +triple h6 = rotate(-120,c3,c2)*h5; + +triple c4 = rotate(-120,c3,h5)*c2; +triple h7 = c4-CHbond*Z; +triple h8 = rotate(120,c4,c3)*h7; + +triple c5 = rotate(120,c4,h7)*c3; +triple h9 = c5+CHbond*Z; +triple h10 = rotate(-120,c5,c4)*h9; + +triple c6 = rotate(-120,c5,h9)*c4; +triple h11 = c6-CHbond*Z; +triple h12 = rotate(120,c6,c5)*h11; + +draw(shift(c1)*carbon,black); +draw(shift(c2)*carbon,black); +draw(shift(c3)*carbon,black); +draw(shift(c4)*carbon,black); +draw(shift(c5)*carbon,black); +draw(shift(c6)*carbon,black); + + +draw(shift(h1)*hydrogen,lightgray); +draw(shift(h2)*hydrogen,lightgray); +draw(shift(h3)*hydrogen,lightgray); +draw(shift(h4)*hydrogen,lightgray); +draw(shift(h5)*hydrogen,lightgray); +draw(shift(h6)*hydrogen,lightgray); +draw(shift(h7)*hydrogen,lightgray); +draw(shift(h8)*hydrogen,lightgray); +draw(shift(h9)*hydrogen,lightgray); +draw(shift(h10)*hydrogen,lightgray); +draw(shift(h11)*hydrogen,lightgray); +draw(shift(h12)*hydrogen,lightgray); + + +pen thick = linewidth(10); + +draw(c1--c2--c3--c4--c5--c6--cycle,thick); + +draw(c1--h1,thick); +draw(c1--h2,thick); +draw(c2--h3,thick); +draw(c2--h4,thick); +draw(c3--h5,thick); +draw(c3--h6,thick); +draw(c4--h7,thick); +draw(c4--h8,thick); +draw(c5--h9,thick); +draw(c5--h10,thick); +draw(c6--h11,thick); +draw(c6--h12,thick); diff --git a/Master/texmf/doc/asymptote/examples/cylinder.asy b/Master/texmf/doc/asymptote/examples/cylinder.asy new file mode 100644 index 00000000000..c574f577bbd --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cylinder.asy @@ -0,0 +1,7 @@ +import solids; + +size(0,100); + +revolution r=cylinder(O,1,1.5,Y+Z); +draw(surface(r),green); +draw(r,blue); diff --git a/Master/texmf/doc/asymptote/examples/cylinderskeleton.asy b/Master/texmf/doc/asymptote/examples/cylinderskeleton.asy new file mode 100644 index 00000000000..7dcd1c81190 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/cylinderskeleton.asy @@ -0,0 +1,6 @@ +import solids; + +size(0,100); + +revolution r=cylinder(O,1,1.5,Y+Z); +draw(r,heavygreen); diff --git a/Master/texmf/doc/asymptote/examples/datagraph.asy b/Master/texmf/doc/asymptote/examples/datagraph.asy new file mode 100644 index 00000000000..299b1594a0f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/datagraph.asy @@ -0,0 +1,12 @@ +import graph; + +size(200,150,IgnoreAspect); + +real[] x={0,1,2,3}; +real[] y=x^2; + +draw(graph(x,y),red); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight, + RightTicks(Label(fontsize(8)),new real[]{0,4,9})); diff --git a/Master/texmf/doc/asymptote/examples/delu.asy b/Master/texmf/doc/asymptote/examples/delu.asy new file mode 100644 index 00000000000..7f9853eb51c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/delu.asy @@ -0,0 +1,29 @@ +size(7cm,0); + +pair z1=(1,-0.25); +pair v1=dir(45); +pair z2=-z1; +pair v2=0.75*dir(260); +pair z3=(z1.x,-3); + +// A centered random number +real crand() {return unitrand()-0.5;} + +guide g; +pair lastz; +for(int i=0; i < 60; ++i) { + pair z=0.75*lastz+(crand(),crand()); + g=g..2.5*z; + lastz=z; +} +g=shift(0,-.5)*g..cycle; + +draw(g,gray(0.7)); + +draw("$r$",z1--z2,RightSide,red,Arrows,DotMargins); +draw(z1--z1+v1,Arrow); +draw(z2--z2+v2,Arrow); +draw(z3--z3+v1-v2,green,Arrow); + +dot("1",z1,S,blue); +dot("2",z2,NW,blue); diff --git a/Master/texmf/doc/asymptote/examples/diagonal.asy b/Master/texmf/doc/asymptote/examples/diagonal.asy new file mode 100644 index 00000000000..32f3fc04be0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/diagonal.asy @@ -0,0 +1 @@ +draw((0,0)--(100,100)); diff --git a/Master/texmf/doc/asymptote/examples/diatom.asy b/Master/texmf/doc/asymptote/examples/diatom.asy new file mode 100644 index 00000000000..905b432c90d --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/diatom.asy @@ -0,0 +1,129 @@ +import graph; + +size(15cm,12cm,IgnoreAspect); + +real minpercent=20; +real ignorebelow=0; +string data="diatom.csv"; +string[] group; +int[] begin,end; + +defaultpen(fontsize(8)+overwrite(MoveQuiet)); + +file in=line(csv(input(data))); + +string depthlabel=in; +string yearlabel=in; +string[] taxa=in; +group=in; +begin=in; +real[] depth; +int[] year; +real[][] percentage; + +while(true) { + real d=in; + if(eof(in)) break; + depth.push(d); + year.push(in); + percentage.push(in); +} + +percentage=transpose(percentage); +real depthmin=-min(depth); +real depthmax=-max(depth); + +int n=percentage.length; + +int final; +for(int taxon=0; taxon < n; ++taxon) { + real[] P=percentage[taxon]; + if(max(P) < ignorebelow) continue; + final=taxon; +} + +real angle=45; +real L=3cm; +pair Ldir=L*dir(angle); +real ymax=-infinity; +real margin=labelmargin(); + +real location=0; + +for(int i=0; i < begin.length-1; ++i) end[i]=begin[i+1]-1; +end[begin.length-1]=n-1; + +typedef void drawfcn(frame f); +drawfcn[] draw=new drawfcn[begin.length]; + +pair z0; + +for(int taxon=0; taxon < n; ++taxon) { + real[] P=percentage[taxon]; + real maxP=max(P); + if(maxP < ignorebelow) continue; + picture pic; + real x=1; + if(maxP < minpercent) x=minpercent/maxP; + if(maxP > 100) x=50/maxP; + scale(pic,Linear(true,x),Linear(-1)); + filldraw(pic,(0,depthmin)--graph(pic,P,depth)--(0,depthmax)--cycle, + gray(0.9)); + xaxis(pic,Bottom,LeftTicks("$%.3g$",beginlabel=false,0,2),above=true); + xaxis(pic,Top,above=true); + + frame label; + label(label,rotate(angle)*TeXify(taxa[taxon]),(0,0),N); + + pair z=point(pic,N); + pair v=max(label); + int taxon=taxon; + pic.add(new void(frame f, transform t) { + pair z1=t*z+v; + ymax=max(ymax,z1.y+margin); + }); + + for(int i=0; i < begin.length; ++i) { + pair z=point(pic,N); + pair v=max(label); + if(taxon == begin[i]) { + pic.add(new void(frame f, transform t) { + pair Z=t*z+v; + z0=Z; + pair w0=Z+Ldir; + }); + } else if(taxon == end[i]) { + int i=i; + pair align=2N; + pic.add(new void(frame, transform t) { + pair z0=z0; + 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); + }; + }); + } + } + + add(pic,label,point(pic,N)); + + 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; +} + +add(new void(frame f, transform) { + for(int i=0; i < draw.length; ++i) + draw[i](f); + }); + +for(int i=0; i < year.length; ++i) + if(year[i] != 0) label((string) year[i],(location,-depth[i]),E); + +label("\%",(0.5*location,point(S).y),5*S); diff --git a/Master/texmf/doc/asymptote/examples/diatom.csv b/Master/texmf/doc/asymptote/examples/diatom.csv new file mode 100644 index 00000000000..d05c3f4bc9a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/diatom.csv @@ -0,0 +1,28 @@ +"sediment depth (cm)","year","Achnanthes minutissima Kuetzing","Anomoeoneis vitrea (Grunow) Ross","Asterionella formosa Hassall","Tabellaria flocculosa (Roth) Kuetzing","Fragilaria cf. tenera","Chaetoceros muelleri/elmorei cysts","Aulacoseira spp. ","Fragilaria capucina var. vaucheriae (Kuetzing)","Fragilaria crotonensis Kitton" +"A","B","C" +0,4,6 +0,2000,11.6959064327485,9.55165692007797,49.6101364522417,1.364522417154,0,0.974658869395711,0,2.14424951267057,4.09356725146199 +10,1998,20.2676864244742,11.2810707456979,34.7992351816444,2.39005736137667,0,0.191204588910134,0.573613766730402,0.382409177820268,7.55258126195029 +20,1996,21.1282051282051,33.6410256410256,24,2.35897435897436,0.615384615384615,0,0.205128205128205,0.615384615384615,2.56410256410256 +30,1994,25.7620452310718,21.0422812192724,31.3667649950836,2.16322517207473,0.393313667649951,0.393313667649951,0.196656833824975,1.76991150442478,3.73647984267453 +40,1992,21.0422812192724,16.5191740412979,42.9695181907571,0.589970501474926,0,0.983284169124877,0.589970501474926,0.393313667649951,1.96656833824975 +50,1990,23.1067961165049,24.0776699029126,29.126213592233,1.35922330097087,0,0.970873786407767,0.388349514563107,0.58252427184466,3.30097087378641 +60,1988,35.0738916256158,33.3004926108374,4.33497536945813,1.37931034482759,0.591133004926108,1.97044334975369,1.18226600985222,0.985221674876847,2.75862068965517 +70,1986,42.2090729783037,33.7278106508876,2.26824457593688,1.38067061143984,0.788954635108481,1.18343195266272,0.591715976331361,1.38067061143984,3.25443786982249 +90,1984,34.5098039215686,41.9607843137255,0.196078431372549,2.15686274509804,0.588235294117647,2.74509803921569,0.588235294117647,2.15686274509804,0 +95,1982,38.0487804878049,45.4634146341463,0.487804878048781,0.975609756097561,0.975609756097561,0,0.390243902439024,0.390243902439024,0 +110,1980,40.1860465116279,41.4883720930233,1.30232558139535,0.837209302325581,0,0.930232558139535,0.372093023255814,0.372093023255814,1.3953488372093 +130,1978,39.6501457725948,42.1768707482993,0.291545189504373,0.194363459669582,2.72108843537415,1.55490767735666,0,1.36054421768707,0.777453838678329 +150,1972,32.6298701298701,31.4935064935065,1.86688311688312,1.78571428571429,0.162337662337662,13.961038961039,0.162337662337662,1.94805194805195,1.86688311688312 +170,1970,30.7692307692308,47.534516765286,0.986193293885602,3.35305719921105,0.19723865877712,1.38067061143984,0,1.18343195266272,0.591715976331361 +190,1965,40.5268490374873,37.8926038500507,1.82370820668693,2.63424518743668,0,1.21580547112462,0.405268490374873,1.21580547112462,1.01317122593718 +260,1961,40.4494382022472,26.0299625468165,0.468164794007491,1.31086142322097,0.561797752808989,8.05243445692884,0,3.74531835205992,0.374531835205993 +280,1950,44.946025515211,11.9725220804711,0.294406280667321,0.785083415112856,16.48675171737,1.96270853778214,0.392541707556428,2.35525024533857,0 +290,1942,41.2818096135721,8.29406220546654,0.188501413760603,0.282752120640905,28.6522148916117,0.942507068803016,0.377002827521206,4.33553251649387,0 +300,1940,18.0995475113122,12.3076923076923,0,0.180995475113122,40.3619909502262,5.61085972850679,0,2.35294117647059,0 +310,1920,28.6844708209693,11.2759643916914,0.593471810089021,3.26409495548961,13.0563798219585,13.2542037586548,0.19782393669634,9.89119683481701,0.989119683481701 +320,1915,6.17977528089888,1.31086142322097,4.30711610486891,6.74157303370787,32.7715355805243,34.4569288389513,1.31086142322097,2.62172284644195,0 +330,1910,4.03846153846154,0.769230769230769,14.5192307692308,36.4423076923077,5,0.769230769230769,11.1538461538462,0,2.11538461538462 +340,1888,7.37148399612027,1.1639185257032,9.40834141610087,31.8137730358875,1.1639185257032,0.969932104752667,14.3549951503395,0.193986420950533,0.969932104752667 +400,1763,2.69749518304432,0.192678227360308,24.8554913294798,26.7822736030829,0.385356454720617,2.69749518304432,20.0385356454721,0,1.54142581888247 +450,1726,2.37859266600595,0.396432111000991,9.71258671952428,28.5431119920714,0.198216055500496,0.594648166501487,30.5252725470763,0,0.792864222001982 diff --git a/Master/texmf/doc/asymptote/examples/dimension.asy b/Master/texmf/doc/asymptote/examples/dimension.asy new file mode 100644 index 00000000000..1244ba84e68 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/dimension.asy @@ -0,0 +1,23 @@ +size(12cm,0); + +void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0, + pen p=currentpen) +{ + real d=3mm; + path g=A--B; + transform T=shift(-n*d*unit(B-A)*I); + 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); + 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); diff --git a/Master/texmf/doc/asymptote/examples/dots.asy b/Master/texmf/doc/asymptote/examples/dots.asy new file mode 100644 index 00000000000..49acfce341f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/dots.asy @@ -0,0 +1 @@ +draw((0,0){up}..(100,25){right}..(200,0){down}); diff --git a/Master/texmf/doc/asymptote/examples/dragon.asy b/Master/texmf/doc/asymptote/examples/dragon.asy new file mode 100644 index 00000000000..08fcb61f5c0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/dragon.asy @@ -0,0 +1,66 @@ +pair crease(pair z1, pair z2, bool left) +{ + pair dz = z2 - z1; + + if (left) + return z1 + dz * (0.5, 0.5); + else + return z1 + dz * (0.5, -0.5); +} + +pair[] fold(pair[] oldz) +{ + int n = oldz.length; + pair[] newz = new pair[2n-1]; + + for (int i = 0; i < n-1; ++i) + { + newz[2i] = oldz[i]; + newz[2i+1] = crease(oldz[i], oldz[i+1], i%2==0); + } + + newz[2(n-1)] = oldz[n-1]; + + return newz; +} + +pair[] dragon(int n, pair[] base={}) +{ + if (base.length == 0) + if (n%2 == 0) + base = new pair[] {(0,0), (1,1) }; + else + base = new pair[] {(0,0), (1,0) }; + + pair[] z = base; + + for (int i = 1; i < n; ++i) + z = fold(z); + + return z; +} + +void drawtris(pair[] z, pen p = currentpen) +{ + int n = z.length; + + for (int i = 0; i < n-2; i+=2) + fill(z[i]--z[i+1]--z[i+2]--cycle, p); +} + +void drawtris(pair[] z, pen p1, pen p2) +{ + int n = z.length; + + for (int i = 0; i < n-2; i+=2) + fill(z[i]--z[i+1]--z[i+2]--cycle, 2i < n-1 ? p1 : p2); +} + +size(500,0); + +int n = 10; + +drawtris(dragon(n, new pair[] {(0,0), (1,0)}), black); +drawtris(dragon(n, new pair[] {(0,0), (0,-1)}), blue); +drawtris(dragon(n, new pair[] {(0,0), (-1,0)}), red); +drawtris(dragon(n, new pair[] {(0,0), (0,1)}), green); diff --git a/Master/texmf/doc/asymptote/examples/eetomumu.asy b/Master/texmf/doc/asymptote/examples/eetomumu.asy new file mode 100644 index 00000000000..309547d1455 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/eetomumu.asy @@ -0,0 +1,60 @@ +import feynman; + + +// set default line width to 0.8bp +currentpen = linewidth(0.8); + +// scale all other defaults of the feynman module appropriately +fmdefaults(); + +// define vertex and external points + +real L = 50; + +pair zl = (-0.75*L,0); +pair zr = (+0.75*L,0); + +pair xu = zl + L*dir(+120); +pair xl = zl + L*dir(-120); + +pair yu = zr + L*dir(+60); +pair yl = zr + L*dir(-60); + + +// draw propagators and vertices + +drawFermion(xu--zl); +drawFermion(zl--xl); + +drawPhoton(zl--zr); + +drawFermion(yu--zr); +drawFermion(zr--yl); + +drawVertex(zl); +drawVertex(zr); + + +// draw momentum arrows and momentum labels + +drawMomArrow(xl--zl, Relative(left)); +label(Label("$k'$",2RightSide), xl--zl); + +label(Label("$k$",2LeftSide), xu--zl); + +drawMomArrow(zl--zr, Relative(left)); +label(Label("$q$",2RightSide), zl--zr); + +drawMomArrow(zr--yu, Relative(right)); +label(Label("$p'$",2LeftSide), zr--yu); + +label(Label("$p$",2RightSide), zr--yl); + + +// draw particle labels + +label("$e^-$", xu, left); +label("$e^+$", xl, left); + +label("$\mu^+$", yu, right); +label("$\mu^-$", yl, right); diff --git a/Master/texmf/doc/asymptote/examples/electromagnetic.asy b/Master/texmf/doc/asymptote/examples/electromagnetic.asy new file mode 100644 index 00000000000..058c7c5c574 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/electromagnetic.asy @@ -0,0 +1,47 @@ +import graph; +import palette; +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 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); + +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); + xlimits(p,lambda(fmax),lambda(fmin)); + ylimits(p,0,1); + xaxis(p,Label("\nano\metre",1),Top,LeftTicks(DefaultLogFormat,n=10)); + }); + +add(q,above=true); + +margin margin=PenMargin(0,0); +draw("radio",Scale((10,1))--Scale((5e12,1)),N,Arrow); +draw("infrared",Scale((1e12,1.5))--Scale(shift(0,1.5)*ir),Arrows,margin); +draw("UV",Scale(shift(0,1.5)*uv)--Scale((1e17,1.5)),Arrows,margin); +draw("x-rays",Scale((1e16,1))--Scale((1e21,1)),N,Arrows); +draw("$\gamma$-rays",Scale((fmax,1.5))--Scale((2e18,1.5)),Arrow); + diff --git a/Master/texmf/doc/asymptote/examples/elevation.asy b/Master/texmf/doc/asymptote/examples/elevation.asy new file mode 100644 index 00000000000..4e4579d98a9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/elevation.asy @@ -0,0 +1,15 @@ +import graph3; +import grid3; +import palette; + +currentprojection=orthographic(0.8,1,1); + +size(400,300,IgnoreAspect); + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline); + +draw(s,mean(palette(s.map(zpart),Rainbow())),black); + +grid3(XYZgrid); diff --git a/Master/texmf/doc/asymptote/examples/elliptic.asy b/Master/texmf/doc/asymptote/examples/elliptic.asy new file mode 100644 index 00000000000..728508f0110 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/elliptic.asy @@ -0,0 +1,115 @@ +struct curve { + real a=0; + real b=8; + + real y2(real x) { + return x^3+a*x+b; + } + + real disc() { + return -16*(4*a*a*a+27*b*b); + } + + real lowx () { + return sqrt(-a/3); + } + + int comps() { + if (a < 0) { + real x=sqrt(-a/3); + return y2(x) < 0 ? 2 : 1; + } + return 1; + } + + void locus(picture pic=currentpicture, real m, real M, int n=100, + pen p=currentpen) { + path flip(path p, bool close) { + path pp=reverse(yscale(-1)*p)..p; + return close ? pp..cycle : pp; + } + path section(real m, real M, int n) { + guide g; + real width=(M-m)/n; + for(int i=0; i <= n; ++i) { + real x=m+width*i; + real yy=y2(x); + if (yy > 0) + g=g..(x,sqrt(yy)); + } + return g; + } + + if (comps() == 1) { + draw(pic,flip(section(m,M,n),false),p); + } + else { + real x=lowx(); // The minimum on x^3+ax+b + if (m < x) + draw(pic,flip(section(m,min(x,M),n),true),p); + if (x < M) + draw(pic,flip(section(max(x,m),M,n),false),p); + } + } + + pair neg(pair P) { + return finite(P.y) ? yscale(-1)*P : P; + } + + pair add(pair P, pair Q) { + if (P.x == Q.x && P.x != Q.x) + return (0,infinity); + else { + real lambda=P == Q ? (3*P.x^2+a)/(2*P.y) : (Q.y-P.y)/(Q.x-P.x); + real Rx=lambda^2-P.x-Q.x; + return (Rx,(P.x-Rx)*lambda-P.y); + } + } +} + +import graph; +import math; + +size(0,200); + +curve c; c.a=-1; c.b=4; + +pair oncurve(real x) +{ + return (x,sqrt(c.y2(x))); +} + +picture output; + +axes(); +c.locus(-4,3,.3red+.7blue); + +pair P=oncurve(-1),Q=oncurve(1.2); +pair PP=c.add(P,P),sum=c.add(P,Q); + +save(); + +drawline(P,Q,dashed); +drawline(c.neg(sum),sum,dashed); +dot("$P$", P, NW); +dot("$Q$", Q, SSE); +dot(c.neg(sum)); +dot("$P+Q$", sum, 2SW); + +add(output,currentpicture.fit(),(-0.5cm,0),W); + +restore(); + +save(); + +drawline(P,c.neg(PP),dashed); +drawline(c.neg(PP),PP,dashed); +dot("$P$", P, NW); +dot(c.neg(PP)); +dot("$2P$", PP, SW); + +add(output,currentpicture.fit(),(0.5cm,0),E); + +shipout(output); + +restore(); diff --git a/Master/texmf/doc/asymptote/examples/epix.asy b/Master/texmf/doc/asymptote/examples/epix.asy new file mode 100644 index 00000000000..df0cd3d336c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/epix.asy @@ -0,0 +1,14 @@ +import graph3; + +size(200,200,IgnoreAspect); + +currentprojection=perspective(4,2,3); + +real f(pair z) {return z.y^3/2-3z.x^2*z.y;} + +draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green); +draw(Label("$y$",1),(0,0,0)--(0,2,0),red,Arrow3); + +draw(Label("$x$",1),(0,0,0)--(2,0,0),red,Arrow3); +draw(Label("$z$",1),(0,0,0)--(0,0,2.5),red,Arrow3); +label("$z=\frac{1}{2}y^3-3x^2y$",(1,1,1),NE); diff --git a/Master/texmf/doc/asymptote/examples/equilateral.asy b/Master/texmf/doc/asymptote/examples/equilateral.asy new file mode 100644 index 00000000000..d68e0d02225 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/equilateral.asy @@ -0,0 +1,12 @@ +size(10cm,0); +import math; + +pair b=(0,0), c=(1,0); +pair a=extension(b,b+dir(60),c,c+dir(120)); +pair d=extension(b,b+dir(30),a,a+dir(270)); + +draw(a--b--c--a--d--b^^d--c); +label("$A$",a,N); +label("$B$",b,W); +label("$C$",c,E); +label("$D$",d,S); diff --git a/Master/texmf/doc/asymptote/examples/equilchord.asy b/Master/texmf/doc/asymptote/examples/equilchord.asy new file mode 100644 index 00000000000..ae3665b1a66 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/equilchord.asy @@ -0,0 +1,21 @@ +import graph3; + +size(0,150); +currentprojection=perspective(5,-4,6); +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; +} + +real a=1.5; +draw((-a,-a,0)--(-a,a,0)--(a,a,0)--(a,-a,0)--cycle,lightgray); + +xaxis3(Label("$x$",1),red,Arrow3); +yaxis3(Label("$y$",1),red,Arrow3); +draw(circle((0,0,0),1),dashed); +draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black); +real y=sqrt(1-t^2); +draw((t,y,0)--(t,-y,0)--(t,0,sqrt(3)*y)--cycle,blue); +label("$1$",(1,0,0),-Y+X); diff --git a/Master/texmf/doc/asymptote/examples/errorbars.asy b/Master/texmf/doc/asymptote/examples/errorbars.asy new file mode 100644 index 00000000000..a8707b24972 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/errorbars.asy @@ -0,0 +1,42 @@ +import graph; + +picture pic; +real xsize=200, ysize=140; +size(pic,xsize,ysize,IgnoreAspect); + +pair[] f={(5,5),(50,20),(90,90)}; +pair[] df={(0,0),(5,7),(0,5)}; + +errorbars(pic,f,df,red); +draw(pic,graph(pic,f),"legend", + marker(scale(0.8mm)*unitcircle,red,FillDraw(blue),above=false)); + +scale(pic,true); + +xaxis(pic,"$x$",BottomTop,LeftTicks); +yaxis(pic,"$y$",LeftRight,RightTicks); +add(pic,legend(pic),point(pic,NW),20SE,UnFill); + +picture pic2; +size(pic2,xsize,ysize,IgnoreAspect); + +frame mark; +filldraw(mark,scale(0.8mm)*polygon(6),green,green); +draw(mark,scale(0.8mm)*cross(6),blue); + +draw(pic2,graph(pic2,f),marker(mark,markuniform(5))); + +scale(pic2,true); + +xaxis(pic2,"$x$",BottomTop,LeftTicks); +yaxis(pic2,"$y$",LeftRight,RightTicks); + +yequals(pic2,55.0,red+Dotted); +xequals(pic2,70.0,red+Dotted); + +// Fit pic to W of origin: +add(pic.fit(),(0,0),W); + +// Fit pic2 to E of (5mm,0): +add(pic2.fit(),(5mm,0),E); + diff --git a/Master/texmf/doc/asymptote/examples/exp.asy b/Master/texmf/doc/asymptote/examples/exp.asy new file mode 100644 index 00000000000..2c4eed90d4e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/exp.asy @@ -0,0 +1,14 @@ +import graph; +size(150,0); + +real f(real x) {return exp(x);} +pair F(real x) {return (x,f(x));} + +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/doc/asymptote/examples/externalprc.tex b/Master/texmf/doc/asymptote/examples/externalprc.tex new file mode 100644 index 00000000000..96643d7cebf --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/externalprc.tex @@ -0,0 +1,12 @@ +% Generate inline PRC images for latex with +% asy -inlineimage teapot -render=4 +% +% Generate inline PRC images for pdflatex with +% asy -inlineimage teapot -render=4 -tex pdflatex +% +\documentclass[12pt]{article} +\input teapot_.pre +\RequirePackage{color,graphicx} +\begin{document} +\input teapot_.tex +\end{document} diff --git a/Master/texmf/doc/asymptote/examples/extrudedcontour.asy b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy new file mode 100644 index 00000000000..b5ad885a350 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy @@ -0,0 +1,22 @@ +import contour; +import palette; +import graph3; +currentprojection=orthographic(25,10,10); +size(0,12cm); +real a=3; +real b=4; +real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} +guide[][] g=contour(f,(-10,-10),(10,10),new real[]{8},150); + +for(guide p:g[0]){ + draw(extrude(p,8Z),palered); + draw(path3(p),red+2pt); +} + +draw(lift(f,g),red+2pt); + +surface s=surface(f,(0,0),(10,10),20,Spline); +s.colors(palette(s.map(zpart),Rainbow()+opacity(0.5))); +draw(s); +axes3("$x$","$y$","$z$",Arrow3); + diff --git a/Master/texmf/doc/asymptote/examples/fano.asy b/Master/texmf/doc/asymptote/examples/fano.asy new file mode 100644 index 00000000000..12286d7006e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fano.asy @@ -0,0 +1,28 @@ +import math; + +size(100,0); + +pair z4=(0,0); +pair z7=(2,0); +pair z1=point(rotate(60)*(z4--z7),1); + +pair z5=interp(z4,z7,0.5); +pair z3=interp(z7,z1,0.5); +pair z2=interp(z1,z4,0.5); +pair z6=extension(z4,z3,z7,z2); + +draw(z4--z7--z1--cycle); +draw(z4--z3); +draw(z7--z2); +draw(z1--z5); +draw(circle(z6,abs(z3-z6))); + +label("1",z1,dir(z5--z1)); +label("2",z2,dir(z7--z2)); +label("3",z3,dir(z4--z3)); +label("4",z4,dir(z3--z4)); +label("5",z5,dir(z1--z5)); +label("6",z6,2.5E+0.1*N); +label("7",z7,dir(z2--z7)); + + diff --git a/Master/texmf/doc/asymptote/examples/fermi.asy b/Master/texmf/doc/asymptote/examples/fermi.asy new file mode 100644 index 00000000000..c74da952ab2 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fermi.asy @@ -0,0 +1,40 @@ +import feynman; + +// set default line width to 0.8bp +currentpen = linewidth(0.8); + +// scale all other defaults of the feynman module appropriately +fmdefaults(); + +// disable middle arrows +currentarrow = None; + +// define vertex and external points + +pair xu = (-40,+45); +pair xl = (-40,-45); +pair yu = (+40,+45); +pair yl = (+40,-45); + +pair zu = ( 0,+ 5); +pair zl = ( 0,- 5); + +// define mid points + +pair mxu = (xu+zu)/2; +pair mxl = (xl+zl)/2; +pair myu = (yu+zu)/2; +pair myl = (yl+zl)/2; + +// draw fermion lines +drawFermion(xu--zu--yu); +drawFermion(xl--zl--yl); + +// draw vertices +drawVertexOX(zu); +drawVertexOX(zl); + +// draw gluon. Note that the underlying fermion line is blotted out. +drawGluon(arc((0,0),mxu,myl,CW)); + +// shipout diff --git a/Master/texmf/doc/asymptote/examples/filegraph.asy b/Master/texmf/doc/asymptote/examples/filegraph.asy new file mode 100644 index 00000000000..c56dd0234f3 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/filegraph.asy @@ -0,0 +1,15 @@ +import graph; + +size(200,150,IgnoreAspect); + +file in=line(input("filegraph.dat")); +real[][] a=dimension(in,0,0); +a=transpose(a); + +real[] x=a[0]; +real[] y=a[1]; + +draw(graph(x,y),red); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); diff --git a/Master/texmf/doc/asymptote/examples/filegraph.dat b/Master/texmf/doc/asymptote/examples/filegraph.dat new file mode 100644 index 00000000000..f69ffe330de --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/filegraph.dat @@ -0,0 +1,4 @@ +# x y + 50 0 +100 0.5 +125 2 diff --git a/Master/texmf/doc/asymptote/examples/filesurface.asy b/Master/texmf/doc/asymptote/examples/filesurface.asy new file mode 100644 index 00000000000..42275715a0b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/filesurface.asy @@ -0,0 +1,34 @@ +import graph3; +import palette; + +size3(200,IgnoreAspect); + +file in=line(input("filesurface.dat")); +real[] x=in; +real[] y=in; + +real[][] f=dimension(in,0,0); + +triple f(pair t) { + int i=round(t.x); + int j=round(t.y); + return (x[i],y[j],f[i][j]); +} + +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())); + +draw(s,meshpen=thick()); + +triple m=currentpicture.userMin; +triple M=currentpicture.userMax; +triple target=0.5*(m+M); +currentprojection=perspective(camera=target+realmult(dir(68,225),M-m), + target=target); + +xaxis3("$x$",Bounds(),InTicks); +yaxis3("$y$",Bounds(),InTicks(Step=1,step=0.1)); +zaxis3("$z$",Bounds(),InTicks); diff --git a/Master/texmf/doc/asymptote/examples/filesurface.dat b/Master/texmf/doc/asymptote/examples/filesurface.dat new file mode 100644 index 00000000000..16d5966f6be --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/filesurface.dat @@ -0,0 +1,12 @@ +1 12 24 36 60 84 120 180 240 360 +2005 2005.083333 2005.166667 2005.25 2005.333333 2005.416667 2005.5 2005.583333 2005.666667 2005.75 2005.833333 2005.916667 2006 2006.083333 2006.166667 2006.25 2006.333333 2006.416667 2006.5 2006.583333 2006.666667 2006.75 2006.833333 2006.916667 2007 2007.083333 2007.166667 2007.25 2007.333333 2007.416667 2007.5 2007.583333 2007.666667 2007.75 2007.833333 2007.916667 2008 2008.083333 2008.166667 2008.25 2008.333333 2008.416667 2008.5 2008.583333 2008.666667 2008.75 2008.833333 2008.916667 +2.111 2.1039 2.103 2.1047 2.1041 2.1039 2.1064 2.1126 2.1152 2.1209 2.2225 2.4112 2.3885 2.4586 2.6333 2.6489 2.6926 2.8691 2.9389 3.0941 3.1572 3.3501 3.4214 3.64 3.6159 3.6511 3.8439 3.859 3.9194 4.0982 4.105 4.3081 4.4339 4.2355 4.216 4.7114 4.1973 4.1821 4.3046 4.3691 4.3874 4.4724 4.4716 4.4875 4.6599 4.8313 3.8433 2.9929 +2.223809524 2.228 2.246190476 2.165238095 2.092727273 1.997272727 2.07185 2.14 2.128636364 2.327619048 2.577272727 2.67 2.717727273 2.793 2.978695652 3.094210526 3.175 3.271363636 3.415238095 3.489565217 3.573333333 3.664090909 3.723636364 3.773157895 3.914090909 3.9605 3.982727273 4.132105263 4.254545455 4.398095238 4.44 4.228695652 4.088 4.09 4.044090909 4.0855 3.870909091 3.631904762 3.711052632 3.955909091 4.141428571 4.562380952 4.575217391 4.36952381 4.210909091 2.93173913 2.3795 2.007727273 +2.431904762 2.4595 2.517142857 2.367619048 2.237272727 2.077727273 2.18235 2.253913043 2.222727273 2.484761905 2.743636364 2.804285714 2.862272727 2.968 3.192173913 3.343157895 3.381818182 3.462727273 3.574285714 3.575652174 3.602380952 3.657272727 3.677727273 3.744210526 3.926818182 3.954 3.922272727 4.105263158 4.255454545 4.464285714 4.475 4.183478261 4.0595 4.090434783 3.898636364 3.9975 3.68 3.334761905 3.402105263 3.781818182 4.07047619 4.624761905 4.542608696 4.178095238 4.008636364 3.151304348 2.641 2.375 +2.638095238 2.6685 2.735714286 2.562380952 2.416818182 2.241363636 2.33035 2.400869565 2.340454545 2.60952381 2.865454545 2.895238095 2.949545455 3.0775 3.297826087 3.477368421 3.521363636 3.589545455 3.685714286 3.640434783 3.614761905 3.674545455 3.668636364 3.742631579 3.938636364 3.9625 3.91 4.106842105 4.258636364 4.496666667 4.496818182 4.210869565 4.0975 4.138695652 3.933181818 4.027 3.719090909 3.413809524 3.434210526 3.818636364 4.071428571 4.622380952 4.56826087 4.157619048 3.993181818 3.358695652 2.8285 2.594090909 +2.996190476 3.015 3.124761905 2.920952381 2.753181818 2.581818182 2.6606 2.710869565 2.595 2.829047619 3.082272727 3.056190476 3.080909091 3.2445 3.45173913 3.664736842 3.703181818 3.74 3.82047619 3.726956522 3.655714286 3.712727273 3.669090909 3.753157895 3.970454545 4.0055 3.914090909 4.126315789 4.273181818 4.538095238 4.537727273 4.25826087 4.1655 4.210869565 3.982727273 4.1085 3.829545455 3.600952381 3.591578947 3.941363636 4.137619048 4.65952381 4.622173913 4.201428571 4.126363636 3.774782609 3.2075 2.983181818 +3.265714286 3.2665 3.405238095 3.21 3.04 2.87 2.9277 2.959565217 2.819545455 3.021428571 3.238636364 3.144761905 3.143636364 3.3225 3.536086957 3.798421053 3.85 3.867727273 3.91047619 3.803043478 3.706666667 3.757727273 3.700454545 3.775263158 4.003181818 4.037368421 3.938181818 4.156315789 4.288636364 4.566190476 4.546363636 4.31173913 4.23 4.27 4.076818182 4.185 3.949545455 3.793333333 3.730526316 4.043636364 4.219047619 4.636190476 4.62173913 4.258095238 4.190454545 3.967826087 3.53 3.192272727 +3.593809524 3.5845 3.745238095 3.543333333 3.381363636 3.209545455 3.249 3.282173913 3.122272727 3.285714286 3.488181818 3.380952381 3.344545455 3.497 3.674347826 3.935789474 4.004090909 4.004545455 4.029047619 3.906956522 3.778095238 3.817272727 3.75 3.811052632 4.055909091 4.091 3.99 4.203157895 4.330454545 4.614285714 4.590454545 4.393913043 4.344 4.397391304 4.234545455 4.346 4.165 4.105238095 4.044210526 4.252727273 4.398571429 4.718571429 4.705217391 4.407142857 4.379090909 4.255652174 3.998 3.514545455 +3.78952381 3.7435 3.9255 3.75 3.582272727 3.451363636 3.50775 3.513913043 3.359545455 3.494761905 3.665909091 3.551428571 3.504545455 3.6535 3.812608696 4.098421053 4.167272727 4.175909091 4.186666667 4.056086957 3.908571429 3.916363636 3.824545455 3.882105263 4.12 4.162 4.089090909 4.306315789 4.423181818 4.699047619 4.661818182 4.504782609 4.4985 4.519565217 4.402272727 4.5115 4.382727273 4.366666667 4.336842105 4.509545455 4.613809524 4.861428571 4.877391304 4.636666667 4.659545455 4.482173913 4.2535 3.744545455 +3.99 3.9085 4.098571429 3.944285714 3.771363636 3.609090909 3.6536 3.640869565 3.488181818 3.604761905 3.755454545 3.634285714 3.565909091 3.7165 3.866521739 4.151052632 4.235454545 4.235909091 4.249047619 4.116086957 3.961904762 3.953333333 3.855714286 3.92 4.153636364 4.1985 4.139090909 4.365789474 4.471818182 4.747142857 4.695454545 4.55 4.572 4.590434783 4.500909091 4.602 4.504090909 4.513809524 4.521052632 4.656818182 4.733809524 4.899047619 4.935652174 4.746190476 4.776818182 4.598695652 4.4835 3.900454545 +4.137142857 4.0305 4.213333333 4.08 3.902727273 3.739090909 3.774285714 3.757391304 3.598181818 3.706190476 3.842272727 3.712 3.629545455 3.771 3.919565217 4.231111111 4.295909091 4.306818182 4.31 4.170434783 4.000952381 3.99 3.881818182 3.943684211 4.176818182 4.2195 4.163636364 4.387368421 4.480454545 4.758095238 4.710454545 4.559565217 4.595 4.612173913 4.544090909 4.64 4.57 4.58 4.614736842 4.702727273 4.768571429 4.884761905 4.905652174 4.741904762 4.775454545 4.496521739 4.3585 3.738636364 diff --git a/Master/texmf/doc/asymptote/examples/fillcontour.asy b/Master/texmf/doc/asymptote/examples/fillcontour.asy new file mode 100644 index 00000000000..1b93e002fff --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fillcontour.asy @@ -0,0 +1,29 @@ +import graph; +import palette; +import contour; + +size(12cm,IgnoreAspect); + +pair a=(pi/2,0); +pair b=(1.5*pi+epsilon,2pi); + +real f(real x, real y) {return cos(x)*sin(y);} + +int N=100; +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 --); + +pen[] Palette=quantize(Rainbow(),Divs); + +pen[][] interior=interior(g,extend(Palette,grey,black)); +fill(g,interior); +draw(g); + +palette("$f(x,y)$",range,point(SE)+(0.5,0),point(NE)+(1,0),Right,Palette, + PaletteTicks("$%+#0.1f$",N=Divs)); diff --git a/Master/texmf/doc/asymptote/examples/fin.asy b/Master/texmf/doc/asymptote/examples/fin.asy new file mode 100644 index 00000000000..8fe88f3dc0e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fin.asy @@ -0,0 +1,152 @@ +import three; +import palette; + +int N = 26; +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) + A[i][j] = 0; + +real Tb = 100; // deg C +real h = 240; // 240 W/m^2 K +real k = 240; // W/m K +real Tinf = 20; // deg C +real L = 12; // cm +real t = 2; // cm + +real delta = 0.01; // 1 cm = 0.01 m + +// (1,2)-(2,2)-(3,2)-...-(13,2) +// | | | | +// (1,1)-(2,1)-(3,1)-...-(13,1) +// +// | +// \ / +// V +// +// 13-14-15-...-24-25 +// | | | ... | | +// 0- 1- 2-...-11-12 + +// but, note zero-based array indexing, so counting starts at 0 +int indexof(int m, int n) +{ + return 13(n-1)+m-1; +} + +int i = 0; + +// fixed temperature bottom left +A[i][indexof(1,1)] = 1; C[i] = Tb; +++i; +// fixed temperature middle left +A[i][indexof(1,2)] = 1; C[i] = Tb; +++i; + +// 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; +} + +// 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; +} + +// convective bottom right corner node +A[i][indexof(13,2)] = A[i][indexof(12,1)] = 0.5; +A[i][indexof(13,1)] = -(1+h*delta/k); +C[i] = -h*delta*Tinf/k; +++i; + +// convective middle right side node +A[i][indexof(13,2)] = -(2+h*delta/k); +A[i][indexof(13,1)] = 1; +A[i][indexof(12,2)] = 1; +C[i] = -h*delta*Tinf/k; +++i; + +real[] T = solve(A,C); + +pen[] Palette = Gradient(256,blue,cyan,yellow,orange,red); + +real[][] T = {T[0:13],T[13:26],T[0:13]}; +T = transpose(T); + +size3(15cm); +real w = 10; +real h = 5; +currentprojection = orthographic(2*(L,h,w),Y); +draw((L,t,0)--(L,0,0)--(L,0,w)--(0,0,w)--(0,-h,w)); +draw((0,t,w)--(0,t+h,w)--(0,t+h,0)--(0,t,0)); +draw((L,0,w)--(L,t,w)--(0,t,w)--(0,t,0)--(L,t,0)--(L,t,w)); + +real wo2 = 0.5*w; +draw((0,0,wo2)--(0,t,wo2)--(L,t,wo2)--(L,0,wo2)--cycle); + +// centre points +surface square = surface(shift(-0.5,-0.5,wo2)*unitsquare3); +surface bottomsquare = surface(shift(-0.5,-0.5,wo2)*scale(1,0.5,1)*unitsquare3); +surface topsquare = surface(shift(-0.5,0,wo2)*scale(1,0.5,1)*unitsquare3); +surface leftsquare = surface(shift(-0.5,-0.5,wo2)*scale(0.5,1,1)*unitsquare3); +surface rightsquare = surface(shift(0,-0.5,wo2)*scale(0.5,1,1)*unitsquare3); +surface NEcorner = surface(shift(0,0,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface SEcorner = surface(shift(0,-0.5,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface SWcorner = surface(shift(-0.5,-0.5,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface NWcorner = surface(shift(-0.5,0,wo2)*scale(0.5,0.5,1)*unitsquare3); + +material lookupColour(int m,int n) +{ + int index = round(Palette.length*(T[m-1][n-1]-60)/(100-60)); + if(index >= Palette.length) index = Palette.length-1; + return emissive(Palette[index]); +} + +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(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(12,2,0)*SWcorner,lookupColour(13,3)); +draw(shift(12,0,0)*NWcorner,lookupColour(13,1)); + +// annotations +draw("$x$",(0,-h/2,w)--(L/4,-h/2,w),Y,Arrow3(HookHead2(normal=Z)),BeginBar3(Y)); +draw("$y$",(0,0,1.05*w)--(0,2t,1.05*w),Z,Arrow3(HookHead2(normal=X)), + BeginBar3(Z)); +draw("$z$",(L,-h/2,0)--(L,-h/2,w/4),Y,Arrow3(HookHead2(normal=X)),BeginBar3(Y)); + +draw("$L$",(0,-h/4,w)--(L,-h/4,w),-Y,Arrows3(HookHead2(normal=Z)), + Bars3(Y),PenMargins2); +draw("$w$",(L,-h/4,0)--(L,-h/4,w),-Y,Arrows3(HookHead2(normal=X)), + Bars3(Y),PenMargins2); +draw("$t$",(1.05*L,0,0)--(1.05*L,t,0),-2Z,Arrows3(HookHead2(normal=Z)), + Bars3(X),PenMargins2); + +label(ZY()*"$T_b$",(0,t+h/2,wo2)); + +label("$h$,$T_\infty$",(L/2,t+h/2,0),Y); +path3 air = (L/2,t+h/3,w/3.5)--(1.5*L/2,t+2*h/3,w/8); +draw(air,EndArrow3(TeXHead2)); +draw(shift(0.5,0,0)*air,EndArrow3(TeXHead2)); +draw(shift(1.0,0,0)*air,EndArrow3(TeXHead2)); diff --git a/Master/texmf/doc/asymptote/examples/fjortoft.asy b/Master/texmf/doc/asymptote/examples/fjortoft.asy new file mode 100644 index 00000000000..0ef81ca2c09 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fjortoft.asy @@ -0,0 +1,27 @@ +size(15cm,0); + +pair d=(1.5,1); +real s=d.x+1; + +picture box(string s) { + picture pic; + draw(pic,box(0,d)); + label(pic,s,d/2); + return pic; +} + +add(box("$k_1$")); +add(shift(s)*box("$k_2$")); +add(shift(s)^2*box("$k_3$")); + +path g=(d.x,d.y/2)--(s,d.y/2); +path G=(d.x/2,-(s-d.x))--(d.x/2,0); + +draw(Label(baseline("$\ldots$")),shift(-s)*g,BeginArrow,BeginPenMargin); +draw(Label("$Z_1$"),g,BeginArrow,BeginPenMargin); +draw(Label("$E_1$",LeftSide),g,Blank); +draw(Label("$Z_3$"),shift(s)*g,Arrow,PenMargin); +draw(Label("$E_3$",LeftSide),shift(s)*g,Blank); +draw(Label("$Z_2$"),shift(s)*G,Arrow,PenMargin); +draw(Label("$E_2$",LeftSide),shift(s)*G,Blank); +draw(Label(baseline("$\ldots$")),shift(s)^2*g,Arrow,PenMargin); diff --git a/Master/texmf/doc/asymptote/examples/floatingdisk.asy b/Master/texmf/doc/asymptote/examples/floatingdisk.asy new file mode 100644 index 00000000000..2e99ec9c2c1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/floatingdisk.asy @@ -0,0 +1,24 @@ +import trembling; +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); + +path waterline=tremble(addnodes(pA..pB,1),angle=10,frequency=0.1,random=50); +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,Fill(white))); diff --git a/Master/texmf/doc/asymptote/examples/floor.asy b/Master/texmf/doc/asymptote/examples/floor.asy new file mode 100644 index 00000000000..02c2446abe8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/floor.asy @@ -0,0 +1,28 @@ +import graph; +unitsize(1cm); + +real Floor(real x) {return floor(x);} + +pair[] Close; +pair[] Open; + +bool3 branch(real x) { + static real lasty; + static bool first=true; + real y=floor(x); + bool samebranch=first || lasty == y; + first=false; + if(samebranch) lasty=x; + else { + Close.push((x,lasty)); + Open.push((x,y)); + } + lasty=y; + return samebranch ? true : default; +}; + +draw(graph(Floor,-5.5,5.5,500,branch)); +axes("$x$",rotate(0)*"$\lfloor x\rfloor$",red); + +dot(Close); +dot(Open,UnFill); diff --git a/Master/texmf/doc/asymptote/examples/flow.asy b/Master/texmf/doc/asymptote/examples/flow.asy new file mode 100644 index 00000000000..aba6c5aa055 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/flow.asy @@ -0,0 +1,31 @@ +import graph; +defaultpen(1.0); + +size(0,150,IgnoreAspect); + +real arrowsize=4mm; +real arrowlength=2arrowsize; + +typedef path vector(real); + +// Return a vector interpolated linearly between a and b. +vector vector(pair a, pair b) { + return new path(real x) { + return (0,0)--arrowlength*interp(a,b,x); + }; +} + +real f(real x) {return 1/x;} + +real epsilon=0.5; +path g=graph(f,epsilon,1/epsilon); + +int n=3; +draw(g); +xaxis("$x$"); +yaxis("$y$"); + +add(vectorfield(vector(W,W),g,n,true)); +add(vectorfield(vector(NE,NW),(0,0)--(point(E).x,0),n,true)); +add(vectorfield(vector(NE,NE),(0,0)--(0,point(N).y),n,true)); + diff --git a/Master/texmf/doc/asymptote/examples/flowchartdemo.asy b/Master/texmf/doc/asymptote/examples/flowchartdemo.asy new file mode 100644 index 00000000000..def70d0dd0f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/flowchartdemo.asy @@ -0,0 +1,30 @@ +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); +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)); +block block5=circle("End",(0,0)); + +draw(block1); +draw(block2); +draw(block3); +draw(block4); +draw(block5); + +add(new void(picture pic, transform t) { + draw(pic,path(new pair[]{block1.right(t),block2.top(t)},Horizontal), + Arrow,PenMargin); + draw(pic,Label("Yes",0.5,NW),path(new pair[]{block2.left(t),block3.top(t)}, + Horizontal),Arrow,PenMargin); + draw(pic,Label("No",0.5,NE),path(new pair[]{block2.right(t),block4.top(t)}, + Horizontal),Arrow,PenMargin); + draw(pic,path(new pair[]{block3.bottom(t),block5.left(t)},Vertical), + Arrow,PenMargin); + draw(pic,path(new pair[]{block4.bottom(t),block5.right(t)},Vertical), + Arrow,PenMargin); + }); diff --git a/Master/texmf/doc/asymptote/examples/fractaltree.asy b/Master/texmf/doc/asymptote/examples/fractaltree.asy new file mode 100644 index 00000000000..c9775ec69d7 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/fractaltree.asy @@ -0,0 +1,27 @@ +size(200); + +path ltrans(path p,int d) +{ + path a=rotate(65)*scale(0.4)*p; + return shift(point(p,(1/d)*length(p))-point(a,0))*a; +} +path rtrans(path p, int d) +{ + path a=reflect(point(p,0),point(p,length(p)))*rotate(65)*scale(0.35)*p; + return shift(point(p,(1/d)*length(p))-point(a,0))*a; +} + +void drawtree(int depth, path branch) +{ + if(depth == 0) return; + real breakp=(1/depth)*length(branch); + draw(subpath(branch,0,breakp),deepgreen); + drawtree(depth-1,subpath(branch,breakp,length(branch))); + drawtree(depth-1,ltrans(branch,depth)); + drawtree(depth-1,rtrans(branch,depth)); + return; +} + +path start=(0,0)..controls (-1/10,1/3) and (-1/20,2/3)..(1/20,1); +drawtree(6,start); + diff --git a/Master/texmf/doc/asymptote/examples/functionshading.asy b/Master/texmf/doc/asymptote/examples/functionshading.asy new file mode 100644 index 00000000000..7cdeb6f4bf4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/functionshading.asy @@ -0,0 +1,31 @@ +size(200); + +settings.tex="pdflatex"; + +// PostScript Calculator routine to convert from [0,1]x[0,1] to RG: +string redgreen="0"; + +// PostScript Calculator routine to convert from [0,1]x[0,1] to HS to RGB: +// (http://www.texample.net/tikz/examples/hsv-shading): +string hsv="0.5 sub exch 0.5 sub exch +2 copy 2 copy 0 eq exch 0 eq and { pop pop 0.0 } {atan 360.0 div} +ifelse dup 360 eq { pop 0.0 }{} ifelse 3 1 roll dup mul exch dup mul add +sqrt 2.5 mul 0.25 sub 1 1 index 1.0 +eq { 3 1 roll pop pop dup dup } { 3 -1 roll 6.0 mul dup 4 1 roll floor dup +5 1 roll 3 index sub neg 1.0 3 index sub 2 index mul 6 1 roll dup 3 index +mul neg 1.0 add 2 index mul 7 1 roll neg 1.0 add 2 index mul neg 1.0 add 1 +index mul 7 2 roll pop pop dup 0 eq { pop exch pop } { dup 1 eq { pop exch +4 1 roll exch pop } { dup 2 eq { pop 4 1 roll pop } { dup 3 eq { pop exch 4 +2 roll pop } { dup 4 eq { pop exch pop 3 -1 roll } { pop 3 1 roll exch pop +} ifelse } ifelse } ifelse } ifelse } ifelse } ifelse cvr 3 1 roll cvr 3 1 +roll cvr 3 1 roll"; + +path p=unitcircle; +functionshade(p,rgb(zerowinding),redgreen); +layer(); +draw(p); + +path g=shift(2*dir(-45))*p; +functionshade(g,rgb(zerowinding),hsv); +layer(); +draw(g); diff --git a/Master/texmf/doc/asymptote/examples/galleon.asy b/Master/texmf/doc/asymptote/examples/galleon.asy new file mode 100644 index 00000000000..6cd0f4545df --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/galleon.asy @@ -0,0 +1,14 @@ +import obj; + +size(15cm); +currentprojection=orthographic(0,2,5,up=Y); + +// A compressed version of the required data file may be obtained from: +// http://www.cs.technion.ac.il/~irit/data/Viewpoint/galleon.obj.gz + +pen[] surfacepen={darkred,brown,darkred+orange,heavyred,heavyred,darkred+orange, + palegreen+blue+lightgrey,darkred,darkred,yellow,darkred,white, + white,white,white,white,white}; +surfacepen.cyclic(true); + +draw(obj("galleon.obj",verbose=false,surfacepen)); diff --git a/Master/texmf/doc/asymptote/examples/gamma.asy b/Master/texmf/doc/asymptote/examples/gamma.asy new file mode 100644 index 00000000000..f92dd775abb --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/gamma.asy @@ -0,0 +1,24 @@ +import graph; +size(300,IgnoreAspect); + +bool3 branch(real x) +{ + static int lastsign=0; + if(x <= 0 && x == floor(x)) return false; + int sign=sgn(gamma(x)); + bool b=lastsign == 0 || sign == lastsign; + lastsign=sign; + return b ? true : default; +} + +draw(graph(gamma,-4,4,n=2000,branch),red); + +scale(false); +xlimits(-4,4); +ylimits(-6,6); +crop(); + +xaxis("$x$",RightTicks(NoZero)); +yaxis(LeftTicks(NoZero)); + +label("$\Gamma(x)$",(1,2),red); diff --git a/Master/texmf/doc/asymptote/examples/gamma3.asy b/Master/texmf/doc/asymptote/examples/gamma3.asy new file mode 100644 index 00000000000..1e400152a93 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/gamma3.asy @@ -0,0 +1,29 @@ +import graph3; +import palette; + +size(12cm,IgnoreAspect); +currentprojection=orthographic(1,-2,1); + +real X=4.5; +real M=abs(gamma((X,0))); + +pair Gamma(pair z) +{ + return (z.x > 0 || z != floor(z.x)) ? gamma(z) : M; +} + +real f(pair z) {return min(abs(Gamma(z)),M);} + +surface s=surface(f,(-2.1,-2),(X,2),70,Spline); + +real Arg(triple v) +{ + return degrees(Gamma((v.x,v.y)),warn=false); +} + +s.colors(palette(s.map(Arg),Wheel())); +draw(s); + +xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); +yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); +zaxis3("$|\Gamma(z)|$",Bounds,InTicks); diff --git a/Master/texmf/doc/asymptote/examples/generalaxis.asy b/Master/texmf/doc/asymptote/examples/generalaxis.asy new file mode 100644 index 00000000000..dfe1000838e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/generalaxis.asy @@ -0,0 +1,11 @@ +import graph; +size(0,100); + +path g=ellipse((0,0),1,2); + +scale(true); + +axis(Label("C",align=10W),g,LeftTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path h=(0,0)--max(abs(max(g)),abs(min(g)))*dir(v); + return intersect(g,h)[0];})); diff --git a/Master/texmf/doc/asymptote/examples/generalaxis3.asy b/Master/texmf/doc/asymptote/examples/generalaxis3.asy new file mode 100644 index 00000000000..68a01c8ce28 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/generalaxis3.asy @@ -0,0 +1,13 @@ +import graph3; + +size(0,100); + +path3 g=yscale3(2)*unitcircle3; +currentprojection=perspective(10,10,10); + +axis(Label("C",position=0,align=15X),g,InTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path3 h=O--max(abs(max(g)),abs(min(g)))*dir(90,v); + return intersect(g,h)[0];}, + new triple(real t) {return cross(dir(g,t),Z);})); + diff --git a/Master/texmf/doc/asymptote/examples/graphmarkers.asy b/Master/texmf/doc/asymptote/examples/graphmarkers.asy new file mode 100644 index 00000000000..f40f00d9ff6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/graphmarkers.asy @@ -0,0 +1,37 @@ +import graph; + +size(200,100,IgnoreAspect); + +markroutine marks() { + return new void(picture pic=currentpicture, frame f, path g) { + path p=scale(1mm)*unitcircle; + for(int i=0; i <= length(g); ++i) { + pair z=point(g,i); + frame f; + if(i % 4 == 0) { + fill(f,p); + add(pic,f,z); + } else { + if(z.y > 50) { + pic.add(new void(frame F, transform t) { + path q=shift(t*z)*p; + unfill(F,q); + draw(F,q); + }); + } else { + draw(f,p); + add(pic,f,z); + } + } + } + }; +} + +pair[] f={(5,5),(40,20),(55,51),(90,30)}; + +draw(graph(f),marker(marks())); + +scale(true); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); diff --git a/Master/texmf/doc/asymptote/examples/grid.asy b/Master/texmf/doc/asymptote/examples/grid.asy new file mode 100644 index 00000000000..a607ac78e28 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/grid.asy @@ -0,0 +1,7 @@ +import math; +size(100,0); + +add(shift(-5,-5)*grid(10,10)); + +dot((0,0),red); + diff --git a/Master/texmf/doc/asymptote/examples/grid3xyz.asy b/Master/texmf/doc/asymptote/examples/grid3xyz.asy new file mode 100644 index 00000000000..888b9202eee --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/grid3xyz.asy @@ -0,0 +1,17 @@ +import grid3; + +size(8cm,0,IgnoreAspect); +currentprojection=orthographic(0.5,1,0.5); + +scale(Linear, Linear, Log); + +limits((-2,-2,1),(0,2,100)); + +grid3(XYZgrid); + +xaxis3(Label("$x$",position=EndPoint,align=S),Bounds(Min,Min), + OutTicks()); +yaxis3(Label("$y$",position=EndPoint,align=S),Bounds(Min,Min),OutTicks()); +zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min), + OutTicks(beginlabel=false)); + diff --git a/Master/texmf/doc/asymptote/examples/hatch.asy b/Master/texmf/doc/asymptote/examples/hatch.asy new file mode 100644 index 00000000000..126b5bec13a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/hatch.asy @@ -0,0 +1,11 @@ +size(0,100); +import patterns; + +add("hatch",hatch()); +add("hatchback",hatch(NW)); +add("crosshatch",crosshatch(3mm)); + +real s=1.25; +filldraw(unitsquare,pattern("hatch")); +filldraw(shift(s,0)*unitsquare,pattern("hatchback")); +filldraw(shift(2s,0)*unitsquare,pattern("crosshatch")); diff --git a/Master/texmf/doc/asymptote/examples/helix.asy b/Master/texmf/doc/asymptote/examples/helix.asy new file mode 100644 index 00000000000..768add3481a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/helix.asy @@ -0,0 +1,20 @@ +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,2.7,operator ..); + +draw(p,Arrow3); + +scale(true); + +xaxis3(XZ()*"$x$",Bounds(),red,InTicks(Label,2,2)); +yaxis3(YZ()*"$y$",Bounds(),red,InTicks(beginlabel=false,Label,2,2)); +zaxis3(XZ()*"$z$",Bounds(),red,InTicks); diff --git a/Master/texmf/doc/asymptote/examples/hierarchy.asy b/Master/texmf/doc/asymptote/examples/hierarchy.asy new file mode 100644 index 00000000000..fdb833e652a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/hierarchy.asy @@ -0,0 +1,9 @@ +texpreamble("\def\Ham{\mathop {\rm Ham}\nolimits}"); +pair align=2N; +frame f; +ellipse(f,Label("$\Ham(r,2)$",(0,0)),lightblue,Fill,above=false); +ellipse(f,Label("BCH Codes",point(f,N),align),green,Fill,above=false); +ellipse(f,Label("Cyclic Codes",point(f,N),align),lightmagenta,Fill,above=false); +ellipse(f,Label("Linear Codes",point(f,N),align),-4mm,orange,Fill,above=false); +box(f,Label("General Codes",point(f,N),align),2mm,yellow,Fill,above=false); +add(f); diff --git a/Master/texmf/doc/asymptote/examples/histogram.asy b/Master/texmf/doc/asymptote/examples/histogram.asy new file mode 100644 index 00000000000..ec00d6638d1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/histogram.asy @@ -0,0 +1,19 @@ +import graph; +import stats; + +size(400,200,IgnoreAspect); + +int n=10000; +real[] a=new real[n]; +for(int i=0; i < n; ++i) a[i]=Gaussrand(); + +draw(graph(Gaussian,min(a),max(a)),blue); + +// Optionally calculate "optimal" number of bins a la Shimazaki and Shinomoto. +int N=bins(a); + +histogram(a,min(a),max(a),N,normalize=true,low=0,lightred,black,bars=false); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$dP/dx$",LeftRight,RightTicks(trailingzero)); + diff --git a/Master/texmf/doc/asymptote/examples/hyperboloid.asy b/Master/texmf/doc/asymptote/examples/hyperboloid.asy new file mode 100644 index 00000000000..10d3609f5d0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/hyperboloid.asy @@ -0,0 +1,8 @@ +size(200); +import solids; + +currentprojection=perspective(4,4,3); +revolution hyperboloid=revolution(new real(real x) {return sqrt(1+x*x);}, + -2,2,20,operator..,X); +draw(surface(hyperboloid),green); +draw(hyperboloid,6,blue,longitudinalpen=nullpen); diff --git a/Master/texmf/doc/asymptote/examples/hyperboloidsilhouette.asy b/Master/texmf/doc/asymptote/examples/hyperboloidsilhouette.asy new file mode 100644 index 00000000000..1187208a670 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/hyperboloidsilhouette.asy @@ -0,0 +1,9 @@ +size(200); +import solids; +settings.render=0; +settings.prc=false; + +currentprojection=perspective(4,4,3); +revolution hyperboloid=revolution(new real(real x) {return sqrt(1+x*x);}, + -2,2,20,operator..,X); +draw(hyperboloid.silhouette(64),blue); diff --git a/Master/texmf/doc/asymptote/examples/icon.asy b/Master/texmf/doc/asymptote/examples/icon.asy new file mode 100644 index 00000000000..1701fe0f32e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/icon.asy @@ -0,0 +1,22 @@ +import graph; + +size(30,30,IgnoreAspect); + +real f(real t) {return t < 0 ? -1/t : -0.5/t;} + +picture logo(pair s=0, pen q) +{ + picture pic; + pen p=linewidth(3)+q; + real a=-0.5; + real b=1; + real eps=0.1; + draw(pic,shift((eps,-f(a)))*graph(f,a,-eps),p); + real c=0.5*a; + pair z=(0,f(c)-f(a)); + draw(pic,z+c+eps--z,p); + yaxis(pic,p); + return shift(s)*pic; +} + +add(logo(red)); diff --git a/Master/texmf/doc/asymptote/examples/image.asy b/Master/texmf/doc/asymptote/examples/image.asy new file mode 100644 index 00000000000..3270c06e31e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/image.asy @@ -0,0 +1,22 @@ +size(12cm,12cm); + +import graph; +import palette; + +int n=256; +real ninv=2pi/n; +real[][] v=new real[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=sin(i*ninv)*cos(j*ninv); + +pen[] Palette=BWRainbow(); + +picture bar; + +bounds range=image(v,(0,0),(1,1),Palette); +palette(bar,"$A$",range,(0,0),(0.5cm,8cm),Right,Palette, + PaletteTicks("$%+#.1f$")); +add(bar.fit(),point(E),30E); + diff --git a/Master/texmf/doc/asymptote/examples/imagecontour.asy b/Master/texmf/doc/asymptote/examples/imagecontour.asy new file mode 100644 index 00000000000..25fdb3f6ed4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/imagecontour.asy @@ -0,0 +1,40 @@ +import graph; +import palette; +import contour; + +size(10cm,10cm,IgnoreAspect); + +pair a=(0,0); +pair b=(2pi,2pi); + +real f(real x, real y) {return cos(x)*sin(y);} + +int N=200; +int Divs=10; +int divs=2; + +defaultpen(1bp); +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=BWRainbow(); + +scale(false); + +bounds range=image(f,Automatic,a,b,N,Palette); + +// Major contours + +real[] Cvals=uniform(range.min,range.max,Divs); +draw(contour(f,a,b,Cvals,N,operator --),Tickpen); + +// Minor contours +real[] cvals; +for(int i=0; i < Cvals.length-1; ++i) + cvals.append(uniform(Cvals[i],Cvals[i+1],divs)[1:divs]); +draw(contour(f,a,b,cvals,N,operator --),tickpen); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,1),Top,Palette, + PaletteTicks(N=Divs,n=divs,Tickpen,tickpen)); diff --git a/Master/texmf/doc/asymptote/examples/imagehistogram.asy b/Master/texmf/doc/asymptote/examples/imagehistogram.asy new file mode 100644 index 00000000000..d3bdc783757 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/imagehistogram.asy @@ -0,0 +1,47 @@ +import stats; +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; + +int[][] bins=frequency(data,datamin,datamax,Nx,Ny); + +real[] values=new real[Nx*Ny]; +pair[] points=new pair[Nx*Ny]; +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; + } +} + +// 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()); +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); + diff --git a/Master/texmf/doc/asymptote/examples/impact.asy b/Master/texmf/doc/asymptote/examples/impact.asy new file mode 100644 index 00000000000..b58d381f26a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/impact.asy @@ -0,0 +1,28 @@ +// Contributed by Philippe Ivaldi. + +import graph3 ; +import contour; +size (6cm,0); +currentprojection=orthographic(1,1,1) ; + +real rc=1, hc=2, c=rc/hc; +draw(shift(hc*Z)*scale(rc,rc,-hc)*unitcone,blue); + +triple Os=(0.5,0.5,1); +real r=0.5; +draw(shift(Os)*scale3(r)*unitsphere,red); + +real a=1+1/c^2; +real b=abs(Os)^2-r^2; + +real f(pair z) +{ + real x=z.x, y=z.y; + return a*x^2-2*Os.x*x+a*y^2-2*Os.y*y-2*Os.z*sqrt(x^2+y^2)/c+b; +} + +real g(pair z){return (sqrt(z.x^2+z.y^2))/c;} + +draw(lift(g,contour(f,(-rc,-rc),(rc,rc),new real[]{0})),linewidth(2bp)+yellow); + +axes3("$x$","$y$","$z$",Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/integraltest.asy b/Master/texmf/doc/asymptote/examples/integraltest.asy new file mode 100644 index 00000000000..c45b1eb8f17 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/integraltest.asy @@ -0,0 +1,38 @@ +import graph; +size(300,150,IgnoreAspect); + +real f(real x) {return 1/x^(1.1);} +pair F(real x) {return (x,f(x));} + +dotfactor=7; + +void subinterval(real a, real b) +{ + path g=box((a,0),(b,f(b))); + filldraw(g,lightgray); + draw(box((a,f(a)),(b,0))); +} + +int a=1, b=9; + +xaxis("$x$",0,b); +yaxis("$y$",0); + +draw(graph(f,a,b,operator ..),red); + +int n=2; + +for(int i=a; i <= b; ++i) { + if(i < b) subinterval(i,i+1); + if(i <= n) labelx(i); + dot(F(i)); +} + +int i=n; +labelx("$\ldots$",++i); +labelx("$k$",++i); +labelx("$k+1$",++i); +labelx("$\ldots$",++i); + +arrow("$f(x)$",F(i-1.5),NE,1.5cm,red,Margin(0,0.5)); + diff --git a/Master/texmf/doc/asymptote/examples/interpolate1.asy b/Master/texmf/doc/asymptote/examples/interpolate1.asy new file mode 100644 index 00000000000..9f8367a52a4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/interpolate1.asy @@ -0,0 +1,213 @@ +// Lagrange and Hermite interpolation in Asymptote +// Author: Olivier Guibé + +import interpolate; +import graph; + +// Test 1: The Runge effect in the Lagrange interpolation of 1/(x^2+1). + +unitsize(2cm); +xlimits(-5,5); +ylimits(-1,1,Crop); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=15; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); +shipout("runge1"); + +erase(); + +// Test 2: The Runge effect in the Hermite interpolation of 1/(x^2+1). + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=hdiffdiv(x,y,dy); +fhorner ph=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}H_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +unitsize(2cm); +xlimits(-5,5); +ylimits(-1,5,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge2"); + +erase(); + +// Test 3: The Runge effect does not occur for all functions: +// Lagrange interpolation of a function whose successive derivatives +// are bounded by a constant M (here M=1) is shown here to converge. + +real f(real x) {return(sin(x));} +real df(real x) {return(cos(x));} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\cos(x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); +shipout("runge3"); + +erase(); + +// Test 4: However, one notes here that numerical artifacts may arise +// from limit precision (typically 1e-16). + +real f(real x) {return(sin(x));} +real df(real x) {return(cos(x));} + +real a=-5, b=5; +int n=72; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\cos(x)$"); +ylimits(-1,5,Crop); +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge4"); + +erase(); + +// Test 5: The situation is much better using Tchebychev points. + +unitsize(2cm); +xlimits(-5,5); +ylimits(-1,2,Crop); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +fhorner p,ph,ph1; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge5"); + +erase(); + +// Test 6: Adding a few more Tchebychev points yields a very good result. + +unitsize(2cm); +xlimits(-5,5); +ylimits(-1,2,Crop); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=26; +real[] x,y,dy; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + + +shipout("runge6"); + +erase(); + +// Test 7: Another Tchebychev example. + +unitsize(2cm); +xlimits(-2,2); +ylimits(-0.5,2,Crop); + +real f(real x) {return(sqrt(abs(x-1)));} + +real a=-2, b=2; +int n=30; +real[] x,y,dy; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\sqrt{|x-1|}$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge7"); diff --git a/Master/texmf/doc/asymptote/examples/intro.asy b/Master/texmf/doc/asymptote/examples/intro.asy new file mode 100644 index 00000000000..f19f51b286d --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/intro.asy @@ -0,0 +1,909 @@ +// Introduction to Asymptote + +orientation=Landscape; + +settings.tex="pdflatex"; + +import slide; +import three; +import animate; + +usersetting(); + +viewportsize=pagewidth-2pagemargin; + +// To generate bibliographic references: +// asy -k goysr +// bibtex goysr_ +bibliographystyle("alpha"); + +itempen=fontsize(22pt); + +titlepage("Asymptote: The Vector Graphics Language", + "Andy Hammerlindl and John Bowman", + "University of Toronto and University of Alberta","August 16, 2007", + "http://asymptote.sf.net"); + +title("History"); +item("\TeX\ and METAFONT (Knuth, 1979)"); +item("MetaPost (Hobby, 1989): 2D Bezier Control Point Selection"); +item("Asymptote (Hammerlindl, Bowman, Prince, 2004): 2D \& 3D Graphics"); + +title("Statistics (as of April, 2007)"); +item("Runs on Windows, Mac OS X, Linux, etc."); +item("1800 downloads a month from {\tt asymptote.sourceforge.net}."); +item("33\ 000 lines of C++ code."); +item("18\ 000 lines of Asymptote code."); + +title("Vector Graphics"); +item("Raster graphics assign colors to a grid of pixels."); +figure("pixel.pdf"); +item("Vector graphics are graphics which still maintain their look when + inspected at arbitrarily small scales."); +asyfigure(asywrite(" +picture pic; + +path zoombox(real h) { + return box((-h,-h/2),(min(10,h),min(10,h)/2)); +} + +frame zoom(real h, real next=0) { + frame f; + draw(f, (0,-100){W}..{E}(0,0), Arrow); + clip(f, zoombox(h)); + if(next > 0) + draw(f, zoombox(next)); + + return scale(100/h)*f; +} + +add(zoom(100), (0,0)); +add(zoom(10), (200,0)); +add(zoom(1), (400,0)); +")); + +title("Cartesian Coordinates"); +asyfilecode("diagonal"); +item("units are {\tt PostScript} {\it big points\/} (1 {\tt bp} = +1/72 {\tt inch})"); +item("{\tt --} means join the points with a linear segment to create +a {\it path}"); + +item("cyclic path:"); + +asyfilecode("square"); + + +title("Scaling to a Given Size"); + +item("{\tt PostScript} units are often inconvenient."); + +item("Instead, scale user coordinates to a specified final size:"); + +code(" +size(101,101); +draw((0,0)--(1,0)--(1,1)--(0,1)--cycle); +"); +asyfigure("square"); + +item("One can also specify the size in {\tt cm}:"); + +asyfilecode("bigsquare"); + + +title("Labels"); + +item("Adding and aligning \LaTeX\ labels is easy:"); + +asyfilecode("labelsquare","height=6cm"); + + +title("2D Bezier Splines"); + +item("Using {\tt ..} instead of {\tt --} specifies a {\it Bezier cubic +spline}:"); + +code(" +draw(z0 .. controls c0 and c1 .. z1,blue); +"); +asyfigure("beziercurve","height=7cm"); + +equation("(1-t)^3 z_0+3t(1-t)^2 c_0+3t^2(1-t) c_1+t^3 z_1, \qquad t\in [0,1]."); + +title("Smooth Paths"); + +item("Asymptote can choose control points for you, using the algorithms of +Hobby and Knuth \cite{Hobby86,Knuth86b}:"); + +string bean=" +pair[] z={(0,0), (0,1), (2,1), (2,0), (1,0)}; +"; + +asycode(preamble="size(130,0);",bean+" +draw(z[0]..z[1]..z[2]..z[3]..z[4]..cycle, + grey+linewidth(5)); +dot(z,linewidth(7)); +"); + +item("First, linear equations involving the curvature are solved to find the + direction through each knot. Then, control points along those directions + are chosen:"); + +asyfigure(asywrite(preamble="size(130,0);",bean+" +path p=z[0]..z[1]..z[2]..z[3]..z[4]..cycle; + +dot(z); +draw(p,lightgrey+linewidth(5)); +dot(z); + +picture output; +save(); +for (int i=0; i0$ and a shift $b$ so that all of the + coordinates when transformed will lie in the interval $[0,S]$. That is, if + $u$ and $t$ are the user and truesize components:"); +equation("0\le au+t+b \le S."); + +item("We are maximizing the variable $a$ subject to a number of inequalities. + This is a linear programming problem that can be solved by the simplex + method."); + +title("Sizing"); +item("Every addition of a coordinate $(t,u)$ adds two restrictions"); +equation("au+t+b\ge 0,"); +equation("au+t+b\le S,"); +remark("and each drawing component adds two coordinates."); +item("A figure could easily produce thousands of restrictions, making the + simplex method impractical."); + +item("Most of these restrictions are redundant, however. For instance, with + concentric circles, only the largest circle needs to be accounted for."); +asyfigure(asywrite(" +import palette; +size(160,0); +pen[] p=Rainbow(NColors=11); +for (int i=1; i<10; ++i) { + draw(scale(i)*unitcircle, p[i]+linewidth(2)); +} +")); + +title("Redundant Restrictions"); +item("In general, if $u\le u'$ and $t\le t'$ then"); +equation("au+t+b\le au'+t'+b"); +remark("for all choices of $a>0$ and $b$, so"); +equation("0\le au+t+b\le au'+t'+b\le S."); +item("This defines a partial ordering on coordinates. When sizing a picture, + the program first computes which coordinates are maximal (or minimal) and + only sends effective constraints to the simplex algorithm."); +item("In practice, the linear programming problem will have less than a dozen + restraints."); +item("All picture sizing is implemented in Asymptote code."); + +title("Infinite Lines"); +item("Deferred drawing allows us to draw infinite lines."); +code("drawline(P, Q);"); + +asyfigure("elliptic","height=12cm"); + +title("A Final Example: Quilting"); +asyfigure(asywrite(" +import math; + +int n=8, skip=3; + +pair r(int k) { return unityroot(n,k); } + +pen col=blue, col2=purple; + +guide square=box((1,1),(-1,-1)); + +guide step(int mult) +{ + guide g; + for (int k=0; k 0 ? t : null; +rho=rho > 0 ? rho : null; + +scale(Log(true),Linear(true)); + +int n=step > 0 ? ceil((last-first)/step) : 0; + +real[] T,xi,dxi; + +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); + +crop(); + +ylimits(0); + +xaxis("$T$",BottomTop,LeftTicks); +yaxis("$\xi$",LeftRight,RightTicks); diff --git a/Master/texmf/doc/asymptote/examples/leastsquares.dat b/Master/texmf/doc/asymptote/examples/leastsquares.dat new file mode 100644 index 00000000000..a4d63d6e100 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/leastsquares.dat @@ -0,0 +1,882 @@ +1 3825 +2 4057 +3 4217 +4 4278 +5 4353 +6 4483 +7 4410 +8 4462 +9 4626 +10 4511 +11 4531 +12 4450 +13 4354 +14 4402 +15 4489 +16 4441 +17 4366 +18 4443 +19 4442 +20 4335 +21 4292 +22 4458 +23 4444 +24 4426 +25 4310 +26 4264 +27 4263 +28 4252 +29 4330 +30 4304 +31 4242 +32 4272 +33 4284 +34 4198 +35 4242 +36 4096 +37 4142 +38 4248 +39 4186 +40 4210 +41 4125 +42 4134 +43 4098 +44 4129 +45 3960 +46 4012 +47 4079 +48 4038 +49 4024 +50 3949 +51 3996 +52 3970 +53 4031 +54 3895 +55 3806 +56 3825 +57 3850 +58 3742 +59 3678 +60 3589 +61 3648 +62 3476 +63 3490 +64 3353 +65 3270 +66 3134 +67 3018 +68 2922 +69 2801 +70 2691 +71 2528 +72 2460 +73 2254 +74 2105 +75 2009 +76 1854 +77 1677 +78 1562 +79 1501 +80 1399 +81 1244 +82 1160 +83 1080 +84 963 +85 879 +86 797 +87 745 +88 701 +89 634 +90 554 +91 532 +92 549 +93 521 +94 466 +95 460 +96 435 +97 412 +98 376 +99 367 +100 350 +101 360 +102 321 +103 302 +104 291 +105 273 +106 261 +107 255 +108 231 +109 245 +110 252 +111 236 +112 227 +113 207 +114 196 +115 199 +116 211 +117 232 +118 220 +119 214 +120 229 +121 213 +122 208 +123 196 +124 218 +125 196 +126 192 +127 178 +128 177 +129 178 +130 179 +131 170 +132 173 +133 170 +134 150 +135 144 +136 149 +137 145 +138 145 +139 139 +140 147 +141 140 +142 128 +143 133 +144 156 +145 136 +146 164 +147 152 +148 140 +149 141 +150 112 +151 108 +152 110 +153 133 +154 118 +155 113 +156 113 +157 108 +158 88 +159 109 +160 97 +161 99 +162 94 +163 97 +164 104 +165 105 +166 118 +167 108 +168 130 +169 126 +170 114 +171 112 +172 107 +173 96 +174 96 +175 102 +176 85 +177 89 +178 93 +179 96 +180 101 +181 82 +182 97 +183 96 +184 94 +185 97 +186 85 +187 79 +188 72 +189 75 +190 63 +191 65 +192 62 +193 54 +194 53 +195 49 +196 55 +197 48 +198 53 +199 46 +200 50 +201 48 +202 50 +203 51 +204 50 +205 49 +206 46 +207 47 +208 44 +209 42 +210 47 +211 45 +212 44 +213 46 +214 43 +215 40 +216 42 +217 41 +218 40 +219 43 +220 41 +221 42 +222 43 +223 40 +224 42 +225 39 +226 41 +227 42 +228 44 +229 40 +230 40 +231 35 +232 38 +233 37 +234 36 +235 34 +236 34 +237 34 +238 36 +239 36 +240 36 +241 37 +242 37 +243 37 +244 36 +245 36 +246 45 +247 43 +248 43 +249 43 +250 49 +251 58 +252 48 +253 50 +254 56 +255 51 +256 50 +257 55 +258 64 +259 55 +260 49 +261 36 +262 36 +263 40 +264 49 +265 37 +266 35 +267 35 +268 33 +269 33 +270 39 +271 35 +272 34 +273 36 +274 32 +275 37 +276 31 +277 31 +278 32 +279 30 +280 32 +281 29 +282 31 +283 30 +284 30 +285 28 +286 27 +287 26 +288 24 +289 25 +290 28 +291 30 +292 29 +293 27 +294 27 +295 27 +296 26 +297 26 +298 28 +299 27 +300 24 +301 22 +302 27 +303 26 +304 25 +305 25 +306 25 +307 26 +308 28 +309 26 +310 25 +311 24 +312 26 +313 25 +314 23 +315 25 +316 24 +317 23 +318 23 +319 24 +320 23 +321 24 +322 22 +323 24 +324 24 +325 24 +326 23 +327 25 +328 24 +329 22 +330 22 +331 23 +332 23 +333 23 +334 21 +335 19 +336 20 +337 22 +338 26 +339 25 +340 24 +341 22 +342 22 +343 23 +344 23 +345 23 +346 20 +347 21 +348 20 +349 21 +350 25 +351 22 +352 22 +353 21 +354 24 +355 24 +356 22 +357 23 +358 26 +359 24 +360 23 +361 22 +362 26 +363 30 +364 27 +365 25 +366 26 +367 26 +368 25 +369 24 +370 24 +371 22 +372 21 +373 20 +374 20 +375 19 +376 20 +377 21 +378 20 +379 20 +380 19 +381 19 +382 19 +383 19 +384 20 +385 20 +386 19 +387 20 +388 20 +389 20 +390 17 +391 18 +392 16 +393 18 +394 32 +395 31 +396 47 +397 57 +398 64 +399 34 +400 42 +401 40 +402 41 +403 35 +404 26 +405 25 +406 25 +407 36 +408 42 +409 55 +410 75 +411 94 +412 87 +413 97 +414 95 +415 101 +416 70 +417 66 +418 66 +419 73 +420 77 +421 89 +422 79 +423 63 +424 66 +425 71 +426 70 +427 49 +428 46 +429 46 +430 43 +431 49 +432 48 +433 44 +434 36 +435 33 +436 28 +437 29 +438 32 +439 31 +440 29 +441 28 +442 29 +443 31 +444 31 +445 33 +446 33 +447 39 +448 44 +449 37 +450 58 +451 64 +452 38 +453 31 +454 36 +455 33 +456 29 +457 34 +458 28 +459 27 +460 23 +461 31 +462 26 +463 21 +464 23 +465 26 +466 21 +467 21 +468 24 +469 24 +470 24 +471 24 +472 26 +473 23 +474 26 +475 20 +476 21 +477 25 +478 21 +479 22 +480 22 +481 23 +482 22 +483 23 +484 22 +485 20 +486 22 +487 20 +488 22 +489 20 +490 24 +491 20 +492 22 +493 19 +494 19 +495 20 +496 19 +497 18 +498 18 +499 17 +500 16 +501 16 +502 17 +503 17 +504 16 +505 17 +506 16 +507 16 +508 16 +509 17 +510 18 +511 17 +512 16 +513 17 +514 16 +515 16 +516 16 +517 17 +518 16 +519 16 +520 16 +521 16 +522 16 +523 16 +524 16 +525 16 +526 16 +527 17 +528 17 +529 18 +530 17 +531 16 +532 15 +533 15 +534 15 +535 15 +536 16 +537 17 +538 16 +539 18 +540 17 +541 17 +542 15 +543 15 +544 15 +545 16 +546 15 +547 15 +548 15 +549 15 +550 15 +551 14 +552 14 +553 14 +554 14 +555 14 +556 14 +557 14 +558 15 +559 14 +560 16 +561 15 +562 16 +563 17 +564 15 +565 14 +566 17 +567 18 +568 17 +569 16 +570 17 +571 14 +572 15 +573 15 +574 15 +575 14 +576 15 +577 14 +578 14 +579 13 +580 13 +581 13 +582 13 +583 13 +584 12 +585 12 +586 13 +587 12 +588 12 +589 12 +590 13 +591 15 +592 16 +593 14 +594 13 +595 14 +596 13 +597 13 +598 13 +599 13 +600 14 +601 13 +602 13 +603 13 +604 14 +605 15 +606 15 +607 15 +608 15 +609 15 +610 15 +611 15 +612 15 +613 15 +614 15 +615 15 +616 14 +617 14 +618 14 +619 14 +620 14 +621 14 +622 14 +623 15 +624 15 +625 15 +626 14 +627 15 +628 14 +629 14 +630 14 +631 14 +632 14 +633 14 +634 13 +635 13 +636 13 +637 13 +638 13 +639 13 +640 13 +641 13 +642 13 +643 13 +644 13 +645 13 +646 13 +647 13 +648 13 +649 13 +650 13 +651 13 +652 13 +653 13 +654 13 +655 13 +656 13 +657 13 +658 13 +659 13 +660 13 +661 13 +662 13 +663 13 +664 13 +665 13 +666 13 +667 13 +668 13 +669 13 +670 13 +671 13 +672 13 +673 13 +674 13 +675 13 +676 13 +677 13 +678 13 +679 12 +680 12 +681 13 +682 13 +683 13 +684 13 +685 12 +686 12 +687 13 +688 13 +689 13 +690 13 +691 13 +692 13 +693 13 +694 13 +695 13 +696 13 +697 13 +698 13 +699 13 +700 13 +701 13 +702 13 +703 13 +704 13 +705 13 +706 13 +707 13 +708 13 +709 13 +710 13 +711 13 +712 13 +713 13 +714 13 +715 13 +716 13 +717 13 +718 13 +719 13 +720 13 +721 13 +722 13 +723 13 +724 13 +725 13 +726 13 +727 13 +728 13 +729 13 +730 13 +731 13 +732 13 +733 13 +734 13 +735 13 +736 13 +737 13 +738 13 +739 13 +740 13 +741 13 +742 13 +743 13 +744 13 +745 13 +746 13 +747 13 +748 13 +749 13 +750 13 +751 13 +752 13 +753 13 +754 13 +755 12 +756 12 +757 12 +758 12 +759 11 +760 12 +761 11 +762 12 +763 11 +764 12 +765 12 +766 12 +767 12 +768 14 +769 14 +770 14 +771 14 +772 12 +773 12 +774 12 +775 13 +776 13 +777 13 +778 12 +779 13 +780 13 +781 13 +782 13 +783 13 +784 13 +785 12 +786 11 +787 11 +788 11 +789 12 +790 13 +791 13 +792 13 +793 12 +794 13 +795 13 +796 13 +797 13 +798 13 +799 12 +800 12 +801 12 +802 12 +803 12 +804 12 +805 11 +806 11 +807 11 +808 12 +809 13 +810 13 +811 12 +812 12 +813 12 +814 12 +815 12 +816 12 +817 12 +818 12 +819 12 +820 13 +821 13 +822 13 +823 13 +824 12 +825 13 +826 12 +827 13 +828 13 +829 13 +830 13 +831 12 +832 12 +833 12 +834 13 +835 13 +836 12 +837 9 +838 9 +839 10 +840 10 +841 11 +842 11 +843 11 +844 12 +845 12 +846 11 +847 12 +848 12 +849 12 +850 12 +851 12 +852 12 +853 12 +854 12 +855 12 +856 11 +857 10 +858 11 +859 12 +860 11 +861 11 +862 11 +863 10 +864 10 +865 10 +866 11 +867 10 +868 10 +869 10 +870 11 +871 11 +872 12 +873 12 +874 12 +875 12 +876 12 +877 12 +878 12 +879 12 +880 12 +881 0 +882 0 diff --git a/Master/texmf/doc/asymptote/examples/legend.asy b/Master/texmf/doc/asymptote/examples/legend.asy new file mode 100644 index 00000000000..09a31868ae4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/legend.asy @@ -0,0 +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);}; +}; + +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); diff --git a/Master/texmf/doc/asymptote/examples/lever.asy b/Master/texmf/doc/asymptote/examples/lever.asy new file mode 100644 index 00000000000..e30de87540f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lever.asy @@ -0,0 +1,23 @@ +size(200,0); + +pair z0=(0,0); +pair z1=(2,0); +pair z2=(5,0); +pair zf=z1+0.75*(z2-z1); + +draw(z1--z2); +dot(z1,red+0.15cm); +dot(z2,darkgreen+0.3cm); +label("$m$",z1,1.2N,red); +label("$M$",z2,1.5N,darkgreen); +label("$\hat{\ }$",zf,0.2*S,fontsize(24)+blue); + +pair s=-0.2*I; +draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins); + +s=-0.5*I; +draw("$\bar{x}$",z0+s--zf+s,blue,Arrows,Bars,PenMargins); + +s=-0.95*I; +draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins); + diff --git a/Master/texmf/doc/asymptote/examples/limit.asy b/Master/texmf/doc/asymptote/examples/limit.asy new file mode 100644 index 00000000000..ef71928941e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/limit.asy @@ -0,0 +1,28 @@ +size(200,200,IgnoreAspect); +import graph; + +real L=1; +real epsilon=0.25; + +real a(int n) {return L+1/n;} + +for(int i=1; i < 20; ++i) + dot((i,a(i))); + +real N=1/epsilon; + +xaxis(Label("$n$",align=2S)); +yaxis(Label("$a_n$",0.85)); + +xtick("$2$",2); +ytick("$\frac{3}{2}$",3/2); +ytick("$2$",2); + +yequals(Label("$L$",0,up),L,extend=true,blue); +yequals(Label("$L+\epsilon$",1,NW),L+epsilon,extend=true,red+dashed); +yequals(Label("$L-\epsilon$",1,SW),L-epsilon,extend=true,red+dashed); + +xequals(N,extend=true,darkgreen+dashed); +labelx(shift(0,-10)*"$N=\frac{1}{\epsilon}$",N,E,darkgreen); + +label("$a_n=1+\frac{1}{n},\quad \epsilon=\frac{1}{4}$",point((0,1)),10S+E); diff --git a/Master/texmf/doc/asymptote/examples/lineargraph.asy b/Master/texmf/doc/asymptote/examples/lineargraph.asy new file mode 100644 index 00000000000..c352311ee72 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lineargraph.asy @@ -0,0 +1,16 @@ +import graph; + +size(250,200,IgnoreAspect); + +real Sin(real t) {return sin(2pi*t);} +real Cos(real t) {return cos(2pi*t);} + +draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); +draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + +label("LABEL",point(0),UnFill(1mm)); + +attach(legend(),truepoint(E),20E,UnFill); diff --git a/Master/texmf/doc/asymptote/examples/lineargraph0.asy b/Master/texmf/doc/asymptote/examples/lineargraph0.asy new file mode 100644 index 00000000000..fc344181d51 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lineargraph0.asy @@ -0,0 +1,16 @@ +import graph; + +size(400,200,IgnoreAspect); + +real Sin(real t) {return sin(2pi*t);} +real Cos(real t) {return cos(2pi*t);} + +draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); +draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + +label("LABEL",point(0),UnFill(1mm)); + +add(legend(),point(E),20E,UnFill); diff --git a/Master/texmf/doc/asymptote/examples/lines.asy b/Master/texmf/doc/asymptote/examples/lines.asy new file mode 100644 index 00000000000..9749f73a350 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lines.asy @@ -0,0 +1,10 @@ +import math; + +int n=7; + +size(200,0); + +draw(unitcircle,red); +for (int i=0; i < n-1; ++i) + for (int j=i+1; j < n; ++j) + drawline(unityroot(n,i),unityroot(n,j),blue); diff --git a/Master/texmf/doc/asymptote/examples/linetype.asy b/Master/texmf/doc/asymptote/examples/linetype.asy new file mode 100644 index 00000000000..dc4762c2478 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/linetype.asy @@ -0,0 +1,13 @@ +void testline(real y) { + draw((0,y)--(100,y),currentpen+solid); + draw((0,y-10)--(100,y-10),currentpen+dotted); + draw((0,y-20)--(100,y-20),currentpen+dashed); + draw((0,y-30)--(100,y-30),currentpen+longdashed); + 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/doc/asymptote/examples/log.asy b/Master/texmf/doc/asymptote/examples/log.asy new file mode 100644 index 00000000000..532b7b782b6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/log.asy @@ -0,0 +1,14 @@ +import graph; + +size(150,0); + +real f(real x) {return log(x);} +pair F(real x) {return (x,f(x));} + +xaxis("$x$",0); +yaxis("$y$"); + +draw(graph(f,0.01,10,operator ..)); + +labelx(1,SSE); +label("$\log x$",F(7),SE); diff --git a/Master/texmf/doc/asymptote/examples/log2graph.asy b/Master/texmf/doc/asymptote/examples/log2graph.asy new file mode 100644 index 00000000000..238f4126274 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/log2graph.asy @@ -0,0 +1,17 @@ +import graph; +size(200,IgnoreAspect); + +// Base-2 logarithmic scale on y-axis: + +real log2(real x) {static real log2=log(2); return log(x)/log2;} +real pow2(real x) {return 2^x;} + +scaleT yscale=scaleT(log2,pow2,logarithmic=true); +scale(Linear,yscale); + +real f(real x) {return 1+x^2;} + +draw(graph(f,-4,4)); + +yaxis("$y$",ymin=1,ymax=f(5),RightTicks(Label(Fill(white))),EndArrow); +xaxis("$x$",xmin=-5,xmax=5,LeftTicks,EndArrow); diff --git a/Master/texmf/doc/asymptote/examples/logdown.asy b/Master/texmf/doc/asymptote/examples/logdown.asy new file mode 100644 index 00000000000..25d10ed978e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/logdown.asy @@ -0,0 +1,13 @@ +import graph; +size(200,IgnoreAspect); + +real log10Down(real x) {return -log10(x);} +real pow10Down(real x) {return pow10(-x);} + +scaleT LogDown=scaleT(log10Down,pow10Down,logarithmic=true); +scale(Linear,LogDown); + +draw(graph(exp,-5,5)); + +yaxis("$y$",RightTicks(Label(Fill(white)),DefaultLogFormat),BeginArrow); +xaxis("$x$",LeftTicks(NoZero),EndArrow); diff --git a/Master/texmf/doc/asymptote/examples/loggraph.asy b/Master/texmf/doc/asymptote/examples/loggraph.asy new file mode 100644 index 00000000000..9dee2ffbbff --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/loggraph.asy @@ -0,0 +1,18 @@ +import graph; + +size(200,200,IgnoreAspect); + +real f(real t) {return 1/t;} + +scale(Log,Log); + +draw(graph(f,0.1,10)); + +//xlimits(1,10); +//ylimits(0.1,1); + +dot(Label("(3,5)",align=S),Scale((3,5))); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + diff --git a/Master/texmf/doc/asymptote/examples/loggrid.asy b/Master/texmf/doc/asymptote/examples/loggrid.asy new file mode 100644 index 00000000000..bb48a1e4ca8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/loggrid.asy @@ -0,0 +1,13 @@ +import graph; +size(200,200,IgnoreAspect); + +real f(real t) {return 1/t;} + +scale(Log,Log); +draw(graph(f,0.1,10),red); +pen thin=linewidth(0.5*linewidth()); +xaxis("$x$",BottomTop,LeftTicks(begin=false,end=false,extend=true, + ptick=thin)); +yaxis("$y$",LeftRight,RightTicks(begin=false,end=false,extend=true, + ptick=thin)); + diff --git a/Master/texmf/doc/asymptote/examples/logimage.asy b/Master/texmf/doc/asymptote/examples/logimage.asy new file mode 100644 index 00000000000..65d6bb53111 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/logimage.asy @@ -0,0 +1,22 @@ +import graph; +import palette; + +size(10cm,10cm,IgnoreAspect); + +real f(real x, real y) { + return 0.9*pow10(2*sin(x/5+2*y^0.25)) + 0.1*(1+cos(10*log(y))); +} + +scale(Linear,Log,Log); + +pen[] Palette=BWRainbow(); + +bounds range=image(f,Automatic,(0,1),(100,100),nx=200,Palette); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,(0,200),(100,250),Top,Palette, + PaletteTicks(ptick=linewidth(0.5*linewidth()))); + + diff --git a/Master/texmf/doc/asymptote/examples/logo.asy b/Master/texmf/doc/asymptote/examples/logo.asy new file mode 100644 index 00000000000..3cd20a573f4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/logo.asy @@ -0,0 +1,28 @@ +size(140,80,IgnoreAspect); + +picture logo(pair s=0, pen q) +{ + picture pic; + pen p=linewidth(2)+fontsize(24)+q; + real a=-0.4; + real b=0.95; + real y1=-5; + real y2=-3y1/2; + path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); + draw(pic,A,p); + draw(pic,(0,y1){dir(88.3)}::{dir(20)}(b,0),p); + real c=0.5*a; + pair z=(0,2.5); + label(pic,"{\it symptote}",z,0.25*E+0.169S,p); + pair w=(0,1.7); + draw(pic,intersectionpoint(A,w-1--w)--w,p); + 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) + add(logo(0.1*x*z,gray(0.04*x))); + +add(logo(red)); diff --git a/Master/texmf/doc/asymptote/examples/logo3.asy b/Master/texmf/doc/asymptote/examples/logo3.asy new file mode 100644 index 00000000000..6fc73dc9470 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/logo3.asy @@ -0,0 +1,33 @@ +import three; + +size(560,320,IgnoreAspect); +size3(140,80,15); +currentprojection=perspective(-3,20,10,up=Y); +currentlight=adobe; + +path[] outline; + +real a=-0.4; +real b=0.95; +real y1=-5; +real y2=-3y1/2; +path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); +outline.push(A); +outline.push((0,y1){dir(88.3)}::{dir(20)}(b,0)); +real c=0.5*a; +pair z=(0,2.5); +path[] text = shift(0,2)*scale(0.01,0.15)* + texpath(Label("{\it symptote}",z,0.25*E+0.169S,fontsize(24))); +outline.append(text); +pair w=(0,1.7); +outline.push(intersectionpoint(A,w-1--w)--w); +outline.push((0,y1)--(0,y2)); +outline.push((a,0)--(b,0)); + +for(path p : outline) + draw(extrude(p,-0.1Z),material(lightgray,shininess=1.0)); + +draw(path3(outline),red+linewidth(0)); + +draw(surface(text),red,nolight); + diff --git a/Master/texmf/doc/asymptote/examples/logticks.asy b/Master/texmf/doc/asymptote/examples/logticks.asy new file mode 100644 index 00000000000..bdd14411692 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/logticks.asy @@ -0,0 +1,11 @@ +import graph; + +size(300,175,IgnoreAspect); +scale(Log,Log); +draw(graph(identity,5,20)); +xlimits(5,20); +ylimits(1,100); +xaxis("$M/M_\odot$",BottomTop,LeftTicks(DefaultFormat, + new real[] {6,10,12,14,16,18})); +yaxis("$\nu_{\rm upp}$ [Hz]",LeftRight,RightTicks(DefaultFormat)); + diff --git a/Master/texmf/doc/asymptote/examples/lowint.asy b/Master/texmf/doc/asymptote/examples/lowint.asy new file mode 100644 index 00000000000..e4bf1c55606 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lowint.asy @@ -0,0 +1,11 @@ +size(100,0); +import graph; +import lowupint; + +real a=-0.8, b=1.2; +real c=1.0/sqrt(3.0); + +partition(a,b,c,min); + +arrow("$f(x)$",F(0.5*(a+b)),NNE,red); +label("$\cal{L}$",(0.5*(a+b),f(0.5*(a+b))/2)); diff --git a/Master/texmf/doc/asymptote/examples/lowupint.asy b/Master/texmf/doc/asymptote/examples/lowupint.asy new file mode 100644 index 00000000000..3a14cd91104 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/lowupint.asy @@ -0,0 +1,31 @@ +import graph; + +real f(real x) {return x^3-x+2;} +pair F(real x) {return (x,f(x));} + +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); +} + +void partition(real a, real b, real c, real h(real,real)) +{ + rectangle(a,a+.4,c,h); + rectangle(a+.4,a+.6,c,h); + rectangle(a+.6,a+1.2,c,h); + rectangle(a+1.2,a+1.6,c,h); + rectangle(a+1.6,a+1.8,c,h); + rectangle(a+1.8,b,c,h); + + draw((a,0)--(F(a))); + draw((b,0)--(F(b))); + + draw(graph(f,a,b,operator ..),red); + draw((a,0)--(b,0)); + labelx("$a$",a); + labelx("$b$",b); +} diff --git a/Master/texmf/doc/asymptote/examples/magnetic.asy b/Master/texmf/doc/asymptote/examples/magnetic.asy new file mode 100644 index 00000000000..4dc187f5770 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/magnetic.asy @@ -0,0 +1,17 @@ +import graph3; +import contour3; + +size(200,0); +currentprojection=orthographic((6,8,2),up=Y); + +real a(real z) {return (z < 6) ? 1 : exp((abs(z)-6)/4);} +real b(real z) {return 1/a(z);} +real B(real z) {return 1-0.5cos(pi*z/10);} + +real f(real x, real y, real z) {return 0.5B(z)*(a(z)*x^2+b(z)*y^2)-1;} + +draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75)); + +xaxis3(Label("$x$",1),red); +yaxis3(Label("$y$",1),red); +zaxis3(Label("$z$",1),red); diff --git a/Master/texmf/doc/asymptote/examples/makepen.asy b/Master/texmf/doc/asymptote/examples/makepen.asy new file mode 100644 index 00000000000..7c7868a0901 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/makepen.asy @@ -0,0 +1,9 @@ +size(200); +pen convex=makepen(scale(10)*polygon(8))+grey; +draw((1,0.4),convex); +draw((0,0)---(1,1)..(2,0)--cycle,convex); + +pen nonconvex=scale(10)* + makepen((0,0)--(0.25,-1)--(0.5,0.25)--(1,0)--(0.5,1.25)--cycle)+red; +draw((0.5,-1.5),nonconvex); +draw((0,-1.5)..(1,-0.5)..(2,-1.5),nonconvex); diff --git a/Master/texmf/doc/asymptote/examples/markers1.asy b/Master/texmf/doc/asymptote/examples/markers1.asy new file mode 100644 index 00000000000..a3af424616d --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/markers1.asy @@ -0,0 +1,102 @@ +size(12cm,0); +import markers; + +pair A=(0,0), B=(1,0), C=(2,0), D=(3,0); +path p=A--B--C--D; +transform T=shift(-4,-1); +transform t=shift(4,0); + +//line 1 ********** +draw(p,marker(markinterval(3,dotframe,true))); +label("$1$",point(p,0),3W); + +//line 2 ********** +p=t*p; +draw(p,marker(stickframe,markuniform(4))); +label("$2$",point(p,0),3W); + +//line 3 ********** +p=T*p; +draw(p,marker(stickframe(red),markinterval(3,dotframe(blue),true))); +label("$3$",point(p,0),3W); + +//line 4 ********** +p=t*p; +draw(p,StickIntervalMarker(3,2,blue,dotframe(red))); +label("$4$",point(p,0),3W); + +//line 5 ********** +p=T*p; +pen pn=linewidth(4bp); +draw(p,pn,StickIntervalMarker(3,3,angle=25,pn,dotframe(red+pn))); +label("$5$",point(p,0),3W); + +//line 6 ********** +p=t*p; +draw(p,StickIntervalMarker(3,5,angle=25,size=4mm,space=2mm,offset=I*2mm, + scale(2)*dotframe(red))); +label("$6$",point(p,0),3W); + +//line 7 ********** +p=T*p; +draw(p,StickIntervalMarker(n=3,angle=45,size=10mm,space=3mm,dotframe)); +label("$7$",point(p,0),3W); + +//line 8 ********** +p=t*p; +draw(p,CircleBarIntervalMarker(n=2,dotframe)); +label("$8$",point(p,0),3W); + +//line 9 ********** +p=T*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red), + dotframe)); +label("$9$",point(p,0),3W); + +//line 10 ********** +p=t*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red),circleabove=true,dotframe)); +label("$10$",point(p,0),3W); + +//line 11 ********** +p=T*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red),circleabove=true,dotframe, + above=false)); +label("$11$",point(p,0),3W); + +//line 12 ********** +p=t*p; +draw(p,TildeIntervalMarker(i=3,dotframe)); +label("$12$",point(p,0),3W); + +//line 13 ********** +p=T*p; +draw(p,TildeIntervalMarker(i=3,n=2,angle=-20,dotframe)); +label("$13$",point(p,0),3W); + +//line 14 ********** +p=t*p; +draw(p,CrossIntervalMarker(3,3,dotframe)); +label("$14$",point(p,0),3W); + +//line 15 ********** +p=shift(.25S)*T*p; +path cle=shift(relpoint(p,.5))*scale(abs(A-D)/4)*unitcircle; +draw(cle,StickIntervalMarker(5,3,dotframe(6bp+red))); +label("$15$",point(p,0),3W); + +//line 16 ********** +cle=t*cle; +p=t*p; +frame a; +label(a,"$a$",(0,-2labelmargin())); +draw(cle,marker(dotframe(6bp+red),markinterval(5,a,true))); +label("$16$",point(p,0),3W); + +// line 17 ********** +p=T*shift(relpoint(p,.5)+.65S)*scale(.5)*shift(-relpoint(p,.5))*rotate(45,relpoint(p,.5))*p; +draw(p,TildeIntervalMarker(size=5mm,rotated=false,dotframe)); +label("$17$",point(p,0),3W); diff --git a/Master/texmf/doc/asymptote/examples/markers2.asy b/Master/texmf/doc/asymptote/examples/markers2.asy new file mode 100644 index 00000000000..b9c8ac21894 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/markers2.asy @@ -0,0 +1,34 @@ +size(10cm,0); +import markers; +import geometry; +import math; + +pair A=0, B=(1,0), C=(0.7,1), D=(-0.5,0), F=rotate(-90)*(C-B)/2+B; + +draw(A--B); +draw(A--C); +pen p=linewidth(1mm); +draw(B--C,p); +draw(A--D); +draw(B--F,p); +label("$A$",A,SW); +label("$B$",B,S); +label("$C$",C,N); +dot(Label("$D$",D,S)); +dot(Label("$F$",F,N+NW)); + +markangle(A,C,B); + +markangle(scale(1.5)*"$\theta$",radius=40,C,B,A,ArcArrow(2mm),1mm+red); +markangle(scale(1.5)*"$-\theta$",radius=-70,A,B,C,ArcArrow,green); + +markangle(Label("$\gamma$",Relative(0.25)),n=2,radius=-30,A,C,B,p=0.7blue+2); + +markangle(n=3,B,A,C,marker(markinterval(stickframe(n=2),true))); + +pen RedPen=0.7red+1bp; +markangle(C,A,D,RedPen,marker(markinterval(2,stickframe(3,4mm,RedPen),true))); +drawline(A,A+dir(A--D,A--C),dotted); + +perpendicular(B,NE,F-B,size=10mm,1mm+red, + TrueMargin(linewidth(p)/2,linewidth(p)/2),Fill(yellow)); diff --git a/Master/texmf/doc/asymptote/examples/markregular.asy b/Master/texmf/doc/asymptote/examples/markregular.asy new file mode 100644 index 00000000000..716599fbcf1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/markregular.asy @@ -0,0 +1,26 @@ +import graph; + +size(10cm,0); + +real xmin=-4,xmax=4; +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); + +draw(graph(f,xmin,xmax,n=400),linewidth(1bp),cross); + +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); + +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, + pTick=black,ptick=gray),Arrow); diff --git a/Master/texmf/doc/asymptote/examples/mexicanhat.asy b/Master/texmf/doc/asymptote/examples/mexicanhat.asy new file mode 100644 index 00000000000..d55b127ae5c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/mexicanhat.asy @@ -0,0 +1,22 @@ +size(200); + +real mexican(real x) {return (1-8x^2)*exp(-(4x^2));} + +int n=30; +real a=1.5; +real width=2a/n; + +guide hat; +path solved; + +for(int i=0; i < n; ++i) { + real t=-a+i*width; + pair z=(t,mexican(t)); + hat=hat..z; + solved=solved..z; +} + +draw(hat); +dot(hat,red); +draw(solved,dashed); + diff --git a/Master/texmf/doc/asymptote/examples/monthaxis.asy b/Master/texmf/doc/asymptote/examples/monthaxis.asy new file mode 100644 index 00000000000..d2c8bf3298f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/monthaxis.asy @@ -0,0 +1,17 @@ +import graph; + +size(400,150,IgnoreAspect); + +real[] x=sequence(12); +real[] y=sin(2pi*x/12); + +scale(false); + +string[] month={"Jan","Feb","Mar","Apr","May","Jun", + "Jul","Aug","Sep","Oct","Nov","Dec"}; + +draw(graph(x,y),red,MarkFill[0]); + +xaxis(BottomTop,LeftTicks(new string(real x) { + return month[round(x % 12)];})); +yaxis("$y$",LeftRight,RightTicks(4)); diff --git a/Master/texmf/doc/asymptote/examples/mosaic.asy b/Master/texmf/doc/asymptote/examples/mosaic.asy new file mode 100644 index 00000000000..0f19117c4b3 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/mosaic.asy @@ -0,0 +1,165 @@ +// Calendar example contributed by Jens Schwaiger + +// transformations +path similarpath(pair a, pair b, path p) { + // transform p into a path starting at a and ending at b + pair first; + pair last; + path p_; + first=point(p,0); + last=point(p,length(p)); + p_=shift(-first)*p; + p_=rotate(degrees(b-a))*p_; + p_=scale(abs(b-a)/abs(last-first))*p_; + p_=shift(a)*p_; + return p_; +} + +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 + // the straight line between its endpoints + // + return p..rotate(180,point(p,length(p)))*reverse(p); +} + +path tounitcircle(path p, int n=300) { + // the transformation pair x --> x/sqrt(1+abs(x)^2) + // is a bijection from the plane to the open unitdisk + real l=arclength(p); + path ghlp; + for(int i=0; i <= n; ++i) { + real at=arctime(p,l/n*i); + pair phlp=point(p,at); + real trhlp=1/(1+abs(phlp)^2)^(1/2); + ghlp=ghlp--trhlp*phlp; + } + if(cyclic(p)) {ghlp=ghlp--cycle;} + return ghlp; +} + +void centershade(picture pic=currentpicture, path p, pen in, pen out, + 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); + draw(pic,p,drawpen); +} + +pair zentrum(path p) {return 0.5(min(p)+max(p));} + +//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +real scalefactor=19/13; // For output: height=scalefactor*width +real outputwidth=13cm; +picture kalender;// at first we produce a calendar for february 2006 +texpreamble("\usepackage[latin1]{inputenc}"); +size(outputwidth,0); +real yc=0.5; +pair diff=(-3.5,5*yc); +pen farbe(int j) { + pen hlp=0.8white; + if(j % 7 == 6) {hlp=red+white;} + return hlp;} + +// farbe=German word for color +path kasten=yscale(yc)*unitsquare; +// Kasten is a German word meaning something like box +path Gkasten=shift((0,2*yc)+diff)*xscale(7)*yscale(2)*kasten; +path tage[]= new path[7]; // Tag=day +string wochentag[]={"MO","DI","MI","DO","FR","SA","SO"}; +path[][] bx= new path[6][7]; +string[][] entry= new string[6][7]; +bool[][] holiday=new bool[6][7]; + +// Now the necessary information for February 2006 +int start=2; +int days=28; +for(int i=0; i < entry.length; ++i) { + for(int j=0; j < entry[0].length; ++j) { + int day=i*7+j-start+1; + entry[i][j]=(day > 0 && day <= days ? (string) day : ""); + holiday[i][j]=false; + } +} + +for(int j=0; j < 7; ++j) { + 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; + filldraw(bx[i][j],farbe(j),black+2bp); + if(holiday[i][j]) {filldraw(bx[i][j],farbe(6),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); +// Zentrum=center; Februar=february +add(kalender,currentpicture); +erase(); + +// Now the mosaic is constructed +pair a[]=new pair[4]; +path p[]=new path[4]; +path q[]=new path[4]; +path kontur[]=new path[5]; +picture temppic; + +a[1]=(0,0); +a[2]=(1,0); +a[3]=(0,1); // a triangle with abs(a[2]-a[1])=abs(a[3]-a[1] + // and a right angle at a[1]; +q[1]=(0,0){dir(-20)}::{dir(20)}(0.2,0){dir(-140)}..{dir(0)}(0.3,-0.2){dir(0)}.. +{dir(140)}(0.4,0){dir(20)}..{dir(-20)}(1,0); +q[2]=(0,0){dir(20)}..{dir(-20)}(0.8,0){dir(-140)}..{dir(0)}(0.9,-0.3){dir(0)}.. +{dir(140)}(1,0); +q[2]=c_line(q[2]); +p[1]=similarpath(a[1],a[2],q[1]);// arbitrary path from a[1] to a[2] +p[2]=similarpath(a[2],a[3],q[2]);// arbitrary c_line from a[2] to a[3] +p[3]=rotate(90,a[1])*reverse(p[1]);// +kontur[1]=p[1]..p[2]..p[3]..cycle;// first tile +kontur[2]=rotate(90,a[1])*kontur[1];// second +kontur[3]=rotate(180,a[1])*kontur[1];// third +kontur[4]=rotate(270,a[1])*kontur[1];// fourth +pair tri=2*(interp(a[2],a[3],0.5)-a[1]); +pair trii=rotate(90)*tri; +// translations of kontur[i], i=1,2,3,4, with respect to +// j*tri+k*trii +// fill the plane + +for(int j=-4; j < 4; ++j) + for(int k=-4; k < 4; ++k) { + transform tr=shift(j*tri+k*trii); + for(int i=1; i < 5; ++i) { + centershade(temppic,tr*kontur[i],(1-i/10)*white, + (1-i/10)*chartreuse,black+2bp); + } + } + +// 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); + for(int i=1; i < 5; ++i) { + centershade(temppic,scale(2.5)*tounitcircle(tr*kontur[i],380), + (1-i/10)*white,(1-i/10)*orange,black+2bp); + } + } + +add(temppic); + +// 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; +transform trialtrans=shift(0,-1.5)*shift(piccenter)*yscale(scalefactor)* + scale(0.25picwidth)*shift((-0.5,-0.5))*identity(); +clip(trialtrans*unitsquare); + +// add the calendar at a suitable position +add(kalender.fit(0.75*outputwidth),interp(point(S),point(N),1/13)); diff --git a/Master/texmf/doc/asymptote/examples/mosquito.asy b/Master/texmf/doc/asymptote/examples/mosquito.asy new file mode 100644 index 00000000000..288e253bfca --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/mosquito.asy @@ -0,0 +1,82 @@ +size(9cm,10cm,IgnoreAspect); + +pair d=(1,0.25); +real s=1.6d.x; +real y=0.6; +defaultpen(fontsize(8)); + +picture box(string s, pair z=(0,0)) { + picture pic; + draw(pic,box(-d/2,d/2)); + label(pic,s,(0,0)); + return shift(z)*pic; +} + +label("Birds",(0,y)); +picture removed=box("Removed ($R_B$)"); +picture infectious=box("Infectious ($I_B$)",(0,-1.5)); +picture susceptible=box("Susceptible ($S_B$)",(0,-3)); + +add(removed); +add(infectious); +add(susceptible); + +label("Mosquitoes",(s,y)); +picture larval=box("Larval ($L_M$)",(s,0)); +picture susceptibleM=box("Susceptible ($S_M$)",(s,-1)); +picture exposed=box("Exposed ($E_M$)",(s,-2)); +picture infectiousM=box("Infectious ($I_M$)",(s,-3)); + +add(larval); +add(susceptibleM); +add(exposed); +add(infectiousM); + +path ls=point(larval,S)--point(susceptibleM,N); +path se=point(susceptibleM,S)--point(exposed,N); +path ei=point(exposed,S)--point(infectiousM,N); +path si=point(susceptible,N)--point(infectious,S); + +draw(minipage("\flushright{recovery rate ($g$) \& death rate from virus +($\mu_V$)}",40pt),point(infectious,N)--point(removed,S),LeftSide,Arrow, + PenMargin); + +draw(si,LeftSide,Arrow,PenMargin); + +draw(minipage("\flushright{maturation rate ($m$)}",50pt),ls,RightSide, + Arrow,PenMargin); +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); + +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), + 2*(S+SE),red,Arrow(Fill,0.5)); +draw(minipage("\flushleft{birth rate ($\beta_M$)}",20pt), + point(exposed,E){right}..tension t..{left}point(larval,E),2SW,red, + Arrow(Fill,0.5)); +draw("$\beta_M$", + point(infectiousM,E){right}..tension t..{left}point(larval,E),2SW, + red,Arrow(Fill,0.5)); + +path arrow=(0,0)--0.75cm*dir(35); +draw(point(larval,NNE), + Label(minipage("\flushleft{larval death rate ($\mu_L$)}",45pt),1), + arrow,blue,Arrow); +draw(point(susceptibleM,NNE), + Label(minipage("\flushleft{adult death rate ($\mu_A$)}",20pt),1), + arrow,N,blue,Arrow); +draw(point(exposed,NNE),Label("$\mu_A$",1),arrow,blue,Arrow); +draw(point(infectiousM,NNE),Label("$\mu_A$",1),arrow,blue,Arrow); + diff --git a/Master/texmf/doc/asymptote/examples/multicontour.asy b/Master/texmf/doc/asymptote/examples/multicontour.asy new file mode 100644 index 00000000000..5e4ea0c06f6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/multicontour.asy @@ -0,0 +1,19 @@ +import contour; + +size(200); + +real f(real x, real y) {return x^2-y^2;} +int n=10; +real[] c=new real[n]; +for(int i=0; i < n; ++i) c[i]=(i-n/2)/n; + +pen[] p=sequence(new pen(int i) { + return (c[i] >= 0 ? solid : dashed)+fontsize(6); + },c.length); + +Label[] Labels=sequence(new Label(int i) { + return Label(c[i] != 0 ? (string) c[i] : "",Relative(unitrand()),(0,0), + UnFill(1bp)); + },c.length); + +draw(Labels,contour(f,(-1,-1),(1,1),c),p); diff --git a/Master/texmf/doc/asymptote/examples/near_earth.asy b/Master/texmf/doc/asymptote/examples/near_earth.asy new file mode 100644 index 00000000000..afdf64c6b5c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/near_earth.asy @@ -0,0 +1,56 @@ +import three; +import math; +texpreamble("\usepackage{bm}"); + +size(300,0); + +pen thickp=linewidth(0.5mm); +real radius=0.8, lambda=37, aux=60; + +currentprojection=perspective(4,1,2); + +// Planes +pen bg=gray(0.9)+opacity(0.5); +draw(surface((1.2,0,0)--(1.2,0,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg); +draw(surface((0,1.2,0)--(0,1.2,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg); +draw(surface((1.2,0,0)--(1.2,1.2,0)--(0,1.2,0)--(0,0,0)--cycle),bg); + +real r=1.5; +pen p=rgb(0,0.7,0); +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); +label("$\rm Q$",pQ,N+3*W); +draw("$\lambda$",arc(O,0.15pQ,0.15*Z),N+0.3E); + +// Particle +triple m=pQ-(0.26,-0.4,0.28); +real width=5; +dot("$m$",m,SE,linewidth(width)); +draw("$\bm{\rho}$",(0,0,0)--m,Arrow3,PenMargin3(0,width)); +draw("$\bm{r}$",pQ--m,Arrow3,PenMargin3(0,width)); + +// Spherical octant +real r=sqrt(pQ.x^2+pQ.y^2); +draw(arc((0,0,pQ.z),(r,0,pQ.z),(0,r,pQ.z)),dashed); +draw(arc(O,radius*Z,radius*dir(90,aux)),dashed); +draw(arc(O,radius*Z,radius*X),thickp); +draw(arc(O,radius*Z,radius*Y),thickp); +draw(arc(O,radius*X,radius*Y),thickp); + +// Moving axes +triple i=dir(90+lambda,aux); +triple k=unit(pQ); +triple j=cross(k,i); + +draw(Label("$x$",1),pQ--pQ+0.2*i,2W,red,Arrow3); +draw(Label("$y$",1),pQ--pQ+0.32*j,red,Arrow3); +draw(Label("$z$",1),pQ--pQ+0.26*k,red,Arrow3); + +draw("$\bm{R}$",O--pQ,Arrow3,PenMargin3); +draw("$\omega\bm{K}$",arc(0.9Z,0.2,90,-120,90,160,CW),1.2N,Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/onecontour.asy b/Master/texmf/doc/asymptote/examples/onecontour.asy new file mode 100644 index 00000000000..0d7f247fd39 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/onecontour.asy @@ -0,0 +1,5 @@ +import contour; +size(75); + +real f(real a, real b) {return a^2+b^2;} +draw(contour(f,(-1,-1),(1,1),new real[] {1})); diff --git a/Master/texmf/doc/asymptote/examples/oneoverx.asy b/Master/texmf/doc/asymptote/examples/oneoverx.asy new file mode 100644 index 00000000000..5d9775d44dc --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/oneoverx.asy @@ -0,0 +1,17 @@ +import graph; +size(200,IgnoreAspect); + +real f(real x) {return 1/x;}; + +bool3 branch(real x) +{ + static int lastsign=0; + if(x == 0) return false; + int sign=sgn(x); + bool b=lastsign == 0 || sign == lastsign; + lastsign=sign; + return b ? true : default; +} + +draw(graph(f,-1,1,branch)); +axes("$x$","$y$",red); diff --git a/Master/texmf/doc/asymptote/examples/orthocenter.asy b/Master/texmf/doc/asymptote/examples/orthocenter.asy new file mode 100644 index 00000000000..3a4b314f68f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/orthocenter.asy @@ -0,0 +1,41 @@ +import geometry; +import math; + +size(7cm,0); + +real theta=degrees(asin(0.5/sqrt(7))); + +pair B=(0,sqrt(7)); +pair A=B+2sqrt(3)*dir(270-theta); +pair C=A+sqrt(21); +pair O=0; + +pair Ap=extension(A,O,B,C); +pair Bp=extension(B,O,C,A); +pair Cp=extension(C,O,A,B); + +perpendicular(Ap,NE,Ap--O,blue); +perpendicular(Bp,NE,Bp--C,blue); +perpendicular(Cp,NE,Cp--O,blue); + +draw(A--B--C--cycle); + +currentpen=black; + +draw("1",A--O,-0.25*I*dir(A--O)); +draw(O--Ap); +draw("$\sqrt{7}$",B--O,LeftSide); +draw(O--Bp); +draw("4",C--O); +draw(O--Cp); + +dot("$O$",O,1.5*dir(B--Bp,Cp--C),red); +dot("$A$",A,1.5*dir(C--A,B--A),red); +dot("$B$",B,NW,red); +dot("$C$",C,dir(A--C,B--C),red); +dot("$A'$",Ap,dir(A--Ap),red); +dot("$B'$",Bp,dir(B--Bp),red); +dot("$C'$",Cp,dir(C--Cp),red); + +label(graphic("piicon.eps","width=2.5cm"),Ap,5ENE,red); + diff --git a/Master/texmf/doc/asymptote/examples/parametricelevation.asy b/Master/texmf/doc/asymptote/examples/parametricelevation.asy new file mode 100644 index 00000000000..0c800f3f4ac --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/parametricelevation.asy @@ -0,0 +1,10 @@ +import graph3; +import palette; +size(200); + +currentprojection=orthographic(4,2,4); + +triple f(pair z) {return expi(z.x,z.y);} + +surface s=surface(f,(0,0),(pi,2pi),30); +draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight); diff --git a/Master/texmf/doc/asymptote/examples/parametricgraph.asy b/Master/texmf/doc/asymptote/examples/parametricgraph.asy new file mode 100644 index 00000000000..a5688a6f9dd --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/parametricgraph.asy @@ -0,0 +1,16 @@ +import graph; + +size(0,200); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} + +draw(graph(x,y,0,1)); + +//xlimits(0,1,Crop); +//ylimits(-1,0,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + diff --git a/Master/texmf/doc/asymptote/examples/parametricsurface.asy b/Master/texmf/doc/asymptote/examples/parametricsurface.asy new file mode 100644 index 00000000000..d020bbe6e7f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/parametricsurface.asy @@ -0,0 +1,22 @@ +import graph3; + +size(200,0); +currentprojection=orthographic(4,0,2); + +real R=2; +real a=1.9; + +triple f(pair t) { + return ((R+a*cos(t.y))*cos(t.x),(R+a*cos(t.y))*sin(t.x),a*sin(t.y)); +} + +pen p=rgb(0.2,0.5,0.7); + +// surface only +//draw(surface(f,(0,0),(2pi,2pi),30,15)); + +// mesh only +//draw(surface(f,(0,0),(2pi,2pi),30,15),nullpen,meshpen=p); + +// surface & mesh +draw(surface(f,(0,0),(2pi,2pi),30,15),lightgray,meshpen=p); diff --git a/Master/texmf/doc/asymptote/examples/partialsurface.asy b/Master/texmf/doc/asymptote/examples/partialsurface.asy new file mode 100644 index 00000000000..2e8ad34d834 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/partialsurface.asy @@ -0,0 +1,29 @@ +import graph3; +import palette; + +size(0,300); +currentprojection=perspective(3,-2,2); + +real V(real r) {return r^4-r^2;} +real V(pair pos) {return V(abs(pos));} + +real R=1/sqrt(2); +real z=-0.2; + +bool active(pair pos) {return abs(pos) < R;} +bool above(pair pos) {return V(pos) >= z;} + +pair a=(-1.5,-1); +pair b=(0.5,1); +real f=1.2; + +draw(plane(f*(b.x-a.x,0,z),(0,f*(b.y-a.y),z),(a.x,a.y,z)), + lightgrey+opacity(0.5)); + +surface s=surface(V,a,b,40,Spline,active); +draw(s,mean(palette(s.map(new real(triple v) { + return above((v.x,v.y)) ? 1 : 0;}), + new pen[] {lightblue,lightgreen})),black); + +xaxis3(Label("$\phi^\dagger\phi$",1),red,Arrow3); +zaxis3(Label("$V(\phi^\dagger\phi)$",1),0,0.3,red,Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/pathintersectsurface.asy b/Master/texmf/doc/asymptote/examples/pathintersectsurface.asy new file mode 100644 index 00000000000..5e9f4e54905 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/pathintersectsurface.asy @@ -0,0 +1,18 @@ +size(500); +import graph3; + +path3 g=randompath3(10); + +draw(g,red+thin()); + +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); + +draw(s,lightgray+opacity(0.9)); +dot(intersectionpoints(g,s),blue); diff --git a/Master/texmf/doc/asymptote/examples/pdb.asy b/Master/texmf/doc/asymptote/examples/pdb.asy new file mode 100644 index 00000000000..bef21dc2277 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/pdb.asy @@ -0,0 +1,157 @@ +import three; +import cpkcolors; + +// A sample Protein Data Bank file for this example is available from +// http://ndbserver.rutgers.edu/ftp/NDB/coordinates/na-biol/100d.pdb1 + +bool getviews=true; + +currentlight=adobe; +//currentlight=nolight; + +size(200); +currentprojection=perspective(30,30,15); + +// Uncomment this line for more accurate (but slower) PDF rendering +//dotgranularity=0; + +pen chainpen=green; +pen hetpen=purple; + +string filename="100d.pdb1"; +//string filename=getstring("filename"); + +string prefix=stripextension(filename); +file data=input(filename); + +pen color(string e) +{ + e=replace(e," ",""); + int n=length(e); + if(n < 1) return currentpen; + if(n > 1) e=substr(e,0,1)+downcase(substr(e,1,n-1)); + int index=find(Element == e); + if(index < 0) return currentpen; + return rgb(Hexcolor[index]); +} + +// ATOM +string[] name,altLoc,resName,chainID,iCode,element,charge; +int[] serial,resSeq; +real[][] occupancy,tempFactor; + +bool newchain=true; + +struct bond +{ + int i,j; + void operator init(int i, int j) { + this.i=i; + this.j=j; + } +} + +bond[] bonds; + +struct atom +{ + string name; + triple v; + void operator init(string name, triple v) { + this.name=name; + this.v=v; + } +} + +struct chain +{ + int[] serial; + atom[] a; +} + +int[] serials; +chain[] chains; +atom[] atoms; + +while(true) { + string line=data; + if(eof(data)) break; + string record=replace(substr(line,0,6)," ",""); + if(record == "TER") {newchain=true; continue;} + bool ATOM=record == "ATOM"; + bool HETATOM=record == "HETATM"; + int serial; + + atom a; + if(ATOM || HETATOM) { + 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)); + } + if(ATOM) { + if(newchain) { + chains.push(new chain); + newchain=false; + } + chain c=chains[chains.length-1]; + c.serial.push(serial); + c.a.push(a); + continue; + } + if(HETATOM) { + serials.push(serial); + atoms.push(a); + } + if(record == "CONECT") { + int k=0; + int i=(int) substr(line,6,5); + while(true) { + string s=replace(substr(line,11+k,5)," ",""); + if(s == "") break; + k += 5; + int j=(int) s; + if(j <= i) continue; + bonds.push(bond(i,j)); + } + } +} + +write("Number of atomic chains: ",chains.length); + +int natoms; +for(chain c : chains) { + for(int i=0; i < c.a.length-1; ++i) + draw(c.a[i].v--c.a[i+1].v,chainpen,currentlight); + for(atom a : c.a) + dot(a.v,color(a.name),currentlight); + natoms += c.a.length; +} + +write("Number of chained atoms: ",natoms); +write("Number of hetero atoms: ",atoms.length); + +for(atom h : atoms) + dot(h.v,color(h.name),currentlight); + +write("Number of hetero bonds: ",bonds.length); + +for(bond b : bonds) { + triple v(int i) {return atoms[find(serials == i)].v;} + draw(v(b.i)--v(b.j),hetpen,currentlight); +} + +string options; +string viewfilename=prefix+".views"; + +if(!error(input(viewfilename,check=false))) + options="3Dviews="+viewfilename; + +if(getviews) { + picture pic; + add(pic,embed("label",currentpicture,options=options),(0,0),N); + label(pic,cameralink("label"),(0,0),S,fontsize(12pt)); + shipout(prefix,pic,options=options); +} else + shipout(prefix,options=options); diff --git a/Master/texmf/doc/asymptote/examples/penimage.asy b/Master/texmf/doc/asymptote/examples/penimage.asy new file mode 100644 index 00000000000..2aef9f9ebe2 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/penimage.asy @@ -0,0 +1,14 @@ +size(200); + +import palette; + +int n=256; +real ninv=2pi/n; +pen[][] v=new pen[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=rgb(0.5*(1+sin(i*ninv)),0.5*(1+cos(j*ninv)),0); + +image(v,(0,0),(1,1)); + diff --git a/Master/texmf/doc/asymptote/examples/phase.asy b/Master/texmf/doc/asymptote/examples/phase.asy new file mode 100644 index 00000000000..7256ffc515c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/phase.asy @@ -0,0 +1,18 @@ +import graph; +size(8cm,6cm,IgnoreAspect); + +pair S0=(4,0.2); +pair S1=(2,3); +pair S8=(0.5,0); + +xaxis("$S$"); +yaxis(Label("$I$",0.5)); + +draw(S0{curl 0}..tension 1.5..S1{W}..tension 1.5..{curl 0}S8,Arrow(Fill,0.4)); +draw((S1.x,0)..S1,dashed); +draw((0,S1.y)..S1,dotted); + +labelx("$\frac{\gamma}{\beta}$",S1.x); +labelx("$S_\infty$",S8.x); +labely("$I_{\max}$",S1.y); + diff --git a/Master/texmf/doc/asymptote/examples/piicon.eps b/Master/texmf/doc/asymptote/examples/piicon.eps new file mode 100644 index 00000000000..56bf59bde96 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/piicon.eps @@ -0,0 +1,1135 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 147 144 +%%HiResBoundingBox: 0.000000 0.000000 147.000000 144.000000 +%......................................... +%%Creator: AFPL Ghostscript 814 (epswrite) +%%CreationDate: 2005/05/07 23:32:22 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. +%%BeginResource: procset GS_epswrite_2_0_1001 +/GS_epswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{<Y#U0HO],N3WK,= +aI!gMUk8XHs8;cjs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8Vfco#@%As6tC0iGZDf&oh%mnF5uJs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8VNUn6AL!Wd>3;]fH,mNQ@M*[&/KUs8W#oqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,mo^^"g,QI7\ +pYfu%M\9r3)=[.cs8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,en*jRQ'rlTik.NeTs,G-g)7QPss8W,sr;-Hns8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#up@\!rR3_h&IJ;Z3]S[5<=;p\unc/Xhrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#umdKXM8/8.O%Hb>a +s8S)$RMiW6KE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr)lss7,UF`0_bKnUC5hB"Ea,CfVJCnF?PYs8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts6f@F>Y#U0HO],N3WK,=c(,`_W.Y-Ms8;fks8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;6?js8T$jM6ML5 +s7h3;]fH,mNm4+4\Z1;^s8W#pqZ$Tq +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8;cjs8W+uSV"1u"981Qp"EibL(8$")Xm1cs8W,urr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,en*jRQ'rlWj +k.t>qnc/Xh +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#un*faK8/8+O%Hb;`s8S5+Sf5/>KE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,sqtg?ms0/;O +\:Y"cq2+[p?FGLsAPsH7n+$GXs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts6oFG=\9F.HO],L3WK,Ac(5iaWe:?Os8;fk +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!r;6?js8T@"K=HXAs8.]Fe6]J7%:`6Rn*ffHs8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VQVn5r3r +WI,0;]K-#lOj0I9\>k2]s8W#pqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8;cjs8W,+Vh;O:#ljd[o$gmNK+2?f)Xm.b +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,emdO4H'rlWjk.pq +q"OL^s8W)ts8N#qrVZNkrr2rts8W-!s8W)us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +mdBRE7hr%O%Hb5^s8S5,Sf58BKE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,sr;-Hns1PLg^lAj'rfH^!;71rb +>"KOtmdL2Us8N#ss8W-!s8W-!s8W-!s8N#srr2rts8Doos8W,pq"XIOnc&Oes8W,urr2lpr;Q]p +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,urr2inqu?]r +e^;=:O@[*C#j/r`gUJuhW@c,U+j$NXcF8GTb-h9Ls8N#srr2oqrVQTnrVuots8W-!s8N&us8W-! +s8W-!s8W-!s8W-!s8W,urr2rts6f=EmI'HCs8W)trr2orrVc`prr2orrr2orrr2opr;-Hns5;SM +W/jN?H6LM?I,NShp\=X`r;?QnrVlfprr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2or +rr2orrr2orrr)fpr;?Hks8UBc[W>CRY'^QLb=)C-KDtn7rr%fUomcYi?/2nBaI!gkX&RWbP4J,- +s8W,urr2loqYpKmrr2orrr2orrr2orrr2orrr2orrr2orrVc]ps8VKSmo2alWI#*9]/fokOj0I9 +]W6\bs8Vunq>UBmrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2or +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +rr2orrr2inrV?9dqYL-dqY^3dr:p$\s8W,1WeAaR)!L5Os8N&oq>:*frVuot +rr2oss8W)trr)fns8W,Ncb"mA$aYEkeY+,8TbP\<)Ph]tfZpl(s8W)trVlfqs8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rtrr2rtLO3$79*'r`'<[$.e"nGHX=E,2/a^D> +q:]3Unp:<7PQ1T?p#0?8ZR+s8W,sr;-Hns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,urr2cjr;6Birr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,urr2flrVHBgrr2oss8W)trr<#us8W-!s8W#pqZ$Tq]W?k*NXYscORCCk +YCI*d7i:X]nGiOgs8W,oq"O=Kn+-&>o()>@nF-)FqqTW1F&`O)B+)>2*oQ]# +]:W6to_%SAoC;ABnaZ2?nac5?oC;ABnaZ5@nal;@oC;ABnF,oBq>SUV[:)N- +E`Wm0AdOT:%\n=^UNmEJHk3Z@'ul@Sd@MH?ZS;$t;#^!3s8S>]np'3-0ufP*`3P'Zl1=B4p[RbB +nF,u#[dc<9`P/i +82VZWE!3_/);D2CpYTEZs-!?MHJ>GCT6M/$,>naPEs`7b#RP/M$"jPNBF5)]$41MT$#U%VE!Zki +#mtVY$?-=ZE!cqk$Oh%[#@R`=@fusG1FPUr6kW`o&5"nk<'Lt1:C2GR!0qL-Xah(uN#0m5*p^L# +r9//#s-NQGDq:a!LLVnJ&pY'(KbG/G&JKL('71?*HP.!?&efa-'7LQ.Ih<5Bo"'A6.,q?__0!QoXZ8FPT +5=!CS4ioiOaZr275XELY7*J"ec::CNA5uNZ@L&o^&BBqNkIWSLoRQu[?&i?J/OffN__@ +=&uD3>)6Tc;dr?&Kk(@ZGSIQ>(!rBfm__3foR[#APk)s^TlguM;P@/qpKq:g?XN#)?ftg(k[7c^ +?si/+?g1s*l!n2h@:AM1@-h9.l=")e@:8A.?g(m)l!Rl_?si/+?g1s*kZqKW?!c`$?fta%jBc-Q +>@$>q?0,6oi)a%=BA5a&-)Hc +m`JD/IfNnVGuI`/='!jO)Gm4It"9`rM"*aeIGQ7eh!!%'?!H8#?E<#uW +!!$s"aC(OJcl3V +*uZ5(6j\lj(9`B-c^GgHdo$/FQi,]C]8-h:(et&2C]OQF!!$L/!+Q!/@fQL=!!$L/!+#X*?N:(; +!!$U2!+Gp.?iU1:!!$L/!+Z'0@fQLB!!$j9!,MW8C]FHO!!$g8!,MW8CB+?M!!$m:!,qo@->9-`I7RIK0@a!!$L/!*K:%9E5&V!!#1a!B^>^4?tPDfqoeipPA4X9X'0_82q"X!&O]V3<0%= +!!"tY!&srY2ZNhN!!#Oi!'pSb8cSic!!#Uk!&srY2#mV=m$qL@!63%!O!!"YP!%n6O/cYl( +!!"VO!&"

c#!!"DI!%%[G0`V2(!!!*B&ccfF#H!"had!_:bt7s7PPsBC]8I7J*BFZBs8W)ts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqu]m +rVc]fp%LmEOT>N<@V"b>C[`c&XT8NN!!$j:!au'/57%WU"pQeO7UM"/SUGpLJ:E`3Jsq7/:=#@E +s7qH=Da]!2b5a +a,q/2b";X5QMB08["Ah-^T@>2s6oCCnaZ/@oCV;3lCaJn`N+"5[QaEQHIT6#cH!Njq"jLKn*f`6 +qYL&u\@Qj,H@^X$It**#ItN6#K7AB(It*-$ItrN'LOXf/JUrc+HA<"A2uiqQ!!$dP)OG/PnLH,\ +jlPe-s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#urVc`lqY^Bns08iO"U/fr0=5tKr('E(#RQ4c!,;Q:@K6Bm!!"3,5$#M9`:s#u +p@e.Ys8W)trqu]js8W,5Y(afT%KH?]m`A,)J.GXK([UPXs8W,urr2oqr;Zfskhj>,T,7P%HN3V^ +jKB\[?N?adJH,ZLr;6Bjrr2orrr<#up\F`3C.FJ%"Q6L7s88&Oem,J3&Du0[s8W,trVZ]qs8W-! +s8W-!s8W&qqZ$Tq`jh8JL]mbHEW>ZZhk_-FC)ld6o)Jairr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#uq"aeq>YA-]!2k>daHRP9cqOK>QhAd'X*bE-d(o\]s8;fls8W,dmdX4=%B+CL +l+f=Zs,kEi&@A3Ys8W,sqtg?ms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqcKf +s8W+EH$fSl-3OH]!WmaU?f'm`qYU'^pAb0m\u^P&Nt)-eL[N8WY^d6b72G(Mm/R+c +q"XX`s8VWYm\kRKnBao0qiTmA0Vit)@8.^)l0SHMs7uKdqYL'bqYKs\p](9n]=b^g:CY.#')(@" +s7VAhOq0saqYL'bq>'jcrr;6Jl\K6lgSu_&r/U3h9:Tl#Wh>+Hs8VlgpA4X^ +qYL'bqYL'bqYL'bqYL'bqYL'bqYL'bqYL'bqYL$`q>UBlq"jkt>YA9c!3(MgcBfFDd8L#ERHqjU +a.Pp"r;QZnqu?]rmdKUO9GsmY&EUSds8S)"R2`N2L&_2Qqtp3frVlfqrqu]lq>'m`qYL'bqYL'b +qYL'bqYL'bqYL'bqYL'bqYKs\q#CBo\@B$K!%%^H=9&>@7S(Z_43`/$\,ZL.s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#urVc]nrVl`mqaa86 +"9a9`@-D68lkUJ-!!$d;"ChH54:)a8p!$4PP8\L?!0rXrs8W,rqtg<70!:TjgR(-CDZI/n,NFfrr2orrr2orrqu]ks8W,#TnT@e!;kY` +s7_6"V&tA$(?t)Js8W,urr)lss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrVlfp +q"jl#?V4iu!N^klc^>[GfNA1RRd7jLcDX_tPm4HO],N3WK,=aI*pPVM"pKs8;cj +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts7#OH%1Off!)3FnD)OAd +:/9V78(1CsSLg +P&(Lo2>mJm4drr2lqrr2rts8W-!rr2orrr2rts6T+;N,'6\U`]X5NUkIsW-Jfub.RcSs8Doo +rr2orrr2rts6Aq;L1_O^W?_H@MY,G"XaC;%E(Kp*s8W,urr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W&rrVc]nqtp:r3;]fH,mNQIS+[]"iYs8W#pqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rVc]ps8VHPl3n(H!!#[m!,aeY^JRqd%M3:BnF-DWs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#urVc]nrVl`mr'Ec3&JLRYHMp?*c3"5t!!$[4!)^Kp +\>b1oM@BO^J*tTSZ@NNi8J^[[mem(aZB.H3ZRPqSRIA!Z^Ps+;5lch"J,fQKqYL'gs8W)trr<#u +s8W-!s8W-!s8N#sr;?Eks8T3pJ"^f]o\!IKqN0:(+FIZ@mdTfIs8W&rrVuotlg*qmBcZ!.,QI\" +o[['HIKkXP9)JSes8Murrr2orrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8Vunqu?]r['[1f)Zk7f%BP0ueY+&]iFr8kSEIXB]9u/m8K+XW%Hb5]s8S5+Sf52>KE(uO +qtp3grr2orrr2orrr2orrr2orrr2orrr2orrr2orrr)fpqYL*bq>:$bqu?]rZEgh;!'1)[A.9'/ +DJo"\(RobuV>pSqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +rVc]nrVl`mqa3c9+'paqY^3dr;Q]ps8W,sqtg?ms0nq^\:k4gpNH,Q9=9?^>Y#S&qZ"L?L;o;Zs87ZNk%iJ;)hqf* +Cgfj1qu-Qps82]kqtp:$br:]jYs8W+dP_Xos!:%?^s8SJL]fVd0([UMR +rVccjp\4^fs/DZGTPso+g0agQM:ngTHs$Zj^:4.Bs7lBbqYL*cqYU-cqtg0dqYL*cqYU-cr;HTn +s8W-!s8W-!s8DoqqYL*cqYU-cqtg0dqYL*cqY^'\p](9nYHP2T)$"h_$a,1!eY+&\i+E#hRcqUL +Tlpp:FV3lN2#mT7e"RhqXb6ZRs8;fks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rVc`qs8TF3]*&6j!!$4'!I%./cXg\T!kIE=etXXcGSa(7#.(\Cs8W,dmI'cEq#CBorr2oqrVl`mrVuotrr2oss8W)trr<#u +o()=,Bc#3g)?9Ggr7u%^Er`D@N;rqXs8W,Vf5S3ns8W,rqtpEns82]kr;?Nns8W-!s7Z0\qYL)u\&`T1S:5phF*"8h%UfMF@gWNR +!<[3m,<*T+'*%0%o#aD2L^um0.f]QS#R+E>$>9_M@0H[;!!$:,"'uHICBk)U!X))^Q;*HGFN=PX@C]F!]aHI'dE`m^:[!-\f75Ql37kf=2@s`K= +D,NGY.4.ndF+].PH$Q65H_l(9V0mWdI!_];I&24X`\mb-7>_l!,i#EA,lT[8kN4_qtg9irqu]lqtp?ir;HZqs8)TgkND5iMmGQ1L&_9h +#mteT!-\VPM\d8)0JU'r35.F9_Dsd"7Rau!MBr5R8b0k_Z%O,m:OmV03;(/92j[[4!K*-n2;L/@$iZYV.Z:0f$9p1V#G(^,\9k4?peP7*.qicV73d +>[?Au@d%B6l"Ol"AS1?i42D%'HiX7K[C"0Xs8W#prVuots8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#srr2oqrVl`mqEdN.)&]&jGlB*@XT/?="U/B9!%1B2:*frVlfq +s8W,6^="r!Jcl6u"p]i--`p-=eR;qOCM`KZEV='[mo39=:/BA4:!lR,e4E6LY(@_e`&I(t0s6*O +5XNFW7En1gb!eeC7nLlo8]jRqb=bLR92l!\/h@qG%>B'a)?l==Mk +AnUIBB'j)=l=+8j?=)h_3C%[f!3(Dbb*i8[dhH3k8 +;cMLK;UnQ>eOiQ`7nLom7`mq]`B$)p2)Vfs19_fDTEPLL!!$70#Z7t9`rH)=qYL*hs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7uKfs8W+FHDUlNKm7nC2)`#G!-&/G@fQKY +8kN.^r;-?hrVHBfrr2oss8KaHe2]RF!!%'c-)t-PiG`c.@V+k!:!kaT\/l``',?T;%>P,lI0'Ot +!!.$=!,VlBB:sJejKC,lX=LE*'I"Dq!!%*A!Gqf:E<#uT!!$d7!,DQ7C]FHN!<[aT?fj+"ZiC). +<)e!38Uq'QM/-qt+8'Lr-'DbX$W +;,Z![(RZ$4;Ci#_E6dI0Bh$"U02R!d4PDC]FHO!!$d7!,)?4@fQL>!!$"#!_WLn92/-# +p%A%WrVcZlrVuotrr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,sr;HZqs0oJ` +$4MJuB^J;]c2[ig!s2s4!%gf8=oA3pqtplXk"!!#1_!&srY0*__J%hDVJ$V>VH&&XSR_iu@EIh,OD)Z]q)&.Co/"#^Pr8Ic5) +%Ll,D%o<6+<#m!KCi/eZ(7,"$7!!F"*?ArB-EC`km03fF!!$%"!'pSb4ok[M!!#P=*?qY;%HbAf +s641OW?m+%'*!!$1&!([(i7fWNZ!!#Oi!([(i8,rW\!!#Oi!(R"h8,rW^!!#pt!+,^+>Q=bE +?j-9)nrK&.h>8"YN;8@Yor2It*B"G'pg0])):"nF?1*E^u4'!j74s +P&D(04:H+,%VJ<4@9cLsoCVPAnFcJHhr!Ds"_'AK]O"t+!!%3U&m@Re?iU17:J]G6:X]:DD?pJ0 +H$P3tJsUt:PCS4TJUN3(A.cqK)W%PCbF9W?EY18]&N_TqI!_'.JXV+=Q[jUTJ:O/?J=M.?S:H-[ +J:O/=I[Z+MVFX3h!!"/B!)a::MIpMf)]YIi*+a24GlRh2&.st7BC$`aUBh-+I!h93JY%CARt-$Z +J:O,>J=(k;R"0^SJ:O&X8?o8fE&'Lk1,?It*N/Iuf)/Mgp58 +It*?,JVnVoHapSsqYL*Xn*ff:naZ/>naZ,NnMN8:#mu@d!,V]9=onag"9^YP7:)"8QKdYunaZ)Bp\+Xes8N#s +s8W-!s8W#pr;Zfs^V76J3"8A6!\PMo(C^@@3rs,.;"jY[s8W,pq>:3ls+cB*!!$D2?/n:@a8c3N +,U?'&E0^J(Eb&eJ1H)]B!*MlbDZBb8rr2rsrr2rtrr<#uIr7c?C'D/+)m4f.M/!bj/-)oKJcGcM +r;6Bjrr2rts8W-!s8W-!s8W-!s8W-!rr2ooqu$Kos*fE]!!#S:-`Cj!o)JcB=BLQ5J'dbs8W)trr<#ur;?Nhq>0saqYBs`r;?Klrr2lprVc]nkj%MlM1pY:ItWAr]=YQNrr;ooqu-Kl +qYL-is8R4aUAt:BD/Sqi,c1PA=?SfP&eS7\(78rUnJN75!!#97J;XC,s7Q'YqYL*`p\=dgs2Dme +:cel1>RZ'pfs8>M\FoVMJ +5XE@q?KD.eATMpQ.4J!l!*qE=[q0.;!!$PYI[gB;s7Q'ZqYL*cqYU-cqtg0dqYL*cqYU-cqtg0d +qYL*cqYU*aqY^9hs8W,urr2rts8N#sqYL*cqYL'bqYL'bqYL'bqYL'bqYL'bq>'mbr;?Qnrr)fp +rr2orrr2orrr)fprr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrr)fpr;?FU5E%]ga(8iI"p]\[!Fu014%i4Ms8W,ko^mQZV[Eod<`\*kC@<#YRfEG, +!:3ls*/dh',-[UGPiI'TE"t,!!#\(&1Hl1li7"b +7Rht0!,l7QkZqNT#RZ=e!,;W>6"XM['[4?s8PDPK`hR1C2<9@=l'AgK)bmb!Wl.""!OtU\,ZL.rVc]kqYU6irVuot +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8R:eQiI,'B5-fe0s^i[?R[EuCi#=9!-W$iln:&r!!#c>H'\L1s82]krr2oss8W)trr2or +s8W,sr;?Qnrr<#urr2opr;?Tps8N#srr2oss8W-!s8W-!s8W-!s8W-!s8N#srr2rts85>UC]FH> +3BOo`A*EsnD-:"rIt)tK!'Lf%NFZVe+XXdXmf3=erVc`qs8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr2lprqu]l56"X$77E"<#_d28oM/33!sO2V!GVT78HT&8 +['[7@s8VrlqYgBks8W-!s8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uoCMMa&R67qSn`*4',?Z1!(:sPJg2LZ()`QVD=S>TOoPJM +L5)#os8Vrlqu?]rs8W-!s8W)trr<#us8W,trVcZlr;Q]prr2oss8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W)trr<#unaZ#W%7L6sFB;W#84h,-!)B#QYEkKQ!!#A-+.[7co*,MX6:,qss8Drrs8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uq>'pfs8R=gWtQ59G''mdrr2rts8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6Ak9"pSd(5/g]/hZ*Y! +#R=(EEe+;p@lZTb>?p.f!-ASV;![H5s8W,trVlfqrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;?Tps0oJO!!#b#$]/J.lm!dQ"U/6#mHR>;CB+?6 +/M=/CD=RZ,EIWJ:s8W,qqYU8S7nNK1V +!!%!>!F#O(+iVF:]tN&#"aXZgl;:I0!!+9,>j?c8T!!$OE'h@lenGiOgrr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL'gs8RV"NrT/L +-7>X*D=Io>MA6k-jQ,).&NKgkB0&/h?!ZCh!*al"PlLd`qYL*grr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rr2oqrVl`mr'*E*5![1t@d4+$J-#d_!!"oe@r&lqeGoSc:/KMN@d"%&K`V^Kp +qtp9js8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*c6@B:PNc8n.)B>4H!).`dOB,D>!!%RcC@3GuW;lok +H?teTs8Vrlqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr2oss8W$h8T4Y0=ueXT@:JI$!+pV+U&Y/l$O]Q,!,YS1e4E<\!!$<8\\nIIs8;fm +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2rts7uKgs8W+DGcDDkQ[!`O*$1[O!,2E58KAg)X/j)=!c:Csb\V1g +&/1-*!,MW88J)O]mHs<@s8W#pr;Zfss8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An8"pS"Y[f?C-qtp9js8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rh-V>pU+?!lYW6,N[&AJl=SUSFpk!,"J]aAuC"!!$sH$V]mPlMpnarVc`prr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srVc`qs8VENljXA( +!!.LXAEbd'[/pGGK:%7Z>s8W,trVliss8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2or +rVc`nr;8`CO$5hLAS(-2#D)sWA,lTj:/4ti;Oo0aZ#OgZ*?C^O!,_i>6PgW,BPQuN(RYC/9)nqkL5)6!!(IqLSSN*5"pp,Q6?rP1rVlfr +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2lprr<#t6puhO*MR\!q]-`K!!$a6!(SUm3coJ:$4Mi6FS[I;WrN-: +!s;^0"=pjd\c;^0qYL'gs8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An7"U8-c1V."(k6D9E +!!#6@MNV(DP6(i.!-/)@?iU0UZEgq=s8VrlqZ$Tqrr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rh-UAt:'>[HJX7)o9-BFthChVQrp$sb5-WbH28#mu=c!)0r6_#OH7r;?Kms8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWZmM$@( +!!$Xu7)i;1huEa[K7fcqs83001&q;c3B=i]?fqCh?%%*ds8W,qqYU9krr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +r;?CW6'=l6do]f2!!@ZO!Fu01/Pf/G8P5-s0",P2mg9DV!Q=a'r;?Klrr2orrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*c6@/nBMJ[8'+!R?X!)ZZnE4rs,!!$Iu8^(%1f)Peh +%Ltqtna?GWs8N#srr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,hnaR%t:&k9:?!cJS5K3['>J%MgrVcU&%8$U#C.q@K9MNt9!+*4H`W,u< +r;?Kms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,qqYU#RG,8oC`.`s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL-is8R+\YX(V#;,YmD!-/&>pU+?=2bZ6cT0,BFk_Ahr!-'(0V4\O_\b'*$1UM!(DEgNrT.ZqYL'gs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU_Z0Z9 +IX[[b!(eIaVf$JK!!%=nI&R)Fs8)Ths8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,rqu-Qps0]8[$4DGn?fu0>nQK2Y +@V"_;B^Zr^T)\k1!WlC)"!b1[[K$:,r;?Kms8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8Re+W;lp4?t&+Z5/R@#BF>21qu#u3H`$iDD.RDK1,ZN@!*;``CB+>2rr2rsrr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;?Tps0oJO +!!#b#$]/J.lm!dS"p\6#nac_[s$fIm!!$.W1:(\/mJm6$I!_Ufs8Vrlqu6Tos8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr2rts%?"D!!$[S+eh(]^,J*e&/($)!ce8@MfD\?A4*, +s8W,qqYUhuEe% +!!#R']u9[>q#^_,1GlUL@H@UpHiO.7[^N^Gs8W#pr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W!g8T=_1?9:?c?t&*r!+^P-V#UJp +mHsH'\L1s82]krr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#sr;?Kms8TX?^&S.,$42AuB'^imX9Ac4kND+0s8Rb*NrT/C$4DW!AEbNmXp,,7 +o()AOs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#us8W,trVlZiqtg0dqYL*cqYL0hrVuot +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;HZqs1#S]!!$P-;:eWAeGoSi +!!#9r]YFLHrsTTOoPJML5)#os8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Tgs8W+LJ;XC-6QmYICM`PN%ZV&2<:B;D +s8W+JIZOO05nk&uBP6ZJ)4:sE;tT_Ps8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2or +rr2rts8PGRF9;YtDf,+o-`-kD?4ml4rr2c*]#F^M=$Agc>?g%d!-ASV;![H5s8W,trVlfqrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;Zfs +I!hC`!)ba7\7]I?!!$e\HD1B=s8W-!J:O'g!(S1VT5SZA!!%OlFe\p9s8)Tirr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W&rrr<#um-F!C#[B,?\79+9#muFf!(2*[NW9%YH[D%Y!*ru>j?c8T +!!$OE'h@lenGiOgrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8VWZmh6@*!!$_'9$U@7g&M+PJ:Npbs8W-!s*B!Y!!#bF/Zs#1oDel2 +I=8!ms8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2ooqu$Kos*fEk!!$_A@H9[>`W-!Q +%LteilKJ9Js$T8&!<[siC@3GtW;lokH?teTs8Vrlqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,hnaR%t:]LK=?XMnX5/R@#=1GcU +s8W,gnEgo(5QCdm1,HCLAa9$Bha!*4T!OoPI]qYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2inr;Zfs\@BT[!+/;hcW+$&!!%0B!(jT+^An65[C*pQ!+J5]b#MKu +!!%!I$UsCIkPtS^rVc]orr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,qqYL6ls+#W[!!#G5-DYHpo*c%d&.hV+nF$>Vs7#OH%Lu&1!,>,!cV@6b +!!$E;\\nIIs8;fms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2onqYUjR@8P+%(s8N#ss8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8>M\D#aQ>2E/-WAa9#[K,>[qTXG +#RcCf!Dp88^An65r;?Klrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,trVliss6T+>$kQYH#(UB%lSLK0#7G22m-juSrr<#uL51ij!'U`!M.^Me +1,QNH$Y8i!oDejjrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oss8V]_ndc=:*ZgqpFSHjuSH&Xl +7n@CnrVHQos+Q9)!!$>.=PZqTfDknj%1ktuna?GWs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sqYL*hs8Rb,PQ1\R+!@+mDtOteSI#[% +o'u2Jrr<#us+#WZ!!#=s&s$dAm3sKd#74T)o()h\s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqu]m +s8W,/\]OmPBhM1I?'sgs8RV$PlLeS(DrBPC[iJgU(.f=o^q_Ss8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsGB]VY!-rR)oeSD2!!$[I),0;[kPtS^oCMPa'4)UuS8`NC +*?L^N!(MKhMuWhWqYL'gs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2ors8W,t7nR_#!+J5\`+3B@!!$Y\J#32Fs7Q'[s8W+LJsZN<8KAkA +DK,@U$B0+OVuQesqYL-hrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oss8VENmLKqE/haPIDY+MSO8o8O +H?tGJs8W)trp&b8"UJm%3PK'9lN@KH!!#Nt\%2P=s8;fmrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWYljXIi!!%%=<7b)Kg&M+W +K8-'!s8Vcbq#CBoJ:a6j!)+U_TlY;M!1-ks+#]k!!#e@.&V62q#CGIH[Vmns8Vrlr;Q]p +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2ors8W-!6:?G9&!D-ZqB[Ja!!$+k88eJ-rr2oss8Vs`7!Sb6Jo5Gq +0f--9!)e)gRK*2i/M=:5$Y/buo`+skq>'mes8RV$S,`Oc +.kIfFG5M=?I!gCBs8W,qqY^Bns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;?Kms8TX?_Z0[=6q#.,AEF.*K)bm@ +L51ums8W)ts75^L#mscY,c5U&o+i41!!#KCLmA#?s8)Ths8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYL6ls+Z>j!!#A&)4"rOoGo$J +#RXf+nac_[s7uKes8W+LJtE#C;(aQ*FERBZ!.0*BWW3"uqYL-is8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqlTj +s8W+CGb"g7F)>g`4?^=W!,2rU6KmXos8W-!s8TR<`W-!J6Uf+(?fM+eGmb'\lg!g9s8W&rrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8RS!PlLeV,:0+'EVC%YPRnL/oCVVRs8VojqZ$TqJ:aHp!)tU*Y]Y*b!!%@nI]^MBI"&'ps8Vrlr;Zfss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sr;?Nns8TU>bQ%WYoI;Dl!!#oCHBnO1s8)Thrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsH@24_!*;9H^hINN +!!$e`JZ&PJs8)ThqYL*hs8RV$T)\jf/hjGMFnl";H[L:As8W,qqY^Bns8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr2os +s8W*d7!o:IMK(?irB'eIt+0ls8Vrlqtg0ds8W+LJt)f@:b40#Fa!Z_!.90CWW3"u +qYL-is8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oqrVliss6K";#n(<+4ht`EljOAZ!!#T?JWTp3s7lBcs8W,0]#t'RCJ7IN +='4;Z!-\h]8*fI's8W,trVc`prr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,hna?nt8H8a1<*.^L;V1sL@KE,t^V#)R_UXT/>#qYL-is8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8GARKaS?NF`mO..BXqA) +s8W&rrVlZiqu?]rKnlE'!*rc3hbmA(!!$sI&4Q-Zmf3=err2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Tgs8W+LJ;=1*66IGC +D/T%`)4Cm?;"F/Fs8W,urr2cjqu?]rJ:a-g!(\1RS8E0<&.t'l7="q5rVlfrrr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inr;Zfs +\@K]]!*r)bb[FuC#Rc:c!(2HpPQ1[_qYL*cqY^Bns)rU^!!%4[D=BPF\,ZM88P="%s82fps8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2cjqu?]rJqTTn!)4mmW,m(T"UKoN7XP18rr2osrr2onqYU^ +EH:gn*1Hp.7Y$#Is8W,qqYL6ls8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU$Kqc!+15+U&Y/mqYL*hs8VrlqZ$TqJ:N7P!'Li)NbE.p +.4_P+$XN>ooDejjrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rVc`qs8VNTn-on?-Rc!8EV(%aQ2gnb7nHtcs8W)ts8N#srr2rts85;VJ-Q@5 +DfG>$0!50S;L*SSs8W,rqu$Hmrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7,UI%1c)3!-2(@g/:l&!!$&SLn=YHs8)Th +s8W,sr;?Tps1#YR!!#[s$AN8/l8:K0"q"r4o(;t^s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqlTjs8W+JJ>3)EC1(K3:/B7;!d4PE6+FG8 +s8W,sr;?Qnrr<#unaZ)S$[?8W8'V>HDY!Aks8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#sr;?Nns8TU=bQ%WY:f>qL>MfD`I/j7@\@B?Ss8W#pr;Q]pqYL-is8R=gRfEG) +Bkcs"6Grj(?qF%9s8W)trr;usrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vrlqu?]rL5;&o!(IqJRVcm5)]YFU$XsH!+`UNa8c2>r;?Kms8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr)fps8W*d7=PRMMK[?8_:XT4CD@R4EnaYuGs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Ths8W+LJtW/E<&m"PD/AV?!-*ISu0f$!6!*Vl`B`J,1rr2rsrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vrlqu?]r +J:aEo!*2`GIs8)Thrr2oss8W-!s8)Ths8W+NKU`#B:*M!XEH:d\%$!YCI/j6G +rr2rsrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2onqY^Bns*oTt +!!$qNBBr#VaT)<`!!,3l\@;MMfD\G7+mRl07@1s8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL*hs8RV$U&Y0q6q#+)@d!dl@t0') +s8W,qqYUTu?sr*s!+UM0V#UJpqYL*hs8W-!s8W-!rr2oss8VW[ndQ14!!%:TA*--H`rlZ_ +m-O3@s8W&rrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oqrVlisr^0). +$P&8@Fnm=2VZ6^,'c0.*naHMXs8N#srr2orrr2rts7>jR&J\[m*1:bdq&giR!!#Q?J<0a1s8)Th +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2cjqu?]rJ:aQs!*Vc\a^AK;!!$JXJY`>Gs8)Ths8W-!s8W-!s8Doq +s8W,fn*UVq8cSj0;Gu%F=53cU>(qa's8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trqu]ls8W,/\]=aN?V*i8@:A4&$A&6X7"9`Gs8W,rqtpBlrr2orr;?Kms8TR;_Z0[C +4[-eqAa'@)K)bmD[^WmKs8W#pr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYUpSqqYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2ors8W-!77MP*#(gl8oeSJ7!!$XE'M.WYlMpna +rVc`qs8W)trqcKgs8W+KJ"6Q>AR]3484h#*!,NDh:\42Js8W,urr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8R@lT)\js9MNi=>MoJ]@"3a%s8W,qqYU$&ieBoI;Do!!#i@HB%t)s82]j +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uoCMA`(IA*%D+m[O='+5Y!*t)*U&Y/mqYL*hs8W-!s8W-! +s8W,qqYU[6:h!*t)(RfEEfqYL*hs8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrr<#unac5^&muXuS98uM,:'&b!*2T\BE/#2rVc`prr2orrr2orrVc`qs8VENklqGs +,q,^3EV't^Q2gnWL5;5ss8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#unaZ)X&P)m%E*?K% +;c;3I!*"K#R/d3dqYL*hs8W-!s8W-!s8W,urr2ors8W,s8PF"%!+.TAZuL*X!!%1fH_pcBs8)Ti +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;HZqs1#Sa!!$e3;:\uWhuEn.!!#d(\AJ:Gs8;fm +rr2oss8W-!s8)Ths8W+RLn+MG>Yn8G>?p(d!-ek]9Bk^'s8W,urr2orrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts75aL%hhG5!,u+Gh,@5&!!#uKJt)f?s8)Ths8W-!s8W-!s8W-!s8W,qqYL6ls+#W\ +!!#S6,GK-rp(nO4%hi:@o^r1`s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8PGTJHuXA +FER@//?8aNB,)4MnaZ&Is8W)trr2ors8W,urr2flr;ZfsGB]h_!-2jkmQEeL!!$@t9QpI9rr2os +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWZljXId!!%(B=kZePec5\NJ:a?ls8Vrlqu?]r +s8W-!s8W-!s8N#sr;?Kms8TR<]`8(0#n)T(C@*i8[g!(Jlg+!=s8W&rrr2ors8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2inrVuot\@BZ]!+JMkc"(AJ$4MUg!(MHgNrT.Zqtp9irr2rts8N#srr2oss8V]^oFM[H +*$(VjEVU[uT)\j^J:N[[s8VrlqYpKns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8>DYF8u;T +='"'S<7h0N_\'1 +s8W,qqYUu4DK<`e)W!*t#&U&Y/mqYL*grr2rts8W-!s8W-!s8W)trr2os +s8W!g961(5@66WdCi/P>!-*4,UAt8nqtp6"X&rr2rsrr2orrr<#us8W,urr2cjqu?]rKnu].!+oG>hbm>&!!$pQ)HQG"nc/Xh +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr<#urC0D'!!$nB?/\RWe,TJN +J:OBos8Vrlqu?]rs8W-!s8W-!s8W-!s8W,urr2flr;ZfsJ:a6j!*1KuXE/LX'Gd#B$ruQVkl:\_ +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2ooqu$Kos*fHm!!$bDA*HQXci=)i!!,6m\@MY>s8;fmrr2oss8W-!s8W-!rr2orrr<#us$K5* +"pTa"E:bk?Z2al$H$YYRs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +qYL*hs8RV"T`>'p7S([/@,q:fDad3Cs8W#rrr;usrr<#us8W-!s8W-!s8W-!s8W,trVliss6K"9 +$4Kl9#D6Z&l:+4a!!$,VM51+Ns8)Thrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2ors8W,ho(!>(@3-J`Ec_$t+J/W6<_#\ks8W)srVlfqrr2or +s8W-!s8W)trr2ors8W,`l0AQ\>q@S3D/SqS%ugPhbH%:\!uDs8W,urr2rts8W-! +s8W-!s8W-!s8N#srr2orrr<#us$oV'!!$Ot7`]:Xkl:^*77M_*s8N#ss8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inrVuot\@Kf`!,>D1fNVS9 +!!@NI!)0o4_#OH7r;?Klrr2rts8W-!s8W,urr2cjr;ZfsKnlT,!+K&5gf%/)!!%'O&kDH\mJm4d +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W&rrr<#ulg*pD$==ScQZ-m9 +*[%*U!*-M<_>jQ8r;?Klrr2rts8W-!s8W-!s8W-!s8N#sqYL*hs8Rh0S,`Ob+jQ&f+OM"Fk)uks.SQ!!#fFJ<^*6s8)Thrr2oss8W-!s8W-!s8W-!s8W)trr2or +s8W,`l0&Ka:B1HF@:A1i9[<\=>)%j,s8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8Doqs8W,blg5#eB0JQ!BP?]?%Yk#a8:Q2Rs8W,rqu$Hmrr<#u +s8W-!s8W)trqu]ls8W,0\\8%D;)0o6Ci/_Q&<6_j;7O0Ss8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2onqY^Bns*8m^!!$D,=4pVTg&M+c8PF@.s8N#ss8N#s +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W'g8p(+6@m3/rBPHl7!,R+5W;lntqYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsJqU-(!-E'omliqP +!!$aB%S5pOlMpnarVc`qs8W-!s8W-!rr2orrr2cjqu?]rH$YbV!+K2;iDNV+!!$pQ)HZFunGiOg +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL*hs8Rk2T)\jj +3'+]fD!hH4KF/,[l07=0s8W)trr2ors8W-!s8W-!s8W-!s8W,urr2cjqu?]rJ:a?m!)Y-oWH37[ +!!@muGcC`Cs8)Tirr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,qqY^Bns*B!n&J::NG52pkQ2gnj*?d]@p%&._s8N#srr2oss8W-!s8N#srVc`qs8VKRlk'q= +%M4_>E:Y\8Z2al&H?tbSs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr)fps8W,blg"f`=;MmCEH1Up,bb8=98A=hs8W,qqYU9krr<#us8W-!s8W-!s8W-! +rr2onqYURM_Hru@q4U($%N!U9gD'HrVcTms8W)trr2or +s8W,urr2rts7uKfs8W+LJsQH;<'Xua9";FGs8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*f7XtI=G\_$Z6UScl!+/5eDZBb8 +rr2rsrr2orrr<#us8W-!s8W)trr2orrVc`qs8>G[?2st&%1e>2C$I6%Z3q1FoCVSQs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#uo'u)P$!9hoeko>q +!!%-A!Dj7;,4P*hs8W,trVccrs8N#srr2onqYUkcX1)@!!7HS%8#mOl2Ue`rVc`prr2rts8N#ss8W-!s8VrlqZ$Tq\@K!I!#tt?@1Np- +D/JbY(nYkkW;lntqYL-hrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2ors8W,u77WD+7*SV.ec5\m!!HF)"!FnUZ2ak(qYL'aq>0saqu6Tos8W,rqtNfZC]FH? +/1muDEVC:gR/d4b\@BKWs8W#prVlfqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2rts68e5#n(&^+es+"pDtHK!!#iHK:)]=s7uKfs8W,urr2orrr2or +qtp9irr;ooqaEtG!!#"Z!c9)*TQPDR#766=KWb@Ts8)Tis8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqY^Bns*/gi.4hi7A*F%!IfKUZ!!>"Z"p_H?ZiC(* +rVc]lqu$9cp;+Va4[30O!(R8"Jm`!H;,YsF!,4qpGQ7^BrVc`prr2orrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr<#us$]G&!!%:WB'MiUaoDEX +&en%,md0uRs7lBbqYL'bqYL3jrr)fpp%@rM9i(fi+9MjX!!.148',1KkReGPl07R7s8W&rrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sr;?Nns8T:-bTeF0 +D/]%[(6ee"B`SE9!sC:X!!u.f:Pt*jGBn]R));@#1B7DO!!.=(3Os3Qq&(-@!!#g)\]+UKs8;fn +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +r;?Kms8TU>a8c3H3]t2jB^?3@NW9&W9200uqtU3ks8N#sqtp9hrVNn,ZO%'U!YS%>s8W&srr2orrr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8PMWIfot-Ci&W"34f.kF8u;)7S$jAMMlt8JpD]j +'Gr(u"s3gF3k,fD$1,W":/?:#\!c:B)hsM!oAS13N,GYPOJH?"% +!X*oX$AKZIU/+V7F`dIO8_+OhNdQ;Xo^qhVs8W)trr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqcKhs8W,-\'8`,XXl,r +-7>T/*i'\nSf]/C(`Rp1faE,bSgC@#)*gg"+@CMN6UDtd..h]qsJu[trmITrBrVc`qs8W#prVQKis8W,urr2orrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W&rrVuoto_%p(IAmnsHl!Zf,q$&U1r(t-_'gh<+C*cr;$3eqYL-grVlfqrr<#u +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!~> +Q +cleartomark end end pagesave restore showpage +%%PageTrailer +%%Trailer +%%Pages: 1 diff --git a/Master/texmf/doc/asymptote/examples/pipeintersection.asy b/Master/texmf/doc/asymptote/examples/pipeintersection.asy new file mode 100644 index 00000000000..b22574c13c2 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/pipeintersection.asy @@ -0,0 +1,13 @@ +import graph3; + +currentprojection=orthographic(5,4,2); +currentlight=adobe; + +size(12cm,0); + +real f(pair z) {return min(sqrt(1-z.x^2),sqrt(1-z.y^2));} + +surface s=surface(f,(0,0),(1,1),40,Spline); + +transform3 t=rotate(90,O,Z), t2=t*t, t3=t2*t, i=xscale3(-1)*zscale3(-1); +draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue); diff --git a/Master/texmf/doc/asymptote/examples/pixel.pdf b/Master/texmf/doc/asymptote/examples/pixel.pdf new file mode 100644 index 00000000000..de3d0820da2 Binary files /dev/null and b/Master/texmf/doc/asymptote/examples/pixel.pdf differ diff --git a/Master/texmf/doc/asymptote/examples/planeproject.asy b/Master/texmf/doc/asymptote/examples/planeproject.asy new file mode 100644 index 00000000000..ab8980b613e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/planeproject.asy @@ -0,0 +1,18 @@ +import graph3; + +size3(200,IgnoreAspect); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return 1+cos(2pi*t);} +real y(real t) {return 1+sin(2pi*t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,1,operator ..); + +draw(p,Arrow3); +draw(planeproject(XY*unitsquare3)*p,red,Arrow3); +draw(planeproject(YZ*unitsquare3)*p,green,Arrow3); +draw(planeproject(ZX*unitsquare3)*p,blue,Arrow3); + +axes3("$x$","$y$","$z$"); diff --git a/Master/texmf/doc/asymptote/examples/planes.asy b/Master/texmf/doc/asymptote/examples/planes.asy new file mode 100644 index 00000000000..da859200f03 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/planes.asy @@ -0,0 +1,19 @@ +size(6cm,0); +import bsp; + +real u=2.5; +real v=1; + +currentprojection=oblique; + +path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0)); +path3 l=rotate(90,Z)*rotate(90,Y)*y; +path3 g=rotate(90,X)*rotate(90,Y)*y; + +face[] faces; +filldraw(faces.push(y),project(y),yellow); +filldraw(faces.push(l),project(l),lightgrey); +filldraw(faces.push(g),project(g),green); + +add(faces); + diff --git a/Master/texmf/doc/asymptote/examples/polararea.asy b/Master/texmf/doc/asymptote/examples/polararea.asy new file mode 100644 index 00000000000..42d3729914c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/polararea.asy @@ -0,0 +1,38 @@ +import math; +import graph; + +size(0,150); + +real f(real t) {return 5+cos(10*t);} + +xaxis("$x$"); +yaxis("$y$"); + +real theta1=pi/8; +real theta2=pi/3; +path k=graph(f,theta1,theta2,operator ..); +real rmin=min(k).y; +real rmax=max(k).y; +draw((0,0)--rmax*expi(theta1),dotted); +draw((0,0)--rmax*expi(theta2),dotted); + +path g=polargraph(f,theta1,theta2,operator ..); +path h=(0,0)--g--cycle; +fill(h,lightgray); +draw(h); + +real thetamin=3*pi/10; +real thetamax=2*pi/10; +pair zmin=polar(f(thetamin),thetamin); +pair zmax=polar(f(thetamax),thetamax); +draw((0,0)--zmin,dotted+red); +draw((0,0)--zmax,dotted+blue); + +draw("$\theta_*$",arc((0,0),0.5*rmin,0,degrees(thetamin)),red+fontsize(10), + PenMargins); +draw("$\theta^*$",arc((0,0),0.5*rmax,0,degrees(thetamax)),blue+fontsize(10), + PenMargins); + +draw(arc((0,0),rmin,degrees(theta1),degrees(theta2)),red,PenMargins); +draw(arc((0,0),rmax,degrees(theta1),degrees(theta2)),blue,PenMargins); + diff --git a/Master/texmf/doc/asymptote/examples/polarcircle.asy b/Master/texmf/doc/asymptote/examples/polarcircle.asy new file mode 100644 index 00000000000..c08160cde69 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/polarcircle.asy @@ -0,0 +1,30 @@ +import math; +import graph; +size(0,100); + +real f(real t) {return 2*cos(t);} +pair F(real x) {return (x,f(x));} + +draw(polargraph(f,0,pi,operator ..)); + +defaultpen(fontsize(10)); + +xaxis("$x$"); +yaxis("$y$"); + +real theta=radians(50); +real r=f(theta); +draw("$\theta$",arc((0,0),0.5,0,degrees(theta)),red,Arrow,PenMargins); + +pair z=polar(r,theta); +draw(z--(z.x,0),dotted+red); +draw((0,0)--(z.x,0),dotted+red); +label("$r\cos\theta$",(0.5*z.x,0),0.5*S,red); +label("$r\sin\theta$",(z.x,0.5*z.y),0.5*E,red); +dot("$(x,y)$",z,N); +draw("r",(0,0)--z,0.5*unit(z)*I,blue,Arrow,DotMargin); + +dot("$(a,0)$",(1,0),NE); +dot("$(2a,0)$",(2,0),NE); + + diff --git a/Master/texmf/doc/asymptote/examples/poster.asy b/Master/texmf/doc/asymptote/examples/poster.asy new file mode 100644 index 00000000000..d476dd079de --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/poster.asy @@ -0,0 +1,32 @@ +orientation=Landscape; +import slide; +import graph; + +defaultpen(deepblue); + +real f(real x) {return (x != 0) ? x*sin(1/x) : 0;} +pair F(real x) {return (x,f(x));} + +xaxis(background,grey); +yaxis(background,-0.25,0.25,grey); +real a=1.2/pi; +draw(background,graph(background,f,-a,a,10000),grey); +label(background,"$x\sin\frac{1}{x}$",F(0.92/pi),3SE,grey+fontsize(14)); +frame f=background.fit(); +box(f,RadialShade(yellow,0.6*yellow+red),above=false); +background.erase(); +add(background,f); + +title("Young Researchers' Conference",align=3S,fontsize(48)); +center("University of Alberta, Edmonton, April 1--2, 2006"); + +skip(4); + +center("A general conference for\\ +the mathematical and statistical sciences\\ +for graduate students, by graduate students.",fontsize(32)); + +label("Registration and abstract submission online.",(0,-0.5)); + +label("\tt http://www.pims.math.ca/science/2006/06yrc/",point(SW),NE, + black+fontsize(18)); diff --git a/Master/texmf/doc/asymptote/examples/progrid.asy b/Master/texmf/doc/asymptote/examples/progrid.asy new file mode 100644 index 00000000000..20400b7148a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/progrid.asy @@ -0,0 +1 @@ +label("$\displaystyle X_i = \sum_{j=1}^{N} a_{ij} f_j$"); diff --git a/Master/texmf/doc/asymptote/examples/projectelevation.asy b/Master/texmf/doc/asymptote/examples/projectelevation.asy new file mode 100644 index 00000000000..19918c241c9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/projectelevation.asy @@ -0,0 +1,18 @@ +import graph3; +import grid3; +import palette; + +currentprojection=orthographic(0.8,1,2); + +size(400,300,IgnoreAspect); + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline); + +surface S=planeproject(unitsquare3)*s; +S.colors(palette(s.map(zpart),Rainbow())); +draw(S,nolight); +draw(s,lightgray+opacity(0.7)); + +grid3(XYZgrid); diff --git a/Master/texmf/doc/asymptote/examples/projectrevolution.asy b/Master/texmf/doc/asymptote/examples/projectrevolution.asy new file mode 100644 index 00000000000..fe639b3b901 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/projectrevolution.asy @@ -0,0 +1,15 @@ +import solids; +import palette; + +currentprojection=orthographic(20,0,3); + +size(400,300,IgnoreAspect); + +revolution r=revolution(new real(real x) {return sin(x)*exp(-x/2);}, + 0,2pi,operator ..,Z); +surface s=surface(r); + +surface S=planeproject(shift(-Z)*unitsquare3)*s; +S.colors(palette(s.map(zpart),Rainbow())); +draw(S); +draw(s,lightgray); diff --git a/Master/texmf/doc/asymptote/examples/quartercircle.asy b/Master/texmf/doc/asymptote/examples/quartercircle.asy new file mode 100644 index 00000000000..5c584a10e9e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/quartercircle.asy @@ -0,0 +1,2 @@ +size(100,0); +draw((1,0){up}..{left}(0,1)); diff --git a/Master/texmf/doc/asymptote/examples/rainbow.asy b/Master/texmf/doc/asymptote/examples/rainbow.asy new file mode 100644 index 00000000000..c85282a87b1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/rainbow.asy @@ -0,0 +1,12 @@ +size(200); + +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}, + new pen[] {red,orange,yellow,green,blue,indigo,purple}); +} + +rainbow((1,0){N}..(0,1){W}..{S}(-1,0)); +rainbow(scale(4)*shift(-0.5,-0.5)*unitsquare); diff --git a/Master/texmf/doc/asymptote/examples/randompath3.asy b/Master/texmf/doc/asymptote/examples/randompath3.asy new file mode 100644 index 00000000000..56382d19b89 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/randompath3.asy @@ -0,0 +1,3 @@ +import three; +size(300); +draw(randompath3(100),red,currentlight); diff --git a/Master/texmf/doc/asymptote/examples/ring.asy b/Master/texmf/doc/asymptote/examples/ring.asy new file mode 100644 index 00000000000..54e0e25d489 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/ring.asy @@ -0,0 +1,5 @@ +size(0,100); +path unitcircle=E..N..W..S..cycle; +path g=scale(2)*unitcircle; +radialshade(unitcircle^^g,yellow+evenodd,(0,0),1.0,yellow+brown,(0,0),2); + diff --git a/Master/texmf/doc/asymptote/examples/roundpath.asy b/Master/texmf/doc/asymptote/examples/roundpath.asy new file mode 100644 index 00000000000..e6d31c6bc9c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/roundpath.asy @@ -0,0 +1,32 @@ +// example file for 'roundedpath.asy' +// written by stefan knorr + +// import needed packages +import roundedpath; + +// define open and closed path +path A = (0,0)--(10,10)--(30,10)--(20,0)--(30,-10)--(10,-10); +path B = A--cycle; + +draw(shift(-60,0)*A, green); +draw(shift(-30,0)*roundedpath(A,1), red); + +// draw open path and some modifications +for (int i = 1; i < 20; ++i) + draw(roundedpath(A,i/4), rgb(1 - i*0.049, 0, i*0.049) + linewidth(0.5)); + +draw(shift(-60,-30)*B, green); +draw(shift(-30,-30)*roundedpath(B,1), red); + +//draw closed path and some modifications +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 + 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) + draw(shift(-30,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/10,1-i/80), rgb( i*0.024, 1 - i*0.024,0) + linewidth(0.5)); + +for (int i = 1; i < 20; ++i) // shift (round edged und scaled shifted version) + draw(shift(-60,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/4,1-i/50), gray(i/40)); diff --git a/Master/texmf/doc/asymptote/examples/sacone.asy b/Master/texmf/doc/asymptote/examples/sacone.asy new file mode 100644 index 00000000000..9cdd0e138af --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sacone.asy @@ -0,0 +1,23 @@ +size(0,150); + +pair z0=(0,0); +real r=1; +real h=1; +real l=sqrt(r^2+h^2); +real a=(1-r/l)*360; +real a1=a/2; +real a2=360-a/2; +path g=arc(z0,r,a1,a2); +fill((0,0)--g--cycle,lightgreen); +draw(g); +pair z1=point(g,0); +pair z2=point(g,length(g)); + +real r2=1.1*r; +path c=arc(0,r2,a1,a2); +draw("$2\pi r$",c,red,Arrows,Bars,PenMargins); +pen edge=blue+0.5mm; +draw("$\ell$",z0--z1,0.5*SE,edge); +draw(z0--z2,edge); +draw(arc(z0,r,a2-360,a1),grey+dashed); +dot(0); diff --git a/Master/texmf/doc/asymptote/examples/sacone3D.asy b/Master/texmf/doc/asymptote/examples/sacone3D.asy new file mode 100644 index 00000000000..1ed60da0351 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sacone3D.asy @@ -0,0 +1,13 @@ +import solids; + +size(0,75); +real r=1; +real h=1; + +revolution R=cone(r,h); +draw(surface(R),lightgreen+opacity(0.5)); +pen edge=blue+0.25mm; +draw("$\ell$",(0,r,0)--(0,0,h),W,edge); +draw("$r$",(0,0,0)--(r,0,0),red+dashed); +draw((0,0,0)--(0,0,h),red+dashed); +dot(h*Z); diff --git a/Master/texmf/doc/asymptote/examples/sacylinder.asy b/Master/texmf/doc/asymptote/examples/sacylinder.asy new file mode 100644 index 00000000000..06f7909d52a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sacylinder.asy @@ -0,0 +1,26 @@ +import graph; +size(0,100); + +real r=1; +real h=3; + +yaxis(dashed); + +real m=0.475*h; + +draw((r,0)--(r,h)); +label("$L$",(r,0.5*h),E); + +real s=4; + +pair z1=(s,0); +pair z2=z1+(2*pi*r,h); +filldraw(box(z1,z2),lightgreen); +pair zm=0.5*(z1+z2); +label("$L$",(z1.x,zm.y),W); +label("$2\pi r$",(zm.x,z2.y),N); +draw("$r$",(0,m)--(r,m),N,red,Arrows); + +draw((0,1.015h),yscale(0.5)*arc(0,0.25cm,-250,70),red,ArcArrow); + + diff --git a/Master/texmf/doc/asymptote/examples/sacylinder3D.asy b/Master/texmf/doc/asymptote/examples/sacylinder3D.asy new file mode 100644 index 00000000000..e44f78e8e72 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sacylinder3D.asy @@ -0,0 +1,14 @@ +import solids; +size(0,100); + +real r=1; +real h=3; + +revolution R=cylinder(-h/2*Z,r,h); +draw(surface(R),lightgreen+opacity(0.5)); +draw((0,0,-h/2)--(0,0,h/2),dashed); +dot((0,0,-h/2)); +dot((0,0,h/2)); +draw("$L$",(0,r,-h/2)--(0,r,h/2),W,black); +draw("$r$",(0,0,-h/2)--(0,r,-h/2),red); +draw(arc(O,1,90,90,90,0),red,Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/saddle.asy b/Master/texmf/doc/asymptote/examples/saddle.asy new file mode 100644 index 00000000000..0180bf125a6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/saddle.asy @@ -0,0 +1,7 @@ +import three; + +size(100,0); +path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; +draw(g); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); diff --git a/Master/texmf/doc/asymptote/examples/scaledgraph.asy b/Master/texmf/doc/asymptote/examples/scaledgraph.asy new file mode 100644 index 00000000000..408c10cc582 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/scaledgraph.asy @@ -0,0 +1,15 @@ +import graph; + +axiscoverage=0.9; +size(200,IgnoreAspect); + +real[] x={-1e-11,1e-11}; +real[] y={0,1e6}; + +real xscale=round(log10(max(x))); +real yscale=round(log10(max(y)))-1; + +draw(graph(x*10^(-xscale),y*10^(-yscale)),red); + +xaxis("$x/10^{"+(string) xscale+"}$",BottomTop,LeftTicks); +yaxis("$y/10^{"+(string) yscale+"}$",LeftRight,RightTicks(trailingzero)); diff --git a/Master/texmf/doc/asymptote/examples/secondaryaxis.asy b/Master/texmf/doc/asymptote/examples/secondaryaxis.asy new file mode 100644 index 00000000000..527675f2f51 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/secondaryaxis.asy @@ -0,0 +1,32 @@ +import graph; + +size(9cm,6cm,IgnoreAspect); +string data="secondaryaxis.csv"; + +file in=line(csv(input(data))); + +string[] titlelabel=in; +string[] columnlabel=in; + +real[][] a=dimension(in,0,0); +a=transpose(a); +real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4]; +real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7]; + +scale(true); + +draw(graph(t,susceptible,t >= 10 & t <= 15)); +draw(graph(t,dead,t >= 10 & t <= 15),dashed); + +xaxis("Time ($\tau$)",BottomTop,LeftTicks); +yaxis(Left,RightTicks); + +picture secondary=secondaryY(new void(picture pic) { + scale(pic,Linear(true),Log(true)); + 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/doc/asymptote/examples/secondaryaxis.csv b/Master/texmf/doc/asymptote/examples/secondaryaxis.csv new file mode 100644 index 00000000000..082d45a0e71 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/secondaryaxis.csv @@ -0,0 +1,1003 @@ +,"Proportion of crows",,,"Mosquitoes per crow",,, +Time,Susceptible,Infectious,Dead,Larvae,Susceptible,Exposed,Infectious +0,1,0,0,,30,0.000,0.001 +0.1,1.000,0.000,0.000,12.794,30.000,0.000,0.001 +0.2,1.000,0.000,0.000,12.794,30.000,0.000,0.001 +0.3,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.4,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.5,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.6,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.7,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.8,0.999,0.000,0.000,12.795,30.000,0.000,0.001 +0.9,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.1,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.2,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.3,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.4,0.999,0.000,0.001,12.795,29.999,0.001,0.001 +1.5,0.999,0.001,0.001,12.795,29.999,0.001,0.001 +1.6,0.999,0.001,0.001,12.795,29.999,0.001,0.001 +1.7,0.999,0.001,0.001,12.795,29.998,0.001,0.001 +1.8,0.999,0.001,0.001,12.795,29.998,0.001,0.001 +1.9,0.998,0.001,0.001,12.795,29.998,0.001,0.002 +2,0.998,0.001,0.001,12.795,29.998,0.001,0.002 +2.1,0.998,0.001,0.001,12.795,29.998,0.002,0.002 +2.2,0.998,0.001,0.001,12.795,29.998,0.002,0.002 +2.3,0.998,0.001,0.001,12.795,29.997,0.002,0.002 +2.4,0.998,0.001,0.001,12.795,29.997,0.002,0.002 +2.5,0.998,0.001,0.002,12.795,29.997,0.002,0.002 +2.6,0.997,0.001,0.002,12.795,29.997,0.002,0.002 +2.7,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +2.8,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +2.9,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +3,0.997,0.001,0.002,12.795,29.995,0.003,0.003 +3.1,0.996,0.001,0.002,12.795,29.995,0.003,0.003 +3.2,0.996,0.001,0.003,12.795,29.995,0.003,0.003 +3.3,0.996,0.001,0.003,12.795,29.994,0.003,0.004 +3.4,0.996,0.001,0.003,12.795,29.994,0.003,0.004 +3.5,0.995,0.002,0.003,12.795,29.994,0.003,0.004 +3.6,0.995,0.002,0.003,12.795,29.993,0.004,0.004 +3.7,0.995,0.002,0.004,12.795,29.993,0.004,0.004 +3.8,0.994,0.002,0.004,12.795,29.992,0.004,0.005 +3.9,0.994,0.002,0.004,12.795,29.992,0.004,0.005 +4,0.994,0.002,0.004,12.795,29.991,0.005,0.005 +4.1,0.993,0.002,0.005,12.795,29.991,0.005,0.006 +4.2,0.993,0.002,0.005,12.795,29.990,0.005,0.006 +4.3,0.992,0.002,0.005,12.795,29.989,0.005,0.006 +4.4,0.992,0.003,0.006,12.795,29.989,0.006,0.007 +4.5,0.991,0.003,0.006,12.795,29.988,0.006,0.007 +4.6,0.991,0.003,0.006,12.795,29.987,0.006,0.008 +4.7,0.990,0.003,0.007,12.795,29.986,0.007,0.008 +4.8,0.990,0.003,0.007,12.795,29.985,0.007,0.008 +4.9,0.989,0.003,0.008,12.795,29.984,0.008,0.009 +5,0.988,0.004,0.008,12.795,29.984,0.008,0.009 +5.1,0.988,0.004,0.009,12.795,29.982,0.008,0.010 +5.2,0.987,0.004,0.009,12.795,29.981,0.009,0.011 +5.3,0.986,0.004,0.010,12.795,29.980,0.010,0.011 +5.4,0.985,0.005,0.010,12.795,29.979,0.010,0.012 +5.5,0.984,0.005,0.011,12.795,29.978,0.011,0.013 +5.6,0.983,0.005,0.012,12.795,29.976,0.011,0.013 +5.7,0.982,0.005,0.012,12.795,29.975,0.012,0.014 +5.8,0.981,0.006,0.013,12.795,29.973,0.013,0.015 +5.9,0.980,0.006,0.014,12.795,29.972,0.013,0.016 +6,0.979,0.006,0.015,12.795,29.970,0.014,0.017 +6.1,0.978,0.007,0.016,12.795,29.968,0.015,0.018 +6.2,0.976,0.007,0.016,12.795,29.966,0.016,0.019 +6.3,0.975,0.008,0.017,12.795,29.964,0.017,0.020 +6.4,0.973,0.008,0.019,12.795,29.962,0.018,0.021 +6.5,0.972,0.008,0.020,12.795,29.960,0.019,0.022 +6.6,0.970,0.009,0.021,12.795,29.957,0.020,0.024 +6.7,0.968,0.009,0.022,12.795,29.955,0.021,0.025 +6.8,0.967,0.010,0.023,12.795,29.952,0.022,0.026 +6.9,0.965,0.011,0.025,12.795,29.949,0.024,0.028 +7,0.963,0.011,0.026,12.795,29.946,0.025,0.030 +7.1,0.960,0.012,0.028,12.795,29.943,0.026,0.031 +7.2,0.958,0.013,0.029,12.795,29.940,0.028,0.033 +7.3,0.956,0.013,0.031,12.795,29.936,0.029,0.035 +7.4,0.953,0.014,0.033,12.795,29.933,0.031,0.037 +7.5,0.950,0.015,0.035,12.795,29.929,0.033,0.039 +7.6,0.947,0.016,0.037,12.795,29.925,0.035,0.042 +7.7,0.944,0.016,0.039,12.795,29.920,0.037,0.044 +7.8,0.941,0.017,0.041,12.795,29.916,0.039,0.046 +7.9,0.938,0.018,0.044,12.795,29.911,0.041,0.049 +8,0.934,0.019,0.046,12.795,29.906,0.043,0.052 +8.1,0.931,0.020,0.049,12.795,29.900,0.046,0.055 +8.2,0.927,0.021,0.052,12.795,29.895,0.048,0.058 +8.3,0.923,0.023,0.055,12.795,29.889,0.051,0.061 +8.4,0.918,0.024,0.058,12.795,29.883,0.054,0.065 +8.5,0.914,0.025,0.061,12.795,29.876,0.056,0.069 +8.6,0.909,0.026,0.065,12.795,29.869,0.059,0.072 +8.7,0.904,0.028,0.068,12.795,29.862,0.063,0.076 +8.8,0.899,0.029,0.072,12.795,29.854,0.066,0.081 +8.9,0.893,0.031,0.076,12.795,29.846,0.070,0.085 +9,0.887,0.032,0.080,12.795,29.838,0.073,0.090 +9.1,0.881,0.034,0.085,12.795,29.829,0.077,0.095 +9.2,0.875,0.036,0.090,12.795,29.820,0.081,0.100 +9.3,0.868,0.037,0.095,12.795,29.810,0.085,0.106 +9.4,0.861,0.039,0.100,12.795,29.800,0.090,0.112 +9.5,0.854,0.041,0.105,12.795,29.789,0.094,0.118 +9.6,0.846,0.043,0.111,12.795,29.778,0.099,0.124 +9.7,0.838,0.045,0.117,12.795,29.766,0.104,0.131 +9.8,0.830,0.047,0.123,12.795,29.754,0.109,0.138 +9.9,0.821,0.049,0.130,12.795,29.742,0.114,0.145 +10,0.812,0.052,0.136,12.795,29.729,0.120,0.153 +10.1,0.802,0.054,0.144,12.795,29.715,0.126,0.161 +10.2,0.793,0.056,0.151,12.795,29.701,0.132,0.169 +10.3,0.782,0.059,0.159,12.795,29.686,0.138,0.178 +10.4,0.772,0.061,0.167,12.795,29.670,0.144,0.187 +10.5,0.761,0.064,0.175,12.795,29.654,0.150,0.196 +10.6,0.750,0.066,0.184,12.795,29.638,0.157,0.206 +10.7,0.738,0.069,0.193,12.795,29.621,0.164,0.216 +10.8,0.726,0.072,0.203,12.795,29.603,0.171,0.227 +10.9,0.713,0.074,0.212,12.795,29.585,0.178,0.238 +11,0.700,0.077,0.223,12.795,29.566,0.185,0.250 +11.1,0.687,0.080,0.233,12.795,29.547,0.193,0.261 +11.2,0.674,0.082,0.244,12.795,29.527,0.200,0.274 +11.3,0.660,0.085,0.255,12.795,29.507,0.208,0.286 +11.4,0.645,0.088,0.267,12.795,29.486,0.215,0.300 +11.5,0.631,0.090,0.279,12.795,29.465,0.223,0.313 +11.6,0.616,0.093,0.291,12.795,29.443,0.231,0.327 +11.7,0.601,0.095,0.304,12.795,29.421,0.238,0.341 +11.8,0.585,0.098,0.317,12.795,29.399,0.246,0.356 +11.9,0.570,0.100,0.330,12.795,29.376,0.254,0.371 +12,0.554,0.102,0.344,12.795,29.353,0.261,0.386 +12.1,0.538,0.104,0.358,12.795,29.330,0.269,0.402 +12.2,0.521,0.106,0.372,12.795,29.307,0.276,0.418 +12.3,0.505,0.108,0.387,12.795,29.283,0.283,0.434 +12.4,0.489,0.110,0.401,12.795,29.260,0.290,0.451 +12.5,0.472,0.112,0.416,12.795,29.236,0.297,0.468 +12.6,0.456,0.113,0.432,12.795,29.213,0.303,0.485 +12.7,0.439,0.114,0.447,12.795,29.190,0.309,0.502 +12.8,0.423,0.115,0.462,12.795,29.167,0.315,0.519 +12.9,0.406,0.116,0.478,12.795,29.144,0.320,0.536 +13,0.390,0.116,0.494,12.795,29.122,0.325,0.554 +13.1,0.374,0.117,0.509,12.795,29.100,0.329,0.571 +13.2,0.358,0.117,0.525,12.795,29.079,0.333,0.588 +13.3,0.343,0.117,0.541,12.795,29.059,0.337,0.606 +13.4,0.327,0.116,0.557,12.795,29.039,0.340,0.623 +13.5,0.312,0.116,0.572,12.795,29.020,0.342,0.639 +13.6,0.297,0.115,0.588,12.795,29.001,0.344,0.656 +13.7,0.283,0.114,0.603,12.795,28.984,0.345,0.672 +13.8,0.269,0.113,0.618,12.795,28.967,0.346,0.688 +13.9,0.255,0.111,0.634,12.795,28.952,0.346,0.704 +14,0.242,0.109,0.648,12.795,28.937,0.345,0.719 +14.1,0.229,0.108,0.663,12.795,28.924,0.344,0.733 +14.2,0.217,0.106,0.677,12.795,28.912,0.342,0.747 +14.3,0.205,0.103,0.692,12.795,28.900,0.340,0.761 +14.4,0.194,0.101,0.705,12.795,28.891,0.337,0.774 +14.5,0.183,0.099,0.719,12.795,28.882,0.333,0.786 +14.6,0.172,0.096,0.732,12.795,28.874,0.329,0.797 +14.7,0.162,0.093,0.745,12.795,28.868,0.325,0.808 +14.8,0.153,0.090,0.757,12.795,28.863,0.320,0.818 +14.9,0.143,0.087,0.769,12.795,28.860,0.314,0.827 +15,0.135,0.084,0.781,12.795,28.857,0.308,0.836 +15.1,0.127,0.081,0.792,12.795,28.856,0.302,0.843 +15.2,0.119,0.078,0.803,12.795,28.856,0.295,0.850 +15.3,0.112,0.075,0.813,12.795,28.857,0.288,0.856 +15.4,0.105,0.072,0.823,12.795,28.859,0.281,0.861 +15.5,0.098,0.069,0.833,12.795,28.863,0.273,0.865 +15.6,0.092,0.066,0.842,12.795,28.867,0.266,0.868 +15.7,0.086,0.063,0.850,12.795,28.873,0.258,0.870 +15.8,0.081,0.060,0.859,12.795,28.879,0.250,0.872 +15.9,0.076,0.058,0.867,12.795,28.887,0.242,0.873 +16,0.071,0.055,0.874,12.795,28.895,0.233,0.873 +16.1,0.066,0.052,0.882,12.795,28.904,0.225,0.872 +16.2,0.062,0.049,0.888,12.795,28.914,0.217,0.870 +16.3,0.058,0.047,0.895,12.795,28.925,0.209,0.867 +16.4,0.055,0.044,0.901,12.795,28.936,0.201,0.864 +16.5,0.051,0.042,0.907,12.795,28.948,0.192,0.860 +16.6,0.048,0.040,0.912,12.795,28.961,0.185,0.856 +16.7,0.045,0.037,0.918,12.795,28.974,0.177,0.850 +16.8,0.042,0.035,0.922,12.795,28.988,0.169,0.844 +16.9,0.040,0.033,0.927,12.795,29.002,0.161,0.838 +17,0.037,0.031,0.931,12.795,29.016,0.154,0.831 +17.1,0.035,0.029,0.936,12.795,29.031,0.147,0.823 +17.2,0.033,0.028,0.939,12.795,29.046,0.140,0.815 +17.3,0.031,0.026,0.943,12.795,29.061,0.133,0.807 +17.4,0.029,0.024,0.946,12.795,29.077,0.126,0.798 +17.5,0.028,0.023,0.950,12.795,29.093,0.120,0.788 +17.6,0.026,0.021,0.953,12.795,29.108,0.114,0.779 +17.7,0.025,0.020,0.955,12.795,29.124,0.108,0.769 +17.8,0.023,0.019,0.958,12.795,29.141,0.102,0.758 +17.9,0.022,0.018,0.960,12.795,29.157,0.097,0.748 +18,0.021,0.017,0.963,12.795,29.173,0.092,0.737 +18.1,0.020,0.015,0.965,12.795,29.189,0.087,0.726 +18.2,0.019,0.014,0.967,12.795,29.205,0.082,0.714 +18.3,0.018,0.014,0.969,12.795,29.221,0.077,0.703 +18.4,0.017,0.013,0.971,12.795,29.237,0.073,0.691 +18.5,0.016,0.012,0.972,12.795,29.253,0.069,0.680 +18.6,0.015,0.011,0.974,12.795,29.268,0.065,0.668 +18.7,0.014,0.010,0.975,12.795,29.284,0.061,0.656 +18.8,0.014,0.010,0.977,12.795,29.299,0.057,0.644 +18.9,0.013,0.009,0.978,12.795,29.315,0.054,0.632 +19,0.012,0.008,0.979,12.795,29.330,0.051,0.620 +19.1,0.012,0.008,0.980,12.795,29.345,0.048,0.609 +19.2,0.011,0.007,0.981,12.795,29.359,0.045,0.597 +19.3,0.011,0.007,0.982,12.795,29.374,0.042,0.585 +19.4,0.010,0.007,0.983,12.795,29.388,0.040,0.573 +19.5,0.010,0.006,0.984,12.795,29.402,0.037,0.562 +19.6,0.010,0.006,0.985,12.795,29.416,0.035,0.550 +19.7,0.009,0.005,0.985,12.795,29.430,0.033,0.538 +19.8,0.009,0.005,0.986,12.795,29.443,0.031,0.527 +19.9,0.009,0.005,0.987,12.795,29.456,0.029,0.516 +20,0.008,0.004,0.987,12.795,29.469,0.027,0.505 +20.1,0.008,0.004,0.988,12.795,29.482,0.026,0.494 +20.2,0.008,0.004,0.989,12.795,29.494,0.024,0.483 +20.3,0.007,0.004,0.989,12.795,29.506,0.023,0.472 +20.4,0.007,0.003,0.990,12.795,29.518,0.021,0.461 +20.5,0.007,0.003,0.990,12.795,29.530,0.020,0.451 +20.6,0.007,0.003,0.990,12.795,29.541,0.019,0.441 +20.7,0.006,0.003,0.991,12.795,29.553,0.018,0.431 +20.8,0.006,0.003,0.991,12.795,29.564,0.017,0.421 +20.9,0.006,0.002,0.991,12.795,29.575,0.016,0.411 +21,0.006,0.002,0.992,12.795,29.585,0.015,0.401 +21.1,0.006,0.002,0.992,12.795,29.595,0.014,0.392 +21.2,0.006,0.002,0.992,12.795,29.605,0.013,0.383 +21.3,0.005,0.002,0.993,12.795,29.615,0.012,0.374 +21.4,0.005,0.002,0.993,12.795,29.625,0.011,0.365 +21.5,0.005,0.002,0.993,12.795,29.634,0.011,0.356 +21.6,0.005,0.002,0.993,12.795,29.644,0.010,0.347 +21.7,0.005,0.002,0.994,12.795,29.653,0.009,0.339 +21.8,0.005,0.001,0.994,12.795,29.661,0.009,0.331 +21.9,0.005,0.001,0.994,12.795,29.670,0.008,0.323 +22,0.004,0.001,0.994,12.795,29.678,0.008,0.315 +22.1,0.004,0.001,0.994,12.795,29.687,0.007,0.307 +22.2,0.004,0.001,0.995,12.795,29.695,0.007,0.299 +22.3,0.004,0.001,0.995,12.795,29.702,0.007,0.292 +22.4,0.004,0.001,0.995,12.795,29.710,0.006,0.285 +22.5,0.004,0.001,0.995,12.795,29.718,0.006,0.278 +22.6,0.004,0.001,0.995,12.795,29.725,0.006,0.271 +22.7,0.004,0.001,0.995,12.795,29.732,0.005,0.264 +22.8,0.004,0.001,0.995,12.795,29.739,0.005,0.257 +22.9,0.004,0.001,0.995,12.795,29.746,0.005,0.251 +23,0.004,0.001,0.996,12.795,29.752,0.004,0.244 +23.1,0.004,0.001,0.996,12.795,29.758,0.004,0.238 +23.2,0.004,0.001,0.996,12.795,29.765,0.004,0.232 +23.3,0.003,0.001,0.996,12.795,29.771,0.004,0.226 +23.4,0.003,0.001,0.996,12.795,29.777,0.004,0.221 +23.5,0.003,0.001,0.996,12.795,29.783,0.003,0.215 +23.6,0.003,0.001,0.996,12.795,29.788,0.003,0.210 +23.7,0.003,0.001,0.996,12.795,29.794,0.003,0.204 +23.8,0.003,0.001,0.996,12.795,29.799,0.003,0.199 +23.9,0.003,0.001,0.996,12.795,29.804,0.003,0.194 +24,0.003,0.000,0.996,12.795,29.809,0.003,0.189 +24.1,0.003,0.000,0.996,12.795,29.814,0.002,0.184 +24.2,0.003,0.000,0.997,12.795,29.819,0.002,0.179 +24.3,0.003,0.000,0.997,12.795,29.824,0.002,0.175 +24.4,0.003,0.000,0.997,12.795,29.829,0.002,0.170 +24.5,0.003,0.000,0.997,12.795,29.833,0.002,0.166 +24.6,0.003,0.000,0.997,12.795,29.838,0.002,0.162 +24.7,0.003,0.000,0.997,12.795,29.842,0.002,0.157 +24.8,0.003,0.000,0.997,12.795,29.846,0.002,0.153 +24.9,0.003,0.000,0.997,12.795,29.850,0.002,0.149 +25,0.003,0.000,0.997,12.795,29.854,0.002,0.145 +25.1,0.003,0.000,0.997,12.795,29.858,0.002,0.142 +25.2,0.003,0.000,0.997,12.795,29.862,0.001,0.138 +25.3,0.003,0.000,0.997,12.795,29.865,0.001,0.134 +25.4,0.003,0.000,0.997,12.795,29.869,0.001,0.131 +25.5,0.003,0.000,0.997,12.795,29.872,0.001,0.128 +25.6,0.003,0.000,0.997,12.795,29.876,0.001,0.124 +25.7,0.003,0.000,0.997,12.795,29.879,0.001,0.121 +25.8,0.003,0.000,0.997,12.795,29.882,0.001,0.118 +25.9,0.003,0.000,0.997,12.795,29.885,0.001,0.115 +26,0.002,0.000,0.997,12.795,29.888,0.001,0.112 +26.1,0.002,0.000,0.997,12.795,29.891,0.001,0.109 +26.2,0.002,0.000,0.997,12.795,29.894,0.001,0.106 +26.3,0.002,0.000,0.997,12.795,29.897,0.001,0.103 +26.4,0.002,0.000,0.997,12.795,29.900,0.001,0.101 +26.5,0.002,0.000,0.997,12.795,29.902,0.001,0.098 +26.6,0.002,0.000,0.997,12.795,29.905,0.001,0.095 +26.7,0.002,0.000,0.997,12.795,29.907,0.001,0.093 +26.8,0.002,0.000,0.997,12.795,29.910,0.001,0.090 +26.9,0.002,0.000,0.998,12.795,29.912,0.001,0.088 +27,0.002,0.000,0.998,12.795,29.915,0.001,0.086 +27.1,0.002,0.000,0.998,12.795,29.917,0.001,0.083 +27.2,0.002,0.000,0.998,12.795,29.919,0.001,0.081 +27.3,0.002,0.000,0.998,12.795,29.921,0.001,0.079 +27.4,0.002,0.000,0.998,12.795,29.923,0.001,0.077 +27.5,0.002,0.000,0.998,12.795,29.925,0.001,0.075 +27.6,0.002,0.000,0.998,12.795,29.927,0.001,0.073 +27.7,0.002,0.000,0.998,12.795,29.929,0.001,0.071 +27.8,0.002,0.000,0.998,12.795,29.931,0.001,0.069 +27.9,0.002,0.000,0.998,12.795,29.933,0.000,0.067 +28,0.002,0.000,0.998,12.795,29.935,0.000,0.066 +28.1,0.002,0.000,0.998,12.795,29.937,0.000,0.064 +28.2,0.002,0.000,0.998,12.795,29.938,0.000,0.062 +28.3,0.002,0.000,0.998,12.795,29.940,0.000,0.061 +28.4,0.002,0.000,0.998,12.795,29.942,0.000,0.059 +28.5,0.002,0.000,0.998,12.795,29.943,0.000,0.057 +28.6,0.002,0.000,0.998,12.795,29.945,0.000,0.056 +28.7,0.002,0.000,0.998,12.795,29.946,0.000,0.054 +28.8,0.002,0.000,0.998,12.795,29.948,0.000,0.053 +28.9,0.002,0.000,0.998,12.795,29.949,0.000,0.052 +29,0.002,0.000,0.998,12.795,29.950,0.000,0.050 +29.1,0.002,0.000,0.998,12.795,29.952,0.000,0.049 +29.2,0.002,0.000,0.998,12.795,29.953,0.000,0.048 +29.3,0.002,0.000,0.998,12.795,29.954,0.000,0.046 +29.4,0.002,0.000,0.998,12.795,29.955,0.000,0.045 +29.5,0.002,0.000,0.998,12.795,29.957,0.000,0.044 +29.6,0.002,0.000,0.998,12.795,29.958,0.000,0.043 +29.7,0.002,0.000,0.998,12.795,29.959,0.000,0.042 +29.8,0.002,0.000,0.998,12.795,29.960,0.000,0.041 +29.9,0.002,0.000,0.998,12.795,29.961,0.000,0.040 +30,0.002,0.000,0.998,12.795,29.962,0.000,0.039 +30.1,0.002,0.000,0.998,12.795,29.963,0.000,0.037 +30.2,0.002,0.000,0.998,12.795,29.964,0.000,0.037 +30.3,0.002,0.000,0.998,12.795,29.965,0.000,0.036 +30.4,0.002,0.000,0.998,12.795,29.966,0.000,0.035 +30.5,0.002,0.000,0.998,12.795,29.967,0.000,0.034 +30.6,0.002,0.000,0.998,12.795,29.968,0.000,0.033 +30.7,0.002,0.000,0.998,12.795,29.969,0.000,0.032 +30.8,0.002,0.000,0.998,12.795,29.970,0.000,0.031 +30.9,0.002,0.000,0.998,12.795,29.971,0.000,0.030 +31,0.002,0.000,0.998,12.795,29.971,0.000,0.029 +31.1,0.002,0.000,0.998,12.795,29.972,0.000,0.029 +31.2,0.002,0.000,0.998,12.795,29.973,0.000,0.028 +31.3,0.002,0.000,0.998,12.795,29.974,0.000,0.027 +31.4,0.002,0.000,0.998,12.795,29.974,0.000,0.026 +31.5,0.002,0.000,0.998,12.795,29.975,0.000,0.026 +31.6,0.002,0.000,0.998,12.795,29.976,0.000,0.025 +31.7,0.002,0.000,0.998,12.795,29.976,0.000,0.024 +31.8,0.002,0.000,0.998,12.795,29.977,0.000,0.024 +31.9,0.002,0.000,0.998,12.795,29.978,0.000,0.023 +32,0.002,0.000,0.998,12.795,29.978,0.000,0.023 +32.1,0.002,0.000,0.998,12.795,29.979,0.000,0.022 +32.2,0.002,0.000,0.998,12.795,29.979,0.000,0.021 +32.3,0.002,0.000,0.998,12.795,29.980,0.000,0.021 +32.4,0.002,0.000,0.998,12.795,29.981,0.000,0.020 +32.5,0.002,0.000,0.998,12.795,29.981,0.000,0.020 +32.6,0.002,0.000,0.998,12.795,29.982,0.000,0.019 +32.7,0.002,0.000,0.998,12.795,29.982,0.000,0.019 +32.8,0.002,0.000,0.998,12.795,29.983,0.000,0.018 +32.9,0.002,0.000,0.998,12.795,29.983,0.000,0.018 +33,0.002,0.000,0.998,12.795,29.984,0.000,0.017 +33.1,0.002,0.000,0.998,12.795,29.984,0.000,0.017 +33.2,0.002,0.000,0.998,12.795,29.985,0.000,0.016 +33.3,0.002,0.000,0.998,12.795,29.985,0.000,0.016 +33.4,0.002,0.000,0.998,12.795,29.985,0.000,0.015 +33.5,0.002,0.000,0.998,12.795,29.986,0.000,0.015 +33.6,0.002,0.000,0.998,12.795,29.986,0.000,0.015 +33.7,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +33.8,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +33.9,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +34,0.002,0.000,0.998,12.795,29.988,0.000,0.013 +34.1,0.002,0.000,0.998,12.795,29.988,0.000,0.013 +34.2,0.002,0.000,0.998,12.795,29.988,0.000,0.012 +34.3,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.4,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.5,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.6,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.7,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.8,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.9,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.1,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.2,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.3,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.4,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.5,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.6,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.7,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +35.8,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +35.9,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36.1,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36.2,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.3,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.4,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.5,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.6,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.7,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +36.8,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +36.9,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.1,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.2,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.3,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.4,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.5,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.6,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.7,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.8,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.9,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +38,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +38.1,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.2,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.3,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.4,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.5,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.6,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.7,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.8,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.9,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +39,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.1,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.2,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.3,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.4,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.5,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.6,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.7,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.8,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.9,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40.1,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40.2,0.002,0.000,0.998,12.795,29.998,0.000,0.002 +40.3,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.4,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.5,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.6,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.7,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.8,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.9,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.1,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.2,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.3,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.4,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.5,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.6,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.7,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.8,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.9,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +42,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +42.1,0.002,0.000,0.998,12.795,29.999,0.000,0.001 +42.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46.2,0.002,0.000,0.998,12.795,30.000,0.000,0.000 +46.3,0.002,0.000,0.998,12.795,30.000,0.000,0.000 +46.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +100,0.002,0.000,0.998,12.795,30.001,0.000,0.000 diff --git a/Master/texmf/doc/asymptote/examples/shade.asy b/Master/texmf/doc/asymptote/examples/shade.asy new file mode 100644 index 00000000000..66b8880fd4b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/shade.asy @@ -0,0 +1,4 @@ + +size(100,0); +radialshade(unitsquare,yellow,(0,0),0,red,(0,0),1); + diff --git a/Master/texmf/doc/asymptote/examples/shadedtiling.asy b/Master/texmf/doc/asymptote/examples/shadedtiling.asy new file mode 100644 index 00000000000..4d3b8ae894b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/shadedtiling.asy @@ -0,0 +1,12 @@ +size(0,100); +import patterns; + +real d=4mm; +picture tiling; +path square=scale(d)*unitsquare; +axialshade(tiling,square,white,(0,0),black,(d,d)); +fill(tiling,shift(d,d)*square,blue); +add("shadedtiling",tiling); + +filldraw(unitcircle,pattern("shadedtiling")); + diff --git a/Master/texmf/doc/asymptote/examples/shadestroke.asy b/Master/texmf/doc/asymptote/examples/shadestroke.asy new file mode 100644 index 00000000000..44f0b6e8a3f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/shadestroke.asy @@ -0,0 +1,5 @@ +size(100); + +radialshade(W..N..E--(0,0),stroke=true, + red+linewidth(30),(0,0),0.25,yellow,(0,0),1); + diff --git a/Master/texmf/doc/asymptote/examples/shellmethod.asy b/Master/texmf/doc/asymptote/examples/shellmethod.asy new file mode 100644 index 00000000000..c1c0155ae3a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/shellmethod.asy @@ -0,0 +1,39 @@ +import graph3; +import solids; + +size(400); +currentprojection=perspective(0,-1,30,up=Y); +currentlight=light(gray(0.75),(0.25,-0.25,1),(0,1,0)); + +pen color=green; +real alpha=240; + +real f(real x) {return 2x^2-x^3;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +int n=10; +path3[] blocks=new path3[n]; +for(int i=1; i <= n; ++i) { + real height=f((i-0.5)*2/n); + real left=(i-1)*2/n; + real right=i*2/n; + blocks[i-1]= + (left,0,0)--(left,height,0)--(right,height,0)--(right,0,0)--cycle; +} + +path p=graph(F,0,2,n,operator ..)--cycle; +surface s=surface(p); +path3 p3=path3(p); + +revolution a=revolution(p3,Y,0,alpha); +draw(surface(a),color); +draw(rotate(alpha,Y)*s,color); +for(int i=0; i < n; ++i) + draw(surface(blocks[i]),color+opacity(0.5),black); +draw(p3); + +xaxis3(Label("$x$",1,align=2X),Arrow3); +yaxis3(Label("$y$",1,align=2Y),ymax=1.4,dashed,Arrow3); +arrow("$y=2x^2-x^3$",XYplane(F(1.8)),X+Z,1.5cm,red,Arrow3(DefaultHead2)); +draw(arc(1.17Y,0.3,90,0,7.5,180),ArcArrow3); diff --git a/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy new file mode 100644 index 00000000000..c4edec122c8 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy @@ -0,0 +1,34 @@ +import graph3; +import solids; +size(0,150); +currentprojection=orthographic(1,0,10,up=Y); +pen color=green; +real alpha=-240; + +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=30,operator ..)--(1,0)--cycle; +path3 p3=path3(p); + +revolution a=revolution(p3,X,alpha,0); +draw(surface(a),color); +draw(p3,blue); + +surface s=surface(p); +draw(s,color); +draw(rotate(alpha,X)*s,color); + +xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); + +dot("$(1,1)$",(1,1,0)); +arrow("$y=\sqrt{x}$",F3(0.8),Y,0.75cm,red); + +real r=0.4; +draw(F3(r)--(1,f(r),0),red); +real x=(1+r)/2; + +draw("$r$",(x,0,0)--(x,f(r),0),X+0.2Z,red,Arrow3,PenMargin3); +draw(arc(1.1X,0.4,90,90,3,-90),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/sin1x.asy b/Master/texmf/doc/asymptote/examples/sin1x.asy new file mode 100644 index 00000000000..637943691f1 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sin1x.asy @@ -0,0 +1,16 @@ +import graph; +size(200,0); + +real f(real x) {return (x != 0) ? sin(1/x) : 0;} +real T(real x) {return 2/(x*pi);} + +real a=-4/pi, b=4/pi; +int n=150,m=5; + +xaxis("$x$",red); +yaxis(red); + +draw(graph(f,a,-T(m),n)--graph(f,-m,-(m+n),n,T)--(0,f(0))--graph(f,m+n,m,n,T)-- + graph(f,T(m),b,n)); + +label("$\sin\frac{1}{x}$",(b,f(b)),SW); diff --git a/Master/texmf/doc/asymptote/examples/sinc.asy b/Master/texmf/doc/asymptote/examples/sinc.asy new file mode 100644 index 00000000000..cd0d377e633 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sinc.asy @@ -0,0 +1,19 @@ +import graph3; +import contour; + +currentprojection=orthographic(1,-2,1); +currentlight=(1,-1,0.5); + +size(12cm,0); + +real sinc(pair z) { + real r=2pi*abs(z); + return r != 0 ? sin(r)/r : 1; +} + +draw(lift(sinc,contour(sinc,(-2,-2),(2,2),new real[] {0})),red); +draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray+opacity(0.5)); + +xaxis3("$x$",Bounds,InTicks); +yaxis3("$y$",Bounds,InTicks(beginlabel=false)); +zaxis3("$z$",Bounds,InTicks); diff --git a/Master/texmf/doc/asymptote/examples/sinxlex.asy b/Master/texmf/doc/asymptote/examples/sinxlex.asy new file mode 100644 index 00000000000..912fa3c889b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sinxlex.asy @@ -0,0 +1,24 @@ +import geometry; + +size(0,100); +real theta=30; + +pair A=(0,0); +pair B=dir(theta); +pair C=(1,0); +pair D=(1,Tan(theta)); +pair E=(Cos(theta),0); + +filldraw(A--C{N}..B--cycle,lightgrey); +draw(B--C--D--cycle); +draw(B--E); + +draw("$x$",arc(C,A,B,0.7),RightSide,Arrow,PenMargin); + +dot("$A$",A,W); +dot("$B$",B,NW); +dot("$C$",C); +dot("$D$",D); +dot(("$E$"),E,S); +label("$1$",A--B,LeftSide); + diff --git a/Master/texmf/doc/asymptote/examples/slidedemo.asy b/Master/texmf/doc/asymptote/examples/slidedemo.asy new file mode 100644 index 00000000000..cd1f05b4124 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/slidedemo.asy @@ -0,0 +1,118 @@ +// Slide demo. +// Command-line options to enable stepping and/or reverse video: +// asy [-u stepping=true] [-u reverse=true] slidedemo + +orientation=Landscape; + +import slide; +import three; + +viewportsize=pagewidth-2pagemargin; + +usersetting(); + +// Commands to generate optional bibtex citations: +// asy slidedemo +// bibtex slidedemo_ +// asy slidedemo +// +bibliographystyle("alpha"); + +// Generated needed files if they don't already exist. +asy(nativeformat(),"Pythagoras","log","PythagoreanTree"); + +// Optional background color or header: +// import x11colors; +// fill(background,box((-1,-1),(1,1)),Azure); +// label(background,"Header",(0,startposition.y)); + +titlepage(title="Slides with {\tt Asymptote}: A Demo", + author="John C. Bowman", + institution="University of Alberta", + date="\today", + url="http://asymptote.sf.net"); + +outline("Basic Commands"); +item("item"); +subitem("subitem"); +remark("remark"); +item("draw \cite{Hobby86,Knuth86b}"); +item("figure"); +item("embedded and external animations: see {\tt slidemovie.asy}"); + +title("Items"); +item("First item."); +subitem("First subitem."); +subitem("Second subitem."); +item("Second item."); +equation("a^2+b^2=c^2."); +equations("\frac{\sin^2\theta+\cos^2\theta}{\cos^2\theta} +&=&\frac{1}{\cos^2\theta}\nonumber\\ +&=&\sec^2\theta."); +remark("A remark."); +item("To enable pausing between bullets:"); +remark("{\tt asy -u stepping=true}"); +item("To enable reverse video:"); +remark("{\tt asy -u reverse=true}"); + +title("Can draw on a slide, preserving the aspect ratio:"); +picture pic,pic2; +draw(pic,unitcircle); +add(pic.fit(15cm)); +step(); +fill(pic2,unitcircle,paleblue); +label(pic2,"$\pi$",(0,0),fontsize(500)); +add(pic2.fit(15cm)); + +newslide(); +item("The slide \Red{title} \Green{can} \Blue{be} omitted."); +figure("Pythagoras","height=12cm", + "A simple proof of Pythagoras' Theorem."); + +newslide(); +item("Single skip:"); +skip(); +item("Double skip:"); +skip(2); +figure(new string[] {"log."+nativeformat(),"PythagoreanTree."+nativeformat()}, + "width=10cm",new string[] {"{\tt log.asy}","{\tt PythagoreanTree.asy}"}, + "Examples of {\tt Asymptote} output."); + +title("Embedded Interactive 3D Graphics"); +picture pic; +import graph3; +import solids; +viewportmargin=(0,1cm); +currentprojection=orthographic(1,0,10,up=Y); +pen color=green; +real alpha=-240; +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} +path p=graph(pic,F,0,1,n=30,operator ..)--(1,0)--cycle; +path3 p3=path3(p); +revolution a=revolution(p3,X,alpha,0); +draw(pic,surface(a),color); +draw(pic,p3,blue); +surface s=surface(p); +draw(pic,s,color); +draw(pic,rotate(alpha,X)*s,color); +xaxis3(pic,Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(pic,Label("$y$",1),Arrow3); +dot(pic,"$(1,1)$",(1,1,0)); +arrow(pic,"$y=\sqrt{x}$",F3(0.8),Y,0.75cm,red); +real r=0.4; +draw(pic,F3(r)--(1,f(r),0),red); +real x=(1+r)/2; +draw(pic,"$r$",(x,0,0)--(x,f(r),0),X+0.2Z,red,Arrow3); +draw(pic,arc(1.1X,0.4,90,90,3,-90),Arrow3); +add(pic.fit(8.5cm)); + +viewportsize=viewportmargin=0; +title("\mbox{Asymptote: 2D \& 3D Vector Graphics Language}"); +asyinclude("logo3"); +skip(); +center("\tt http://asymptote.sf.net"); +center("(freely available under the GNU public license)"); + +bibliography("refs"); diff --git a/Master/texmf/doc/asymptote/examples/slidemovies.asy b/Master/texmf/doc/asymptote/examples/slidemovies.asy new file mode 100644 index 00000000000..ec724cf3326 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/slidemovies.asy @@ -0,0 +1,46 @@ +// Slide demo. +// Command-line options to enable stepping and/or reverse video: +// asy [-u stepping=true] [-u reverse=true] slidedemo + +orientation=Landscape; + +settings.tex="pdflatex"; + +import slide; + +// Optional movie modules: +import animate; // For portable embedded PDF movies +import external; // For portable external movies +import embed; // For non-portable embedded movies + +usersetting(); + +titlepage("Slides with {\tt Asymptote}: Animations","John C. Bowman", + "University of Alberta","\today","http://asymptote.sf.net"); + +title("Embedded PDF movies (portable)"); +animation a=animation("A"); +animation b=animation("B"); +int n=20; +for(int i=0; i < 2n; ++i) { + picture pic; + size(pic,100); + draw(pic,shift(0,sin(pi/n*i))*unitsquare); + a.add(pic); + if(i < 1.5n) b.add(rotate(45)*pic); +} +display(a.pdf("autoplay,loop,controls")); +display(b.pdf("controls")); + +title("External Movie (portable)"); +display(external.embed("animations/wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg",20cm,5.6cm)); +display(external.link("animations/wheel.mpg","Play","play")); + +title("Embedded Movie (not portable)"); +// Generated needed files if they don't already exist. +asy("mpg","animations/wheel"); +display(embed.embed("animations/wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg", + 20cm,5.6cm)); +display(embed.link("animations/wheel.mpg","Play","play")); diff --git a/Master/texmf/doc/asymptote/examples/slopefield1.asy b/Master/texmf/doc/asymptote/examples/slopefield1.asy new file mode 100644 index 00000000000..fd60de4f632 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/slopefield1.asy @@ -0,0 +1,9 @@ +import slopefield; + +size(200); + +real func(real x) {return 2x;} +add(slopefield(func,(-3,-3),(3,3),20,Arrow)); +draw(curve((0,0),func,(-3,-3),(3,3)),red); + + diff --git a/Master/texmf/doc/asymptote/examples/smoothelevation.asy b/Master/texmf/doc/asymptote/examples/smoothelevation.asy new file mode 100644 index 00000000000..29ee84ba688 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/smoothelevation.asy @@ -0,0 +1,24 @@ +import graph3; +import grid3; +import palette; + +if(settings.render <= 0) settings.prc=false; + +currentprojection=orthographic(1,2,13); + +size(400,300,IgnoreAspect); + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),20,Spline); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s); + +scale(true); + +xaxis3(Label("$x$",0.5),Bounds,InTicks); +yaxis3(Label("$y$",0.5),Bounds,InTicks); +zaxis3(Label("$z$",0.5),Bounds,InTicks(beginlabel=false)); + +grid3(XYZgrid); diff --git a/Master/texmf/doc/asymptote/examples/sphere.asy b/Master/texmf/doc/asymptote/examples/sphere.asy new file mode 100644 index 00000000000..8c5a444d01a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sphere.asy @@ -0,0 +1,6 @@ +import three; + +size(200); +currentprojection=orthographic(5,4,3); + +draw(unitsphere,green); diff --git a/Master/texmf/doc/asymptote/examples/spheresilhouette.asy b/Master/texmf/doc/asymptote/examples/spheresilhouette.asy new file mode 100644 index 00000000000..795efb00660 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spheresilhouette.asy @@ -0,0 +1,9 @@ +import solids; +settings.render=0; +settings.prc=false; + +size(200); + +revolution r=sphere(O,1); +draw(r,1,longitudinalpen=nullpen); +draw(r.silhouette()); diff --git a/Master/texmf/doc/asymptote/examples/sphereskeleton.asy b/Master/texmf/doc/asymptote/examples/sphereskeleton.asy new file mode 100644 index 00000000000..ca8b8c3d584 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sphereskeleton.asy @@ -0,0 +1,9 @@ +size(100); +import solids; + +currentprojection=orthographic(5,4,2); + +revolution sphere=sphere(1); +draw(surface(sphere),green+opacity(0.2)); +draw(sphere,m=7,blue); + diff --git a/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy new file mode 100644 index 00000000000..471bcaae9cd --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy @@ -0,0 +1,12 @@ +import graph3; +import palette; +size(200); + +currentprojection=orthographic(4,2,4); + +real r(real theta, real phi) {return 1+0.5*(sin(2*theta)*sin(2*phi))^2;} + +triple f(pair z) {return r(z.x,z.y)*expi(z.x,z.y);} + +surface s=surface(f,(0,0),(pi,2pi),50); +draw(s,mean(palette(s.map(abs),Gradient(yellow,red))),nolight); diff --git a/Master/texmf/doc/asymptote/examples/spiral.asy b/Master/texmf/doc/asymptote/examples/spiral.asy new file mode 100644 index 00000000000..a417ea06a7f --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spiral.asy @@ -0,0 +1,12 @@ +size(0,150); +import graph; + +real f(real t) {return exp(-t/(2pi));} + +draw(polargraph(f,0,20*pi,operator ..)); + +xaxis("$x$",-infinity,1.3); +yaxis("$y$",-infinity,1); + +labelx(1); +labelx("$e^{-1}$",1.0/exp(1),SE); diff --git a/Master/texmf/doc/asymptote/examples/spline.asy b/Master/texmf/doc/asymptote/examples/spline.asy new file mode 100644 index 00000000000..9d79ef3a962 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spline.asy @@ -0,0 +1,25 @@ +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); + +draw(graph(L,a,b),dashed+black+p,"Lagrange interpolation"); +draw(graph(xpt,ypt,Hermite(natural)),red+p,"natural spline"); +draw(graph(xpt,ypt,Hermite(monotonic)),blue+p,"monotone spline"); +xaxis("$x$",BottomTop,LeftTicks(Step=1,step=0.25)); +yaxis("$y$",LeftRight,RightTicks(Step=5)); + +dot(pairs(xpt,ypt),4bp+gray(0.3)); + +attach(legend(),point(10S),30S); diff --git a/Master/texmf/doc/asymptote/examples/spring.asy b/Master/texmf/doc/asymptote/examples/spring.asy new file mode 100644 index 00000000000..cbfb256eee4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spring.asy @@ -0,0 +1,33 @@ +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; + for(int i=0; i <= n; ++i) { + real t=a+width*i; + g=g..coilpoint(lambda,r,t); + } + return g; +} + +void drawspring(real x, string label) { + real r=8; + 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)); + dot(d); + + pair h=20*I; + draw(label,a-h--d-h,red,Arrow,Bars,PenMargin); +} diff --git a/Master/texmf/doc/asymptote/examples/spring0.asy b/Master/texmf/doc/asymptote/examples/spring0.asy new file mode 100644 index 00000000000..fd6cdf82938 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spring0.asy @@ -0,0 +1,4 @@ +import spring; + +drawspring(0,"$L$"); + diff --git a/Master/texmf/doc/asymptote/examples/spring2.asy b/Master/texmf/doc/asymptote/examples/spring2.asy new file mode 100644 index 00000000000..e3eec5f39f5 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/spring2.asy @@ -0,0 +1,4 @@ +import spring; + +drawspring(40.0,"$L+x$"); + diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01.asy b/Master/texmf/doc/asymptote/examples/sqrtx01.asy new file mode 100644 index 00000000000..2ca9ac697d6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sqrtx01.asy @@ -0,0 +1,25 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(1.5,0,10,Y); +pen color=green+opacity(0.75); + +real f(real x){return sqrt(x);} +pair F(real x){return (x,f(x));} +triple F3(real x){return (x,f(x),0);} + +path p=graph(F,0,1,n=20,operator ..); +path3 p3=path3(p); + +revolution a=revolution(p3,X,0,360); +draw(surface(a),color); +draw(p3,blue); + +real x=relpoint(p,0.5).x; + +xaxis3(Label("$x$",1),xmax=1.5,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); +dot(Label("$(1,1)$"),(1,1,0)); +arrow(Label("$y=\sqrt{x}$"),F3(0.7),Y,0.75cm,red); +draw(arc(1.2X,0.4,90,90,175,-40,CW),Arrow3); +draw("$r$",(x,0,0)--F3(x),red,Arrow3,PenMargin3); diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy new file mode 100644 index 00000000000..c944f43d268 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy @@ -0,0 +1,24 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,1,10,up=Y); + +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=25,operator ..); +path3 p3=path3(p); + +revolution a=revolution(p3,Y,0,360); +draw(surface(a),green); +draw(p3,blue); + +xtick((0,0,0)); +xtick((1,0,0)); + +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),ymax=1.5,dashed,Arrow3); +dot(Label("$(1,1)$"),(1,1,0)); +arrow("$y=\sqrt{x}$",F3(0.5),X,0.75cm,red); +draw(arc(1.2Y,0.3,90,0,7.5,140),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/square.asy b/Master/texmf/doc/asymptote/examples/square.asy new file mode 100644 index 00000000000..f3f34a4c628 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/square.asy @@ -0,0 +1 @@ +draw((0,0)--(100,0)--(100,100)--(0,100)--cycle); diff --git a/Master/texmf/doc/asymptote/examples/star.asy b/Master/texmf/doc/asymptote/examples/star.asy new file mode 100644 index 00000000000..3a7afb2529b --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/star.asy @@ -0,0 +1,13 @@ +size(100); +import math; + +int n=5; +path p; + +int i=0; +do { + p=p--unityroot(n,i); + i=(i+2) % n; +} while(i != 0); + +filldraw(p--cycle,red+evenodd); diff --git a/Master/texmf/doc/asymptote/examples/stroke3.asy b/Master/texmf/doc/asymptote/examples/stroke3.asy new file mode 100644 index 00000000000..6b386c3a0c9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/stroke3.asy @@ -0,0 +1,2 @@ +import three; +draw(O--X,red,currentlight); diff --git a/Master/texmf/doc/asymptote/examples/strokepath.asy b/Master/texmf/doc/asymptote/examples/strokepath.asy new file mode 100644 index 00000000000..ee18b1c9bfe --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/strokepath.asy @@ -0,0 +1,17 @@ +path g=scale(100)*unitcircle; +pen p=linewidth(1cm); + +frame f; +// Equivalent to draw(f,g,p): +fill(f,strokepath(g,p),red); +shipout("strokepathframe",f); +shipped=false; + +size(400); + +// Equivalent to draw(g,p): +currentpicture.add(new void(frame f, transform t) { + fill(f,strokepath(t*g,p),red); + }); +currentpicture.addPath(g,p); + diff --git a/Master/texmf/doc/asymptote/examples/strokeshade.asy b/Master/texmf/doc/asymptote/examples/strokeshade.asy new file mode 100644 index 00000000000..f9413091d1c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/strokeshade.asy @@ -0,0 +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}}); diff --git a/Master/texmf/doc/asymptote/examples/subpictures.asy b/Master/texmf/doc/asymptote/examples/subpictures.asy new file mode 100644 index 00000000000..1ace23f5678 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/subpictures.asy @@ -0,0 +1,20 @@ +picture pic1; +real size=50; +size(pic1,size); +fill(pic1,(0,0)--(50,100)--(100,0)--cycle,red); + +picture pic2; +size(pic2,size); +fill(pic2,unitcircle,green); + +picture pic3; +size(pic3,size); +fill(pic3,unitsquare,blue); + +picture pic; +add(pic,pic1.fit(),(0,0),N); +add(pic,pic2.fit(),(0,0),10S); + +add(pic.fit(),(0,0),N); +add(pic3.fit(),(0,0),10S); + diff --git a/Master/texmf/doc/asymptote/examples/superpath.asy b/Master/texmf/doc/asymptote/examples/superpath.asy new file mode 100644 index 00000000000..ec2787a9ce0 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/superpath.asy @@ -0,0 +1,5 @@ +size(0,100); +path unitcircle=E..N..W..S..cycle; +path g=scale(2)*unitcircle; +filldraw(unitcircle^^g,evenodd+yellow,black); + diff --git a/Master/texmf/doc/asymptote/examples/tanh.asy b/Master/texmf/doc/asymptote/examples/tanh.asy new file mode 100644 index 00000000000..21d4decb1a6 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/tanh.asy @@ -0,0 +1,13 @@ +import graph; +size(100,0); + +real f(real x) {return tanh(x);} +pair F(real x) {return (x,f(x));} + +xaxis("$x$"); +yaxis("$y$"); + +draw(graph(f,-2.5,2.5,operator ..)); + +label("$\tanh x$",F(1.5),1.25*N); + diff --git a/Master/texmf/doc/asymptote/examples/teapot.asy b/Master/texmf/doc/asymptote/examples/teapot.asy new file mode 100644 index 00000000000..e0ef51eb552 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/teapot.asy @@ -0,0 +1,202 @@ +import three; + +size(20cm); + +currentprojection=perspective(250,-250,250); + +triple[][][] Q={ + { + {(39.68504,0.0,68.03150),(39.68504,-22.22362,68.03150),(22.22362,-39.68504,68.03150),(0.0,-39.68504,68.03150)}, + {(37.91339,0.0,71.75197),(37.91339,-21.23150,71.75197),(21.23150,-37.91339,71.75197),(0.0,-37.91339,71.75197)}, + {(40.74803,0.0,71.75197),(40.74803,-22.81890,71.75197),(22.81890,-40.74803,71.75197),(0.0,-40.74803,71.75197)}, + {(42.51969,0.0,68.03150),(42.51969,-23.81102,68.03150),(23.81102,-42.51969,68.03150),(0.0,-42.51969,68.03150)}, + }, + { + {(0.0,-39.68504,68.03150),(-22.22362,-39.68504,68.03150),(-39.68504,-22.22362,68.03150),(-39.68504,0.0,68.03150)}, + {(0.0,-37.91339,71.75197),(-21.23150,-37.91339,71.75197),(-37.91339,-21.23150,71.75197),(-37.91339,0.0,71.75197)}, + {(0.0,-40.74803,71.75197),(-22.81890,-40.74803,71.75197),(-40.74803,-22.81890,71.75197),(-40.74803,0.0,71.75197)}, + {(0.0,-42.51969,68.03150),(-23.81102,-42.51969,68.03150),(-42.51969,-23.81102,68.03150),(-42.51969,0.0,68.03150)}, + }, + { + {(-39.68504,0.0,68.03150),(-39.68504,22.22362,68.03150),(-22.22362,39.68504,68.03150),(0.0,39.68504,68.03150)}, + {(-37.91339,0.0,71.75197),(-37.91339,21.23150,71.75197),(-21.23150,37.91339,71.75197),(0.0,37.91339,71.75197)}, + {(-40.74803,0.0,71.75197),(-40.74803,22.81890,71.75197),(-22.81890,40.74803,71.75197),(0.0,40.74803,71.75197)}, + {(-42.51969,0.0,68.03150),(-42.51969,23.81102,68.03150),(-23.81102,42.51969,68.03150),(0.0,42.51969,68.03150)}, + }, + { + {(0.0,39.68504,68.03150),(22.22362,39.68504,68.03150),(39.68504,22.22362,68.03150),(39.68504,0.0,68.03150)}, + {(0.0,37.91339,71.75197),(21.23150,37.91339,71.75197),(37.91339,21.23150,71.75197),(37.91339,0.0,71.75197)}, + {(0.0,40.74803,71.75197),(22.81890,40.74803,71.75197),(40.74803,22.81890,71.75197),(40.74803,0.0,71.75197)}, + {(0.0,42.51969,68.03150),(23.81102,42.51969,68.03150),(42.51969,23.81102,68.03150),(42.51969,0.0,68.03150)}, + }, + { + {(42.51969,0.0,68.03150),(42.51969,-23.81102,68.03150),(23.81102,-42.51969,68.03150),(0.0,-42.51969,68.03150)}, + {(49.60629,0.0,53.14960),(49.60629,-27.77952,53.14960),(27.77952,-49.60629,53.14960),(0.0,-49.60629,53.14960)}, + {(56.69291,0.0,38.26771),(56.69291,-31.74803,38.26771),(31.74803,-56.69291,38.26771),(0.0,-56.69291,38.26771)}, + {(56.69291,0.0,25.51181),(56.69291,-31.74803,25.51181),(31.74803,-56.69291,25.51181),(0.0,-56.69291,25.51181)}, + }, + { + {(0.0,-42.51969,68.03150),(-23.81102,-42.51969,68.03150),(-42.51969,-23.81102,68.03150),(-42.51969,0.0,68.03150)}, + {(0.0,-49.60629,53.14960),(-27.77952,-49.60629,53.14960),(-49.60629,-27.77952,53.14960),(-49.60629,0.0,53.14960)}, + {(0.0,-56.69291,38.26771),(-31.74803,-56.69291,38.26771),(-56.69291,-31.74803,38.26771),(-56.69291,0.0,38.26771)}, + {(0.0,-56.69291,25.51181),(-31.74803,-56.69291,25.51181),(-56.69291,-31.74803,25.51181),(-56.69291,0.0,25.51181)}, + }, + { + {(-42.51969,0.0,68.03150),(-42.51969,23.81102,68.03150),(-23.81102,42.51969,68.03150),(0.0,42.51969,68.03150)}, + {(-49.60629,0.0,53.14960),(-49.60629,27.77952,53.14960),(-27.77952,49.60629,53.14960),(0.0,49.60629,53.14960)}, + {(-56.69291,0.0,38.26771),(-56.69291,31.74803,38.26771),(-31.74803,56.69291,38.26771),(0.0,56.69291,38.26771)}, + {(-56.69291,0.0,25.51181),(-56.69291,31.74803,25.51181),(-31.74803,56.69291,25.51181),(0.0,56.69291,25.51181)}, + }, + { + {(0.0,42.51969,68.03150),(23.81102,42.51969,68.03150),(42.51969,23.81102,68.03150),(42.51969,0.0,68.03150)}, + {(0.0,49.60629,53.14960),(27.77952,49.60629,53.14960),(49.60629,27.77952,53.14960),(49.60629,0.0,53.14960)}, + {(0.0,56.69291,38.26771),(31.74803,56.69291,38.26771),(56.69291,31.74803,38.26771),(56.69291,0.0,38.26771)}, + {(0.0,56.69291,25.51181),(31.74803,56.69291,25.51181),(56.69291,31.74803,25.51181),(56.69291,0.0,25.51181)}, + }, + { + {(56.69291,0.0,25.51181),(56.69291,-31.74803,25.51181),(31.74803,-56.69291,25.51181),(0.0,-56.69291,25.51181)}, + {(56.69291,0.0,12.75590),(56.69291,-31.74803,12.75590),(31.74803,-56.69291,12.75590),(0.0,-56.69291,12.75590)}, + {(42.51969,0.0,6.377957),(42.51969,-23.81102,6.377957),(23.81102,-42.51969,6.377957),(0.0,-42.51969,6.377957)}, + {(42.51969,0.0,4.251961),(42.51969,-23.81102,4.251961),(23.81102,-42.51969,4.251961),(0.0,-42.51969,4.251961)}, + }, + { + {(0.0,-56.69291,25.51181),(-31.74803,-56.69291,25.51181),(-56.69291,-31.74803,25.51181),(-56.69291,0.0,25.51181)}, + {(0.0,-56.69291,12.75590),(-31.74803,-56.69291,12.75590),(-56.69291,-31.74803,12.75590),(-56.69291,0.0,12.75590)}, + {(0.0,-42.51969,6.377957),(-23.81102,-42.51969,6.377957),(-42.51969,-23.81102,6.377957),(-42.51969,0.0,6.377957)}, + {(0.0,-42.51969,4.251961),(-23.81102,-42.51969,4.251961),(-42.51969,-23.81102,4.251961),(-42.51969,0.0,4.251961)}, + }, + { + {(-56.69291,0.0,25.51181),(-56.69291,31.74803,25.51181),(-31.74803,56.69291,25.51181),(0.0,56.69291,25.51181)}, + {(-56.69291,0.0,12.75590),(-56.69291,31.74803,12.75590),(-31.74803,56.69291,12.75590),(0.0,56.69291,12.75590)}, + {(-42.51969,0.0,6.377957),(-42.51969,23.81102,6.377957),(-23.81102,42.51969,6.377957),(0.0,42.51969,6.377957)}, + {(-42.51969,0.0,4.251961),(-42.51969,23.81102,4.251961),(-23.81102,42.51969,4.251961),(0.0,42.51969,4.251961)}, + }, + { + {(0.0,56.69291,25.51181),(31.74803,56.69291,25.51181),(56.69291,31.74803,25.51181),(56.69291,0.0,25.51181)}, + {(0.0,56.69291,12.75590),(31.74803,56.69291,12.75590),(56.69291,31.74803,12.75590),(56.69291,0.0,12.75590)}, + {(0.0,42.51969,6.377957),(23.81102,42.51969,6.377957),(42.51969,23.81102,6.377957),(42.51969,0.0,6.377957)}, + {(0.0,42.51969,4.251961),(23.81102,42.51969,4.251961),(42.51969,23.81102,4.251961),(42.51969,0.0,4.251961)}, + }, + { + {(-45.35433,0.0,57.40157),(-45.35433,-8.503932,57.40157),(-42.51969,-8.503932,63.77952),(-42.51969,0.0,63.77952)}, + {(-65.19685,0.0,57.40157),(-65.19685,-8.503932,57.40157),(-70.86614,-8.503932,63.77952),(-70.86614,0.0,63.77952)}, + {(-76.53543,0.0,57.40157),(-76.53543,-8.503932,57.40157),(-85.03937,-8.503932,63.77952),(-85.03937,0.0,63.77952)}, + {(-76.53543,0.0,51.02362),(-76.53543,-8.503932,51.02362),(-85.03937,-8.503932,51.02362),(-85.03937,0.0,51.02362)}, + }, + { + {(-42.51969,0.0,63.77952),(-42.51969,8.503932,63.77952),(-45.35433,8.503932,57.40157),(-45.35433,0.0,57.40157)}, + {(-70.86614,0.0,63.77952),(-70.86614,8.503932,63.77952),(-65.19685,8.503932,57.40157),(-65.19685,0.0,57.40157)}, + {(-85.03937,0.0,63.77952),(-85.03937,8.503932,63.77952),(-76.53543,8.503932,57.40157),(-76.53543,0.0,57.40157)}, + {(-85.03937,0.0,51.02362),(-85.03937,8.503932,51.02362),(-76.53543,8.503932,51.02362),(-76.53543,0.0,51.02362)}, + }, + { + {(-76.53543,0.0,51.02362),(-76.53543,-8.503932,51.02362),(-85.03937,-8.503932,51.02362),(-85.03937,0.0,51.02362)}, + {(-76.53543,0.0,44.64566),(-76.53543,-8.503932,44.64566),(-85.03937,-8.503932,38.26771),(-85.03937,0.0,38.26771)}, + {(-70.86614,0.0,31.88976),(-70.86614,-8.503932,31.88976),(-75.11811,-8.503932,26.57480),(-75.11811,0.0,26.57480)}, + {(-56.69291,0.0,25.51181),(-56.69291,-8.503932,25.51181),(-53.85826,-8.503932,17.00787),(-53.85826,0.0,17.00787)}, + }, + { + {(-85.03937,0.0,51.02362),(-85.03937,8.503932,51.02362),(-76.53543,8.503932,51.02362),(-76.53543,0.0,51.02362)}, + {(-85.03937,0.0,38.26771),(-85.03937,8.503932,38.26771),(-76.53543,8.503932,44.64566),(-76.53543,0.0,44.64566)}, + {(-75.11811,0.0,26.57480),(-75.11811,8.503932,26.57480),(-70.86614,8.503932,31.88976),(-70.86614,0.0,31.88976)}, + {(-53.85826,0.0,17.00787),(-53.85826,8.503932,17.00787),(-56.69291,8.503932,25.51181),(-56.69291,0.0,25.51181)}, + }, + { + {(48.18897,0.0,40.39370),(48.18897,-18.70866,40.39370),(48.18897,-18.70866,17.00787),(48.18897,0.0,17.00787)}, + {(73.70078,0.0,40.39370),(73.70078,-18.70866,40.39370),(87.87401,-18.70866,23.38582),(87.87401,0.0,23.38582)}, + {(65.19685,0.0,59.52755),(65.19685,-7.086619,59.52755),(68.03150,-7.086619,57.40157),(68.03150,0.0,57.40157)}, + {(76.53543,0.0,68.03150),(76.53543,-7.086619,68.03150),(93.54330,-7.086619,68.03150),(93.54330,0.0,68.03150)}, + }, + { + {(48.18897,0.0,17.00787),(48.18897,18.70866,17.00787),(48.18897,18.70866,40.39370),(48.18897,0.0,40.39370)}, + {(87.87401,0.0,23.38582),(87.87401,18.70866,23.38582),(73.70078,18.70866,40.39370),(73.70078,0.0,40.39370)}, + {(68.03150,0.0,57.40157),(68.03150,7.086619,57.40157),(65.19685,7.086619,59.52755),(65.19685,0.0,59.52755)}, + {(93.54330,0.0,68.03150),(93.54330,7.086619,68.03150),(76.53543,7.086619,68.03150),(76.53543,0.0,68.03150)}, + }, + { + {(76.53543,0.0,68.03150),(76.53543,-7.086619,68.03150),(93.54330,-7.086619,68.03150),(93.54330,0.0,68.03150)}, + {(79.37007,0.0,70.15748),(79.37007,-7.086619,70.15748),(99.92125,-7.086619,70.68897),(99.92125,0.0,70.68897)}, + {(82.20472,0.0,70.15748),(82.20472,-4.251961,70.15748),(97.79527,-4.251961,71.22047),(97.79527,0.0,71.22047)}, + {(79.37007,0.0,68.03150),(79.37007,-4.251961,68.03150),(90.70866,-4.251961,68.03150),(90.70866,0.0,68.03150)}, + }, + { + {(93.54330,0.0,68.03150),(93.54330,7.086619,68.03150),(76.53543,7.086619,68.03150),(76.53543,0.0,68.03150)}, + {(99.92125,0.0,70.68897),(99.92125,7.086619,70.68897),(79.37007,7.086619,70.15748),(79.37007,0.0,70.15748)}, + {(97.79527,0.0,71.22047),(97.79527,4.251961,71.22047),(82.20472,4.251961,70.15748),(82.20472,0.0,70.15748)}, + {(90.70866,0.0,68.03150),(90.70866,4.251961,68.03150),(79.37007,4.251961,68.03150),(79.37007,0.0,68.03150)}, + }, + { + {(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133)}, + {(22.67716,0.0,89.29133),(22.67716,-12.75590,89.29133),(12.75590,-22.67716,89.29133),(0.0,-22.67716,89.29133)}, + {(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740)}, + {(5.669294,0.0,76.53543),(5.669294,-3.174809,76.53543),(3.174809,-5.669294,76.53543),(0.0,-5.669294,76.53543)}, + }, + { + {(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133)}, + {(0.0,-22.67716,89.29133),(-12.75590,-22.67716,89.29133),(-22.67716,-12.75590,89.29133),(-22.67716,0.0,89.29133)}, + {(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740)}, + {(0.0,-5.669294,76.53543),(-3.174809,-5.669294,76.53543),(-5.669294,-3.174809,76.53543),(-5.669294,0.0,76.53543)}, + }, + { + {(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133)}, + {(-22.67716,0.0,89.29133),(-22.67716,12.75590,89.29133),(-12.75590,22.67716,89.29133),(0.0,22.67716,89.29133)}, + {(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740)}, + {(-5.669294,0.0,76.53543),(-5.669294,3.174809,76.53543),(-3.174809,5.669294,76.53543),(0.0,5.669294,76.53543)}, + }, + { + {(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133),(0.0,0.0,89.29133)}, + {(0.0,22.67716,89.29133),(12.75590,22.67716,89.29133),(22.67716,12.75590,89.29133),(22.67716,0.0,89.29133)}, + {(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740),(0.0,0.0,80.78740)}, + {(0.0,5.669294,76.53543),(3.174809,5.669294,76.53543),(5.669294,3.174809,76.53543),(5.669294,0.0,76.53543)}, + }, + { + {(5.669294,0.0,76.53543),(5.669294,-3.174809,76.53543),(3.174809,-5.669294,76.53543),(0.0,-5.669294,76.53543)}, + {(11.33858,0.0,72.28346),(11.33858,-6.349609,72.28346),(6.349609,-11.33858,72.28346),(0.0,-11.33858,72.28346)}, + {(36.85039,0.0,72.28346),(36.85039,-20.63622,72.28346),(20.63622,-36.85039,72.28346),(0.0,-36.85039,72.28346)}, + {(36.85039,0.0,68.03150),(36.85039,-20.63622,68.03150),(20.63622,-36.85039,68.03150),(0.0,-36.85039,68.03150)}, + }, + { + {(0.0,-5.669294,76.53543),(-3.174809,-5.669294,76.53543),(-5.669294,-3.174809,76.53543),(-5.669294,0.0,76.53543)}, + {(0.0,-11.33858,72.28346),(-6.349609,-11.33858,72.28346),(-11.33858,-6.349609,72.28346),(-11.33858,0.0,72.28346)}, + {(0.0,-36.85039,72.28346),(-20.63622,-36.85039,72.28346),(-36.85039,-20.63622,72.28346),(-36.85039,0.0,72.28346)}, + {(0.0,-36.85039,68.03150),(-20.63622,-36.85039,68.03150),(-36.85039,-20.63622,68.03150),(-36.85039,0.0,68.03150)}, + }, + { + {(-5.669294,0.0,76.53543),(-5.669294,3.174809,76.53543),(-3.174809,5.669294,76.53543),(0.0,5.669294,76.53543)}, + {(-11.33858,0.0,72.28346),(-11.33858,6.349609,72.28346),(-6.349609,11.33858,72.28346),(0.0,11.33858,72.28346)}, + {(-36.85039,0.0,72.28346),(-36.85039,20.63622,72.28346),(-20.63622,36.85039,72.28346),(0.0,36.85039,72.28346)}, + {(-36.85039,0.0,68.03150),(-36.85039,20.63622,68.03150),(-20.63622,36.85039,68.03150),(0.0,36.85039,68.03150)}, + }, + { + {(0.0,5.669294,76.53543),(3.174809,5.669294,76.53543),(5.669294,3.174809,76.53543),(5.669294,0.0,76.53543)}, + {(0.0,11.33858,72.28346),(6.349609,11.33858,72.28346),(11.33858,6.349609,72.28346),(11.33858,0.0,72.28346)}, + {(0.0,36.85039,72.28346),(20.63622,36.85039,72.28346),(36.85039,20.63622,72.28346),(36.85039,0.0,72.28346)}, + {(0.0,36.85039,68.03150),(20.63622,36.85039,68.03150),(36.85039,20.63622,68.03150),(36.85039,0.0,68.03150)}, + }, + { + {(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0)}, + {(40.39370,0.0,0.0),(40.39370,22.62047,0.0),(22.62047,40.39370,0.0),(0.0,40.39370,0.0)}, + {(42.51969,0.0,2.12598),(42.51969,23.81102,2.12598),(23.81102,42.51969,2.12598),(0.0,42.51969,2.12598)}, + {(42.51969,0.0,4.251961),(42.51969,23.81102,4.251961),(23.81102,42.51969,4.251961),(0.0,42.51969,4.251961)}, + }, + { + {(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0)}, + {(0.0,40.39370,0.0),(-22.62047,40.39370,0.0),(-40.39370,22.62047,0.0),(-40.39370,0.0,0.0)}, + {(0.0,42.51969,2.12598),(-23.81102,42.51969,2.12598),(-42.51969,23.81102,2.12598),(-42.51969,0.0,2.12598)}, + {(0.0,42.51969,4.251961),(-23.81102,42.51969,4.251961),(-42.51969,23.81102,4.251961),(-42.51969,0.0,4.251961)}, + }, + { + {(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0)}, + {(-40.39370,0.0,0.0),(-40.39370,-22.62047,0.0),(-22.62047,-40.39370,0.0),(0.0,-40.39370,0.0)}, + {(-42.51969,0.0,2.12598),(-42.51969,-23.81102,2.12598),(-23.81102,-42.51969,2.12598),(0.0,-42.51969,2.12598)}, + {(-42.51969,0.0,4.251961),(-42.51969,-23.81102,4.251961),(-23.81102,-42.51969,4.251961),(0.0,-42.51969,4.251961)}, + }, + { + {(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0),(0.0,0.0,0.0)}, + {(0.0,-40.39370,0.0),(22.62047,-40.39370,0.0),(40.39370,-22.62047,0.0),(40.39370,0.0,0.0)}, + {(0.0,-42.51969,2.12598),(23.81102,-42.51969,2.12598),(42.51969,-23.81102,2.12598),(42.51969,0.0,2.12598)}, + {(0.0,-42.51969,4.251961),(23.81102,-42.51969,4.251961),(42.51969,-23.81102,4.251961),(42.51969,0.0,4.251961)}, + } +}; + +draw(surface(Q),blue); diff --git a/Master/texmf/doc/asymptote/examples/tensor.asy b/Master/texmf/doc/asymptote/examples/tensor.asy new file mode 100644 index 00000000000..3791b032b92 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/tensor.asy @@ -0,0 +1,8 @@ +size(200); + +pen[][] p={{red,green,blue,cyan},{green,blue,rgb(black),magenta}}; +path G=(0,0){dir(-120)}..(1,0)..(1,1)..(0,1)..cycle; +path[] g={G,subpath(G,1,2)..(2,1)..(2,0)..cycle}; +pair[][] z={{(0.5,0.5),(0.5,0.5),(0.5,0.5),(0.5,0.5)},{(2,0.5),(2,0.5),(1.5,0.5),(2,0.5)}}; +tensorshade(g,p,z); +dot(g); diff --git a/Master/texmf/doc/asymptote/examples/textpath.asy b/Master/texmf/doc/asymptote/examples/textpath.asy new file mode 100644 index 00000000000..1fc105364be --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/textpath.asy @@ -0,0 +1,10 @@ +size(300); + +fill(texpath(Label("test",TimesRoman())),pink); +fill(texpath(Label("test",fontcommand('.fam T\n.ps 12')),tex=false),red); + +pair z=10S; + +fill(texpath(Label("$ \sqrt{x^2} $",z,TimesRoman())),pink); +fill(texpath(Label("$ sqrt {x sup 2} $",z,fontcommand('.fam T\n.ps 12')), + tex=false),red); diff --git a/Master/texmf/doc/asymptote/examples/thermodynamics.asy b/Master/texmf/doc/asymptote/examples/thermodynamics.asy new file mode 100644 index 00000000000..cfcc3d0e98e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/thermodynamics.asy @@ -0,0 +1,131 @@ +// example file for roundedpath() in roundedpath.asy +// written by stefan knorr + + +// import needed packages +import roundedpath; + +// function definition +picture CreateKOOS(real Scale, string legend) // draw labeled coordinate system as picture +{ + picture ReturnPic; + real S = 1.2*Scale; + draw(ReturnPic, ((-S,0)--(S,0)), bar = EndArrow); // x axis + 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' + return ReturnPic; // return picture +} + + +// some global definitions +real S = 13mm; // universal scale factor for the whole file +real grad = 0.25; // gradient for lines +real radius = 0.04; // radius for the rounded path' +real lw = 2; // linewidth +pair A = (-1, -1); // start point for graphs +pair E = ( 1, 1); // end point for graphs +path graph; // local graph +pen ActPen; // actual pen for each drawing +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); // # +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 = (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]' + + +//////////////////////////////////////// 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); // # +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 = (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]' + + +//////////////////////////////////////// 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) + + +//////////////////////////////////////// 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) + + +// add some labels and black dots to the first two pictures +pair SWW = (-0.8, -0.6); +label(T[1], "$\sigma_f$", (0, 0.6S), NE); // sigma_f +draw(T[1], (0, 0.6S), linewidth(3) + black); +label(T[2], "$\sigma_f$", (0, 0.3S), NE); // sigma_f +draw(T[2], (0, 0.3S), linewidth(3) + black); +label(T[1], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p +draw(T[1], (0.75S, 0), linewidth(3) + black); +label(T[2], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p +draw(T[2], (0.75S, 0), linewidth(3) + black); + + +// add all pictures T[1...4] to the current one +add(T[1],(0,0)); +add(T[2],(1*inc*S,0)); +add(T[3],(2*inc*S,0)); +add(T[4],(3*inc*S,0)); + + +// draw line of constant \sigma and all intersection points with the graphs in T[1...4] +ActPen = linewidth(1) + dashed + gray(0.5); // pen definition +draw((-S, 0.45*S)--((3*inc+1)*S, 0.45*S), ActPen); // draw backgoundline +label("$\sigma_s$", (-S, 0.45S), W); // label 'sigma_s' + +path mark = scale(2)*unitcircle; // define mark-symbol to be used for intersections +ActPen = linewidth(1) + gray(0.5); // define pen for intersection mark +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(( grad*0.45 + 3*inc)*S, 0.45*S)*mark, ActPen); // # diff --git a/Master/texmf/doc/asymptote/examples/threeviews.asy b/Master/texmf/doc/asymptote/examples/threeviews.asy new file mode 100644 index 00000000000..39f9ed4464e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/threeviews.asy @@ -0,0 +1,13 @@ +import three; + +picture pic; +size(pic,200); +currentlight.viewport=false; +settings.render=4; + +draw(pic,scale3(0.5)*unitsphere,green); +draw(pic,Label("$x$",1),O--X); +draw(pic,Label("$y$",1),O--Y); +draw(pic,Label("$z$",1),O--Z); + +addViews(pic); diff --git a/Master/texmf/doc/asymptote/examples/tile.asy b/Master/texmf/doc/asymptote/examples/tile.asy new file mode 100644 index 00000000000..fe9cbc523c7 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/tile.asy @@ -0,0 +1,13 @@ +size(0,90); +import patterns; + +add("tile",tile()); +add("filledtilewithmargin",tile(6mm,4mm,red,Fill),(1mm,1mm),(1mm,1mm)); +add("checker",checker()); +add("brick",brick()); + +real s=2.5; +filldraw(unitcircle,pattern("tile")); +filldraw(shift(s,0)*unitcircle,pattern("filledtilewithmargin")); +filldraw(shift(2s,0)*unitcircle,pattern("checker")); +filldraw(shift(3s,0)*unitcircle,pattern("brick")); diff --git a/Master/texmf/doc/asymptote/examples/torus.asy b/Master/texmf/doc/asymptote/examples/torus.asy new file mode 100644 index 00000000000..33d6e6ddb1a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/torus.asy @@ -0,0 +1,7 @@ +size(200); +import solids; + +currentprojection=perspective(5,4,4); + +revolution torus=revolution(shift(3X)*Circle(O,1,Y,32),Z,90,345); +draw(surface(torus),green); diff --git a/Master/texmf/doc/asymptote/examples/transparency.asy b/Master/texmf/doc/asymptote/examples/transparency.asy new file mode 100644 index 00000000000..02196a02ee9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/transparency.asy @@ -0,0 +1,9 @@ +size(0,150); + +settings.outformat="pdf"; + +begingroup(); +fill(shift(1.5dir(120))*unitcircle,green+opacity(0.75)); +fill(shift(1.5dir(60))*unitcircle,red+opacity(0.75)); +fill(unitcircle,blue+opacity(0.75)); +endgroup(); diff --git a/Master/texmf/doc/asymptote/examples/treetest.asy b/Master/texmf/doc/asymptote/examples/treetest.asy new file mode 100644 index 00000000000..dbdf973c508 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/treetest.asy @@ -0,0 +1,22 @@ +import drawtree; + +treeLevelStep = 2cm; + +TreeNode root = makeNode( "Root" ); +TreeNode child1 = makeNode( root, "Child\_1" ); +TreeNode child2 = makeNode( root, "Child\_2" ); + +TreeNode gchild1 = makeNode( child1, "Grandchild\_1" ); +TreeNode gchild2 = makeNode( child1, "Grandchild\_2" ); + +TreeNode gchild3 = makeNode( child1, "Grandchild\_3" ); +TreeNode gchild4 = makeNode( child1, "Grandchild\_4" ); + + +TreeNode gchild11 = makeNode( child2, "Grandchild\_1" ); +TreeNode gchild22 = makeNode( child2, "Grandchild\_2" ); + +TreeNode ggchild1 = makeNode( gchild1, "Great Grandchild\_1" ); + +draw( root, (0,0) ); + diff --git a/Master/texmf/doc/asymptote/examples/trefoilknot.asy b/Master/texmf/doc/asymptote/examples/trefoilknot.asy new file mode 100644 index 00000000000..fb10e3def0e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/trefoilknot.asy @@ -0,0 +1,23 @@ +import tube; +import graph3; +import palette; +currentlight=adobe; + +size(0,8cm); +currentprojection=perspective(1,1,1,up=-Y); + +int e=1; +real x(real t) {return cos(t)+2*cos(2t);} +real y(real t) {return sin(t)-2*sin(2t);} +real z(real t) {return 2*e*sin(3t);} + +path3 p=scale3(2)*graph(x,y,z,0,2pi,50,operator ..)&cycle; + +pen[] pens=Gradient(6,red,blue,purple); +pens.push(yellow); +for (int i=pens.length-2; i >= 0 ; --i) + pens.push(pens[i]); + +path sec=scale(0.25)*texpath("$\pi$")[0]; +coloredpath colorsec=coloredpath(sec, pens,colortype=coloredNodes); +draw(tube(p,colorsec)); diff --git a/Master/texmf/doc/asymptote/examples/triads.asy b/Master/texmf/doc/asymptote/examples/triads.asy new file mode 100644 index 00000000000..73088197e25 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/triads.asy @@ -0,0 +1,52 @@ +import graph; + +path p=(10,75)..(15,85)..(20,90)..(35,85)..(40,79)--(78,30)..(85,15)..(87,5); + +pair l=point(p,3.5); +pair m=point(p,4.5); +pair s=point(p,4.9); + +pen c=linewidth(1.5); +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) +{ + path g=p{dir(-5)}..{dir(-85)}q; + 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("$q$",m,SW,d); + dot("$k$",s,SW,d); + + xaxis("$k$",0); + yaxis("$E(k)$",0); +} + +drawarrow("$T_p$",l,m,true,blue); +drawarrow("$T_k$",m,s,LeftSide,red); +spectrum(l,m,s); +shipout("triadpqk"); + +erase(); + +drawarrow("$-T_p$",l,m,LeftSide,red); +drawarrow("$-T_q$",m,s,true,blue); +spectrum(l,s,m); +shipout("triadpkq"); + +erase(); + +drawarrow("$T_k$",l,m,true,blue); +drawarrow("$T_q$",m,s,LeftSide,red); +spectrum(m,s,l); + +shipout("triadkpq"); diff --git a/Master/texmf/doc/asymptote/examples/triangle.asy b/Master/texmf/doc/asymptote/examples/triangle.asy new file mode 100644 index 00000000000..60388a78515 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/triangle.asy @@ -0,0 +1,12 @@ +size(0,100); +import geometry; + +triangle t=triangle(b=3,alpha=90,c=4); + +dot((0,0)); + +draw(t); +draw(rotate(90)*t,red); +draw(shift((-4,0))*t,blue); +draw(reflect((0,0),(1,0))*t,green); +draw(slant(2)*t,magenta); diff --git a/Master/texmf/doc/asymptote/examples/triangulate.asy b/Master/texmf/doc/asymptote/examples/triangulate.asy new file mode 100644 index 00000000000..56ad347b53d --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/triangulate.asy @@ -0,0 +1,19 @@ +size(200); +int np=100; +pair[] points; + +real r() {return 1.2*(rand()/randMax*2-1);} + +for(int i=0; i < np; ++i) + points.push((r(),r())); + +int[][] trn=triangulate(points); + +for(int i=0; i < trn.length; ++i) { + draw(points[trn[i][0]]--points[trn[i][1]]); + draw(points[trn[i][1]]--points[trn[i][2]]); + draw(points[trn[i][2]]--points[trn[i][0]]); +} + +for(int i=0; i < np; ++i) + dot(points[i],red); diff --git a/Master/texmf/doc/asymptote/examples/triceratops.asy b/Master/texmf/doc/asymptote/examples/triceratops.asy new file mode 100644 index 00000000000..e640a6b37f9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/triceratops.asy @@ -0,0 +1,9 @@ +import obj; + +size(15cm); +currentprojection=orthographic(0,2,5,up=Y); + +// A compressed version of the required data file may be obtained from: +// http://www.cs.technion.ac.il/~irit/data/Viewpoint/galleon.obj.gz + +draw(obj("triceratops.obj",brown)); diff --git a/Master/texmf/doc/asymptote/examples/tvgen.asy b/Master/texmf/doc/asymptote/examples/tvgen.asy new file mode 100644 index 00000000000..ade90e89211 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/tvgen.asy @@ -0,0 +1,1314 @@ +/* tvgen - draw pm5544-like television test cards. + * Copyright (C) 2007, 2009, Servaas Vandenberghe. + * + * The tvgen code below is free software: you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with tvgen: see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * tvgen-1.1/tvgen.asy + * 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); +} +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; + /* 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; +} + +/********************* 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) { + int[] ridefN={ 4, 16 }; + int[] ridefD={ 3, 9 }; + int i; + + for(i=0; i<2; ++i) { + real rid=ridefN[i]/ridefD[i]; + + if(rimage>rid) { + int off, offa, offb; + + /* Nhdef=Nh/rimage*rid */ + off=round(Nh/rimage*rid/2); + offa=off+os; + offb=off-os; + // write(offa,offb); + + if(2*offa1) + write("centerline: rows tr br ", rows, tr, br); + for(i=0; i<=divsx; ++i) { + int off; + + off=coff[i]; + if(off return y>=0 + * in: + * x x-coordinate relative to origin + * crad circle radius in y units, true size=crad*yd + */ +real testcircx(real x, real crad, real xd, real yd) { + real relx, phi, y; + + relx=x*xd/yd/crad; + if(relx>1) { + phi=0; + } else { + phi=acos(relx); + } + y=crad*sin(phi); // or (x*xd)^2+(y*yd)^2=(crad*yd)^2 + + return y; +} +/* y on circle -> return x>=0 */ +real testcircy(real y, real crad, real xd, real yd) { + real rely, phi, x; + + rely=y/crad; + if(rely>1) { + phi=pi/2; + } else { + phi=asin(rely); + } + x=crad*cos(phi)*yd/xd; // or (x*xd)^2+(y*yd)^2=(crad*yd)^2 + + return x; +} + +/* 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) { + int blocks, i; + real yt, xt, yb, xb, Ttt=Tt/2; + pair ccenter; + + yt=crow-trow; + xt=testcircy(yt, crad, xd, yd); + yb=crow-brow; + xb=testcircy(yb, crad, xd, yd); + //write('#xt yt\t',xt,yt); write('#xb yb\t',xb,yb); + + ccenter=tvps(ccol,crow, xd,yd,Nv); + + blocks=floor(2*xb/Tt); + + for(i=-blocks-1; i<=blocks; ++i) { + real tl, tr; + path zz; + + tl=max(-xb,min(i*Ttt,xb)); /* limit [-xb..xb] */ + tr=max(-xb,min((i+1)*Ttt,xb)); + + if(tl<-xt && tr<=-xt || tr>xt && tl>=xt) { /* top full circle */ + pair[] z; + real yl, yr; + + yl=testcircx(tl, crad, xd, yd); + yr=testcircx(tr, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,crow-yr, xd,yd,Nv); + z[3]=tvps(ccol+tl,crow-yl, xd,yd,Nv); + + zz=z[0]--z[1]--arc(ccenter,z[2],z[3])--cycle; + } else if(tl<-xt) { /* tl in circel, tr not, partial */ + pair[] z; + real yl; + + yl=testcircx(tl, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,trow, xd,yd,Nv); + z[3]=tvps(ccol-xt,trow, xd,yd,Nv); + z[4]=tvps(ccol+tl,crow-yl, xd,yd,Nv); + + zz=z[0]--z[1]--z[2]--arc(ccenter,z[3],z[4])--cycle; + } else if(tr>xt) { /* tr in circle, tl not, partial */ + pair[] z; + real yr; + + yr=testcircx(tr, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,crow-yr, xd,yd,Nv); + z[3]=tvps(ccol+xt,trow, xd,yd,Nv); + z[4]=tvps(ccol+tl,trow, xd,yd,Nv); + zz=z[0]--z[1]--arc(ccenter,z[2],z[3])--z[4]--cycle; + } else { /* full block */ + pair[] z; + + z[0]=tvps(ccol+tr,trow, xd,yd,Nv); + z[1]=tvps(ccol+tl,trow, xd,yd,Nv); + 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(tl1) { + thetaret=0; + } else { + real dpi=2*pi; + + cycles-=coverflow*sgn(cycles); + thetaret=theta+cycles*dpi; /* cycles=(-1 .. 1) */ + + if(thetaret>pi) { + thetaret-=dpi; + } else if(thetaret<-pi) { + thetaret-=dpi; + } + } + + //write("addphase: ", step, theta, thetaret); + 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) { + int[] divc; + real[] divfl, divfr; + int i, divs, coffmax, off, divnext; + real fl, fr, thr, thl; + + /* Segment info for PAL continental test card + * segment i extends from [divc[i] .. divc[i+1]) with frequency divf[i] + */ + divs=2; // the number of segments on the right, total=2*divs+1 + divc[0]=0; + for(i=0; i<=divs; ++i) { + int ii=i*2, il=divs-i, ir=divs+i; + + divc[i+1]=ceil((coff[ii]+coff[ii+1])/2); /* xdot distance to center */ + + divfl[i]=ftones[divs-i]; + divfr[i]=ftones[divs+i]; + } + coffmax=divc[divs+1]; + + int trowlim=coff[0]; + int tr; + + tr=crow; + + divnext=0; + fl=0; + fr=0; + thl=0; + thr=0; + // draw a vertical line at off..off+1 + for(off=0; off0) { + cy=cyr; cu=cur; cv=cvr; + } else { + cy=cyl; cu=cul; cv=cvl; + } + + lcol=Nhc+dright*coffa[5]; + ccol=Nhc+dright*coff[6]; + cicol=Nhc+dright*coffa[6]; + rcol=Nhc+dright*coffb[7]; + + int urow, trow, crow, brow, arow; + urow=rcrowb[divsy-5]; + trow=rcrowt[divsy-3]; + crow=Nvc; + brow=rcrowb[divsy+4]; + arow=rcrowt[divsy+6]; + + z[0]=tvps(ccol,urow, xd,yd,Nv); + z[1]=tvps(ccol,trow, xd,yd,Nv); + z[2]=tvps(cicol,trow, xd,yd,Nv); + z[3]=tvps(cicol,crow, xd,yd,Nv); + z[4]=tvps(rcol,crow, xd,yd,Nv); + z[5]=tvps(rcol,urow, xd,yd,Nv); + zz[0]=z[0]--z[1]--z[2]--z[3]--z[4]--z[5]--cycle; + + zz[1]=tvrect(lcol,urow, ccol,trow, xd,yd,Nv); + zz[2]=tvrect(lcol,brow, ccol,arow, xd,yd,Nv); + + z[0]=tvps(ccol,arow, xd,yd,Nv); + z[1]=tvps(ccol,brow, xd,yd,Nv); + z[2]=tvps(cicol,brow, xd,yd,Nv); + z[3]=tvps(cicol,crow, xd,yd,Nv); + z[4]=tvps(rcol,crow, xd,yd,Nv); + z[5]=tvps(rcol,arow, xd,yd,Nv); + zz[3]=z[0]--z[1]--z[2]--z[3]--z[4]--z[5]--cycle; + + for(i=0; i<4; ++i) { + real y, u, v, A, ph, By, Ry, Gy, R, G, B; + + y=cy[i]; + u=cu[i]; + v=cv[i]; + + A=hypot(u,v); + ph= (u!=0 || v!=0) ? atan2(v,u) : 0.0; + if(v>=0) { + if(ph<0) ph=ph+pi; + } else { + if(ph>0) ph=ph-pi; + } + if(A>0) { + u=u/A*cI; + v=v/A*cI; + } + + By=u/wu; + Ry=v/wv; + Gy=(-wr*Ry-wb*By)/wg; + //write(y,Gy,A,ph*180/pi); + + R=Ry+y; + G=Gy+y; + B=By+y; + if(verbose > 1) + write(y,round(R*255),round(G*255),round(B*255)); + + fill(zz[i], p=pdef+rgb(R,G,B)); + } + return; +} + +/****************************** NTSC bars *********************************** + * amplitude equals color burst smpte (pm: -V +U) + * y campl sat R G B + * left 0.5 0.21 70% -I? + * right 0.5 0.17 60% +Q? + */ +void ntscbars(int[] coff, int[] coffa, int[] coffb, int Nhc, + int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright, + 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. + * choice: equal amplitude for colorburst and subcarrier. + */ + real campl=0.200/0.925; + + /* wg=0.587, y=wr*R+wg*G+wb*B */ + real wr=0.299, wb=0.114, wg=1-wr-wb; + /* iT : iq -> RyBy : rotation+scaling */ + real iT11=0.95, iT12=0.62, iT21=-1.11, iT22=1.71; + + /* bars -2 -1 0 1 2 */ + real[] cyl={ 0.50, 0.50, 0, 0.50, 0.50 }; + real[] cil={ 0, 0, 0, -1, 1 }; + real[] cql={ -1, 1, 0, 0, 0 }; + int[] offil={ 6, 7, 5, 7, 6 }; + + real cy, ci, cq; + int dri, dris, offi, lcol, rcol, i; + + if(dright>=0) { + dris=1; + } else { + dris=-1; + } + if(dright<-2 || dright>2) { + dri=2; + } else { + dri=2+dright; + } + + cy=cyl[dri]; ci=cil[dri]; cq=cql[dri]; + offi=offil[dri]; + lcol=Nhc+dris*coffa[offi]; + rcol=Nhc+dris*coffb[offi+1]; + + real A, By, Ry, Gy, R, G, B; + + A=hypot(ci,cq); + if(A>0) { + ci=ci/A*campl; + cq=cq/A*campl; + } + Ry=iT11*ci+iT12*cq; + By=iT21*ci+iT22*cq; + Gy=(-wr*Ry-wb*By)/wg; + //write(cy,Ry,Gy,By); + + R=Ry+cy; + G=Gy+cy; + B=By+cy; + if(verbose > 1) + write(cy,ci,cq,round(R*255),round(G*255),round(B*255)); + + for(i=-divsy; i<=divsy; ++i) { + path zz; + int brow, trow; + + if(i>-divsy) { + trow=rcrowb[divsy+i]; + } else { + trow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2); + } + + if(divsy>i) { + brow=rcrowt[divsy+i+1]; + } else { + brow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2); + } + + zz=tvrect(lcol,brow, rcol,trow, xd,yd,Nv); + fill(zz, p=pdef+rgb(R,G,B)); + } + + return; +} + + +/****************************** main ***********************************/ +/* Conversion to bitmap: + * EPSPNG='gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=png16m' + * asy -u bsys=2 -u colortv=1 -u os=1 -a Z tvgen + * $EPSPNG -r132x144 -g720x576 -sOutputFile=tvgen.png tvgen.eps + * + * asy -u bsys=2 -u colortv=1 -u os=1 tvgen + */ +int bsys=2, colortv=1, os=1; + +/* bsys: broadcast system + * bsys im aspect Nh + * 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 + * 5 4/3 768 bsys=1, square dot cable TV info channel + * 6 131/96 786 bsys=2, total square dot broadcast camera + * 7 16/9 720 new broadcast 16/9, SD from HD-1440 or itu-r bt.709 + * 8 4/3 704 525 analog broadcast itu-r bt.470 711*485 + * 9 4/3 720 525 new broadcast + * 10 15/11 720 525 total aperture analog broadcast + * 11 16/9 1920 1250, 1080 square dot at 12.5 frames/second + * 12 4/3 1600 1250, 1200 square dot at 12.5 frames/second + * + * colortv: + * set 0 for monochrome crosshatch, 1 for pal ears, 2 for ntsc bars + * + * os: horizontal oversampling, typical values for 13.5MHz: + * 2 4/3 704*576, 15/11 720*576 + * 4 4/3 720*480 + * 5 4/3 704*480, 15/11 720*480, 4/3 768*576 14.4MHz + * 8 4/3 720*576, 20/11 720*576 + * 12 704->768 rerastering + * 16 720->768 rerastering + */ +access settings; +usersetting(); + +if(bsys<0 || bsys>12 || colortv<0 || colortv>3 || os<=0 || os>16) { + write('Error: bad user input: bsys, colortv, os=\t', bsys, colortv, os); + abort('Bad option -u bsys=N ?'); +} + +int[] bNdot= + { 12, 16, 12, 16, 1, 1, 1, 64, 10, 8, 10, 1, 1 }; +int[] bDdot= + { 11, 15, 11, 11, 1, 1, 1, 45, 11, 9, 11, 1, 1 }; +int[] bNh= + { 704, 720, 720, 720, 768, 768, 786, 720, 704, 720, 720, 1920, 1600 }; +int[] bNv= + { 576, 576, 576, 576, 576, 576, 576, 576, 480, 480, 480, 1080, 1200 }; +real[] bfs= + { 13.5,13.5,13.5,13.5, 14.75,14.4,14.75,13.5, 13.5,13.5,13.5, 36, 30 }; +int[] bNsy= + { 42, 42, 42, 42, 42, 42, 42, 42, 34, 34, 34, 78, 90 }; +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. + * old: 3 run in + 575 visible + 3 run out = 581 lines + * 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. + * + * To generate the old testcard either use Nv=582 Nsh=0 or Nv=576 Nsh=3. + * + * aspect ratio + * rimage=xsize/ysize rimage=rdot*Nh/Nv + * Nh=704 dots + * Nv=576 lines + * rd=ri*Nv/Nh=4/3*9/11=12/11 + * + * 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 + * top 8 lines, 13 squares of Ny=43 lines, bottom 9 lines + * top 12 lines, 13 squares of Ny=42 lines, bottom 18 lines + * pairs are from odd even field + * Interlace test: Ny must be odd for a cross-hatch without centerline. + * + * squares: ly=Nsy, lx=rd*Nsx, lx=ly ==> Nsx=Nsy/rd={ 39.4, 38.5 } + * x line width 230 ns -> 3 dots + * bottom 2.9us red -> 39.15 dots + * + * 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 + * + * Rh=Nh/lx=Di*(Nh/(Ni*ly)) + * ==> ri=4/Di => Nh=k*16 + * ri=15/Di => Nh=k*60 + * ri=16/Di => Nh=k*64 + * + * resolution DPI from dot aspect ratio, general algorithm, + * + * rd=Nd/Dd=ldx/ldy + * + * assume 1 dot = Nd x Dd square subdots at a resolution of k, in dpi, then + * + * ldx=Nd/k, ldy=Dd/k ==> Rh=k/Nd, Rv=k/Dd + * + * choosing k=m*Nd*Dd for integer Rh and Rv gives + * + * ldx=1/(m*Dd), ldy=1/(m*Nd), Rh=m*Dd, Rv=m*Nd + * + * and + * + * lx=Nh*ldx=Nh/(m*Dd), ly=Nv*ldy=Nv/(m*Nd) + * + * so choose m for the intended height Ly, in inch, as + * + * m=round(Nv/(Ly*Nd)) + * + * which limits Ly<=Nv/Nd since Rv>=Nd. + */ +//cm=72/2.540005; +real Ly, ly, lx, ysize, xsize, rimage, xd, yd, pwidth; +int Nd, Dd, m, Nh, Nv, Nshift, Na, Nsy; +real fs, Ttone; + +Nd=bNdot[bsys]; +Dd=bDdot[bsys]*os; +Nh=bNh[bsys]*os; +Nv=bNv[bsys]; + +Ly=4; // 4 inch vertical size +m=floor(0.5+Nv/(Ly*Nd)); +if(m<1) m=1; +ly=Nv/(m*Nd); +lx=Nh/(m*Dd); + +ysize=ly*1inch; +xsize=lx*1inch; +rimage=xsize/ysize; +if(verbose > 1) + write('#Nd Dd m ri:\t', Nd, Dd, m, rimage); +//size(xsize,ysize,Aspect); // should not have any effect + +Nsy=bNsy[bsys]; // grating size in lines 42,43, 34,35 +Nshift=bNsh[bsys]; // shift image up: pre 1997 =3, 2007 =0 +fs=1e6*bfs[bsys]*os; +Na=0; // add 1,0,-1 to height of hor center squares for even Na+Nsy + +Ttone=fs/250e3; // period of ft=250 kHz, fs/ft=54 +real[] ftones={0.8e6/fs, 1.8e6/fs, 2.8e6/fs, 3.8e6/fs, 4.8e6/fs}; + +xd=xsize/Nh; +yd=ysize/Nv; +pwidth=min(abs(xd),abs(yd)); + +pen pdefault=squarecap+linewidth(pwidth); +pen pblack=pdefault+gray(0.0); +pen pwhite=pdefault+gray(1.0); + +/**** calculate grating repeats and size in tv dots ****/ +// horizontal lines +int divsy, rdisty, Nvc, Nt, Nb; + +Nvc=floor(Nv/2)-Nshift; +divsy=floor(((Nv-Na-2)/Nsy-1)/2); // (Nv-Na-2)/2-Nsy/2 dots for Nsy lengths +rdisty=Na+Nsy*(1+2*divsy); +Nt=Nvc-ceil(rdisty/2); +Nb=Nv-Nt-rdisty; +if(verbose > 1) + write('#divsy t b: \t',divsy,Nt,Nb); + +/* 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 + * + * Nsyc even: + * Nsyc/2 odd --> OK + * Nsyc/2 even --> stagger the raster one line upwards + * + * rcrowt top dist of hor line + * rcrowc true center for color info, distance to top of image. + * rcrowb bot dist of hor line + * + * Nt=Nvc-(offu+divsy*Nsy); + * Nb=Nv-( Nvc-(offd-divsy*Nsy) ); + * ==> Nt+Nb=Nv-Nsyc-2*divsy*Nsy + */ +int Nsyc, offu, offd, Nyst=0, i; +int[] rcrowt, rcrowc, rcrowb; + +Nsyc=Nsy+Na; +offu=floor(Nsyc/2); +offd=offu-Nsyc; +if(Nsyc%2 != 0) { + Nyst=1; +} else if(Nsyc%4 == 0) { + Nyst=1; /* stagger */ +} +for(i=0; i<=divsy; ++i) { + int iu, id, ou, od, ru, rd; + + iu=divsy-i; + id=divsy+i+1; + + ou=offu+Nsy*i; + od=offd-Nsy*i; + if(verbose > 1) + write(ou,od); + rcrowc[iu]=Nvc-ou; + rcrowc[id]=Nvc-od; + + ru=Nvc-(ou+Nyst); + rd=Nvc-(od+Nyst); + + rcrowt[iu]=ru-1; + rcrowb[iu]=ru+1; + + rcrowt[id]=rd-1; + rcrowb[id]=rd+1; +} +Nt=floor((rcrowt[0]+rcrowb[0])/2); +Nb=Nv-Nt-Nsyc-2*Nsy*divsy; +if(verbose > 1) + write('#st t b: \t',Nyst,Nt,Nb); + +/* vertical lines + * (Nh-2*os)/2-Nsx/2 dots available for divisions of Nsx dots. + * At least 5 dots margin left and right ==> use -10*os + */ +real lsq, Nsx; +int divsx, Nhc, Nl; + +lsq=Nsy*yd; +Nsx=lsq/xd; +divsx=floor(((Nh-10*os)/Nsx-1)/2); +Nhc=round(Nh/2); +Nl=Nhc-round((1+2*divsx)*Nsx/2); +if(verbose > 1) + write('#Nsx divsx Nl:\t',Nsx,divsx,Nl); + +/**** draw gray background ****/ +{ + path zz; + //zz=tvrect(0,0, Nh,Nv, xd,yd,Nv); + /* keep white canvas for castellations */ + zz=tvrect(Nl,Nt, Nh-Nl,Nv-Nb, xd,yd,Nv); + fill(zz, p=pdefault+gray(0.5)); + //dot(zz); +} +/**** draw center circle ****/ +real cx, cy, crad; +pair ccenter; +path ccirc; +cx=Nh/2; +cy=Nv/2-Nshift; +crad=6*Nsy; +if(Nv%2 != 0) { + crad+=0.5; +} +ccenter=tvps(cx,cy, xd,yd,Nv); +ccirc=circle(ccenter, crad*yd); +if(colortv<=0) { + draw(ccirc, p=pwhite+linewidth(2*yd)); +} + +/****** draw 2*divsy+2 horizontal lines **********************************/ +real[] rcang, rcoff; +pair[] rcright, rcleft; +int i, iend=2*divsy+1; +for(i=0; i<=iend; ++i) { + real y, phi, x; + path zzh; + pair zd; + + zzh=tvrect(0,rcrowt[i], Nh,rcrowb[i], xd,yd,Nv); + fill(zzh, p=pwhite); + + y=cy-rcrowc[i]; + //write(roff); + if(abs(y)0) { + pcast=pdefault+rgb(0.75,0.0,0); + } else { + pcast=pblack; + } + if(i%2 == 1) { + int tr, br; + path zzc; + + tr=rcrowb[i-1]; + br=rcrowt[i]; + zzc=tvrect( 0,tr, lc,br, xd,yd,Nv); + fill(zzc, p=pblack); + zzc=tvrect(rc,tr, Nh,br, xd,yd,Nv); + fill(zzc, p=pcast); + } +} + +/****** markers for 4/3 aspect ratio ******/ +if(rimage>4/3) + rimarkers(rimage, Nh, Nhc, os, Nvc, Nsy, pwhite, xd, yd, Nv); + +/****** line pairing center ******/ +centerline(coff, coffa, coffb, Nhc, divsx, os, rcrowc, Nvc, divsy, + 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); + + /* 250 kHz */ + 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); + + /* 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); + + /* 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); + + /* PAL ears */ + if(colortv==1) { + palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1, + pdefault, xd, yd, Nv); + palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1, + pdefault, xd, yd, Nv); + } else if(colortv==2) { + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -2, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, 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); + + /* 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); +} + +/********************** set id *********************/ +{ /* dpi */ + pair rpos=tvps(Nhc,round((rcrowc[divsy-4]+rcrowc[divsy-5])/2), xd,yd,Nv); + string iRhor, iRver, ires; + real Rh, Rv; + + Rh=Nh/xsize*inch; + Rv=Nv/ysize*inch; + iRhor=format("%.4gx", Rh); + iRver=format("%.4gdpi", Rv); + ires=insert(iRver,0, iRhor); + + /* size info */ + int rowbot=round((rcrowc[divsy+4]+rcrowc[divsy+5])/2); + pair tpos=tvps(Nhc,rowbot, xd,yd,Nv); + string ihor, iver, itot, iasp, ifm; + real asp, fm; + + ihor=format("%ix",Nh); + iver=format("%i ",Nv); + itot=insert(iver,0, ihor); + asp=xsize/ysize; + iasp=format("%.3g ",asp); + fm=fs/1e6; + ifm=format("%.4gMHz",fm); + itot=insert(iasp,0, itot); + itot=insert(ifm,0, itot); + + /* size of square */ + int rowNsy=round((rcrowc[divsy+5]+rcrowc[divsy+6])/2); + pair Npos=tvps(Nhc+round((coff[4]+coff[5])/2),rowNsy, xd,yd,Nv); + string iNsy=format("%i",Nsy); + + pen pbw; + if(colortv>0) { + pbw=pdefault+gray(1.0); + } else { + pbw=pdefault+gray(0.0); + } + label(ires, rpos, p=pbw); + label(itot, tpos, p=pbw); + label(iNsy, Npos, p=pbw); + if(verbose > 1) + write('#res:\t', ires, itot, iNsy); +} + diff --git a/Master/texmf/doc/asymptote/examples/twistedtubes.asy b/Master/texmf/doc/asymptote/examples/twistedtubes.asy new file mode 100644 index 00000000000..420e3898986 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/twistedtubes.asy @@ -0,0 +1,28 @@ +import graph3; +import palette; + +size(300,300,keepAspect=true); + +real w=0.4; + +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),25,15); +surface s2=surface(f2,(0,0),(2pi,10),25,15); +surface s3=surface(f3,(0,0),(2pi,10),25,15); +surface s4=surface(f4,(0,0),(2pi,10),25,15); + +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)); + +draw(s1,meshpen=black); +draw(s2,meshpen=black); +draw(s3,meshpen=black); +draw(s4,meshpen=black); diff --git a/Master/texmf/doc/asymptote/examples/unitcircle.asy b/Master/texmf/doc/asymptote/examples/unitcircle.asy new file mode 100644 index 00000000000..582f5f3c1ff --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/unitcircle.asy @@ -0,0 +1,14 @@ +size(0,150); + +pair z0=0; +pair z1=1; +real theta=30; +pair z=dir(theta); + +draw(circle(z0,1)); +filldraw(z0--arc(z0,1,0,theta)--cycle,lightgrey); +dot(z0); +dot(Label,z1); +dot("$(x,y)=(\cos\theta,\sin\theta)$",z); +arrow("area $\frac{\theta}{2}$",dir(0.5*theta),2E); +draw("$\theta$",arc(z0,0.7,0,theta),LeftSide,Arrow,PenMargin); diff --git a/Master/texmf/doc/asymptote/examples/unitcircle3.asy b/Master/texmf/doc/asymptote/examples/unitcircle3.asy new file mode 100644 index 00000000000..be282011dca --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/unitcircle3.asy @@ -0,0 +1,9 @@ +import three; + +size(100); + +path3 g=(1,0,0)..(0,1,0)..(-1,0,0)..(0,-1,0)..cycle; +draw(g); +draw(O--Z,red+dashed,Arrow3); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); diff --git a/Master/texmf/doc/asymptote/examples/unitoctant.asy b/Master/texmf/doc/asymptote/examples/unitoctant.asy new file mode 100644 index 00000000000..89f851f6a23 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/unitoctant.asy @@ -0,0 +1,35 @@ +import graph3; + +currentprojection=orthographic(5,4,2); + +size(0,150); +patch s=octant1; +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/doc/asymptote/examples/upint.asy b/Master/texmf/doc/asymptote/examples/upint.asy new file mode 100644 index 00000000000..b488358ec6a --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/upint.asy @@ -0,0 +1,13 @@ +import graph; +import lowupint; + +size(100,0); + +real a=-0.8, b=1.2; +real c=-1.0/sqrt(3.0); + +partition(a,b,c,max); + +arrow("$f(x)$",F(0.5*(a+b)),NNE,red); +label("$\cal{U}$",(0.5*(a+b),f(0.5*(a+b))/2)); + diff --git a/Master/texmf/doc/asymptote/examples/vectorfield.asy b/Master/texmf/doc/asymptote/examples/vectorfield.asy new file mode 100644 index 00000000000..12de66e49c5 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/vectorfield.asy @@ -0,0 +1,9 @@ +import graph; +size(100); + +pair a=(0,0); +pair b=(2pi,2pi); + +path vector(pair z) {return (0,0)--(sin(z.x),cos(z.y));} + +add(vectorfield(vector,a,b)); diff --git a/Master/texmf/doc/asymptote/examples/vectorfield3.asy b/Master/texmf/doc/asymptote/examples/vectorfield3.asy new file mode 100644 index 00000000000..a7bdbdb36c9 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/vectorfield3.asy @@ -0,0 +1,26 @@ +import graph3; + +size(12cm,0); + +currentprojection=orthographic(1,-2,1); +currentlight=(1,-1,0.5); + +real f(pair z) {return abs(z)^2;} + +path3 gradient(pair z) { + static real dx=sqrtEpsilon, dy=dx; + return O--((f(z+dx)-f(z-dx))/2dx,(f(z+I*dy)-f(z-I*dy))/2dy,0); +} + +pair a=(-1,-1); +pair b=(1,1); + +triple F(pair z) {return (z.x,z.y,0);} + +add(vectorfield(gradient,F,a,b,red)); + +draw(surface(f,a,b,Spline),gray+opacity(0.5)); + +xaxis3(XY()*"$x$",OutTicks(XY()*Label)); +yaxis3(XY()*"$y$",InTicks(YX()*Label)); +zaxis3("$z$",OutTicks); diff --git a/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy new file mode 100644 index 00000000000..2348e09f855 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy @@ -0,0 +1,17 @@ +import graph3; + +size(12cm); + +currentprojection=orthographic(1,-2,1); +currentlight=(1,-1,0.5); + +triple f(pair z) {return expi(z.x,z.y);} + +path3 vector(pair z) { + triple v=f(z); + return O--(v.y,v.z,v.x); +} + +add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red)); + +draw(unitsphere,gray+opacity(0.5)); diff --git a/Master/texmf/doc/asymptote/examples/venn.asy b/Master/texmf/doc/asymptote/examples/venn.asy new file mode 100644 index 00000000000..f56440ba0a4 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/venn.asy @@ -0,0 +1,37 @@ +size(0,150); + +pen colour1=red; +pen colour2=green; + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +real r=1.5; +path c1=circle(z1,r); +path c2=circle(z2,r); +fill(c1,colour1); +fill(c2,colour2); + +picture intersection; +fill(intersection,c1,colour1+colour2); +clip(intersection,c2); + +add(intersection); + +draw(c1); +draw(c2); + +label("$A$",z1); +label("$B$",z2); + +pair z=(0,-2); +real m=3; +margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z))); + +draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin); +draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin); +draw(z--z1,Arrow,Margin(0,m)); +draw(z--z2,Arrow,Margin(0,m)); + +shipout(bbox(0.25cm)); +currentpicture.uptodate=true; diff --git a/Master/texmf/doc/asymptote/examples/vertexshading.asy b/Master/texmf/doc/asymptote/examples/vertexshading.asy new file mode 100644 index 00000000000..284ca3230de --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/vertexshading.asy @@ -0,0 +1,10 @@ +import three; +//settings.prc=false; + +size(200); + +currentprojection=perspective(4,5,5); + +draw(surface(unitcircle3,new pen[] {red,green,blue,white})); +draw(surface(shift(Z)*unitsquare3, + new pen[] {red,green+opacity(0.5),blue,black})); diff --git a/Master/texmf/doc/asymptote/examples/washermethod.asy b/Master/texmf/doc/asymptote/examples/washermethod.asy new file mode 100644 index 00000000000..032ed6cbc85 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/washermethod.asy @@ -0,0 +1,36 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,0,11,up=Y); + +pen color1=green+opacity(0.25); +pen color2=red; +real alpha=250; + +real f(real x) {return 2x^2-x^3;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +ngraph=12; +path[] p={graph(F,0.7476,1.8043,Spline)--cycle, + graph(F,0.7,0.7476,Spline)--graph(F,1.7787,1.8043,Spline)--cycle, + graph(F,0,0.7,Spline)--graph(F,1.8043,2,Spline)--cycle}; + +pen[] pn=new pen[] {color1,color2,color1}; + +for(int i=0; i < p.length; ++i) { + revolution a=revolution(path3(p[i]),Y,0,alpha); + draw(surface(a),pn[i]); + + surface s=surface(p[i]); + draw(s,pn[i]); + draw(rotate(alpha,Y)*s,pn[i]); +} + +draw((4/3,0,0)--F3(4/3),dashed); +xtick("$\frac{4}{3}$",(4/3,0,0)); + +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),ymax=1.25,dashed,Arrow3); +arrow("$y=2x^2-x^3$",F3(1.6),X+Y,0.75cm,red); +draw(arc(1.1Y,0.3,90,0,7.5,180),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/wedge.asy b/Master/texmf/doc/asymptote/examples/wedge.asy new file mode 100644 index 00000000000..9e0f8355308 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/wedge.asy @@ -0,0 +1,21 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(8,10,2); +currentlight=adobe; + +draw(circle(O,4,Z)); +draw(shift(-4Z)*scale(4,4,8)*unitcylinder,green+opacity(0.2)); + +triple F(real x){return (x,sqrt(16-x^2),sqrt((16-x^2)/3));} +path3 p=graph(F,0,4,operator ..); +path3 q=reverse(p)--rotate(180,(0,4,4/sqrt(3)))*p--cycle; +draw(surface(q--cycle),red); + +real t=2; +path3 triangle=(t,0,0)--(t,sqrt(16-t^2),0)--F(t)--cycle; +draw(surface(triangle),blue); + +xaxis3("$x$",Arrow3,PenMargin3(0,0.25)); +yaxis3("$y$",Arrow3,PenMargin3(0,0.25)); +zaxis3("$z$",dashed,Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/westnile.asy b/Master/texmf/doc/asymptote/examples/westnile.asy new file mode 100644 index 00000000000..eaef31e1e87 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/westnile.asy @@ -0,0 +1,64 @@ +import graph; + +size(9cm,8cm,IgnoreAspect); +string data="westnile.csv"; + +file in=line(csv(input(data))); + +string[] columnlabel=in; + +real[][] A=dimension(in,0,0); +A=transpose(A); +real[] number=A[0], survival=A[1]; + +path g=graph(number,survival); +draw(g); + +scale(true); + +xaxis("Initial no.\ of mosquitoes per bird ($S_{M_0}/N_{B_0}$)", + Bottom,LeftTicks); +xaxis(Top); +yaxis("Susceptible bird survival",Left,RightTicks(trailingzero)); +yaxis(Right); + +real a=number[0]; +real b=number[number.length-1]; + +real S1=0.475; +path h1=(a,S1)--(b,S1); +real M1=interp(a,b,intersect(h1,g)[0]); + +real S2=0.9; +path h2=(a,S2)--(b,S2); +real M2=interp(a,b,intersect(h2,g)[0]); + +labelx("$M_1$",M1); +labelx("$M_2$",M2); + +draw((a,S2)--(M2,S2)--(M2,0),Dotted); +draw((a,S1)--(M1,S1)--(M1,0),dashed); + +pen p=fontsize(10); + +real y3=0.043; +path reduction=(M1,y3)--(M2,y3); +draw(reduction,Arrow,TrueMargin(0,0.5*(linewidth(Dotted)+linewidth()))); + +arrow(shift(-20,5)*Label(minipage("\flushleft{\begin{itemize}\item[1.] +Estimate proportion of birds surviving at end of season\end{itemize}}",100), + align=NNE), + (M1,S1),NNE,1cm,p,Arrow(NoFill)); + +arrow(shift(-24,5)*Label(minipage("\flushleft{\begin{itemize}\item[2.] +Read off initial mosquito abundance\end{itemize}}",80),align=NNE), + (M1,0),NE,2cm,p,Arrow(NoFill)); + +arrow(shift(20,0)*Label(minipage("\flushleft{\begin{itemize}\item[3.] +Determine desired bird survival for next season\end{itemize}}",90),align=SW), + (M2,S2),SW,arrowlength,p,Arrow(NoFill)); + +arrow(shift(8,-15)*Label(minipage("\flushleft{\begin{itemize}\item[4.] +Calculate required proportional reduction in mosquitoes\end{itemize}}",90), + align=NW), + point(reduction,0.5),NW,1.5cm,p,Arrow(NoFill)); diff --git a/Master/texmf/doc/asymptote/examples/westnile.csv b/Master/texmf/doc/asymptote/examples/westnile.csv new file mode 100644 index 00000000000..cfc8493ed22 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/westnile.csv @@ -0,0 +1,402 @@ +sm0,0.001(T14) +0.0,0.9973 +0.1,0.9973 +0.2,0.9972 +0.3,0.9972 +0.4,0.9971 +0.5,0.9971 +0.6,0.9970 +0.7,0.9970 +0.8,0.9969 +0.9,0.9968 +1.0,0.9968 +1.1,0.9967 +1.2,0.9966 +1.3,0.9966 +1.4,0.9965 +1.5,0.9964 +1.6,0.9963 +1.7,0.9963 +1.8,0.9962 +1.9,0.9961 +2.0,0.9960 +2.1,0.9959 +2.2,0.9958 +2.3,0.9957 +2.4,0.9957 +2.5,0.9956 +2.6,0.9955 +2.7,0.9954 +2.8,0.9952 +2.9,0.9951 +3.0,0.9950 +3.1,0.9949 +3.2,0.9948 +3.3,0.9947 +3.4,0.9945 +3.5,0.9944 +3.6,0.9943 +3.7,0.9941 +3.8,0.9940 +3.9,0.9939 +4.0,0.9937 +4.1,0.9936 +4.2,0.9934 +4.3,0.9932 +4.4,0.9931 +4.5,0.9929 +4.6,0.9927 +4.7,0.9926 +4.8,0.9924 +4.9,0.9922 +5.0,0.9920 +5.1,0.9918 +5.2,0.9916 +5.3,0.9914 +5.4,0.9912 +5.5,0.9909 +5.6,0.9907 +5.7,0.9905 +5.8,0.9902 +5.9,0.9900 +6.0,0.9897 +6.1,0.9895 +6.2,0.9892 +6.3,0.9889 +6.4,0.9887 +6.5,0.9884 +6.6,0.9881 +6.7,0.9878 +6.8,0.9875 +6.9,0.9872 +7.0,0.9868 +7.1,0.9865 +7.2,0.9861 +7.3,0.9858 +7.4,0.9854 +7.5,0.9851 +7.6,0.9847 +7.7,0.9843 +7.8,0.9839 +7.9,0.9835 +8.0,0.9831 +8.1,0.9826 +8.2,0.9822 +8.3,0.9818 +8.4,0.9813 +8.5,0.9808 +8.6,0.9803 +8.7,0.9798 +8.8,0.9793 +8.9,0.9788 +9.0,0.9783 +9.1,0.9777 +9.2,0.9772 +9.3,0.9766 +9.4,0.9760 +9.5,0.9754 +9.6,0.9748 +9.7,0.9742 +9.8,0.9735 +9.9,0.9729 +10.0,0.9722 +10.1,0.9715 +10.2,0.9708 +10.3,0.9701 +10.4,0.9694 +10.5,0.9686 +10.6,0.9679 +10.7,0.9671 +10.8,0.9663 +10.9,0.9654 +11.0,0.9646 +11.1,0.9637 +11.2,0.9629 +11.3,0.9620 +11.4,0.9611 +11.5,0.9601 +11.6,0.9592 +11.7,0.9582 +11.8,0.9572 +11.9,0.9562 +12.0,0.9551 +12.1,0.9541 +12.2,0.9530 +12.3,0.9519 +12.4,0.9507 +12.5,0.9496 +12.6,0.9484 +12.7,0.9472 +12.8,0.9460 +12.9,0.9447 +13.0,0.9434 +13.1,0.9421 +13.2,0.9408 +13.3,0.9394 +13.4,0.9380 +13.5,0.9366 +13.6,0.9352 +13.7,0.9337 +13.8,0.9322 +13.9,0.9307 +14.0,0.9291 +14.1,0.9275 +14.2,0.9259 +14.3,0.9243 +14.4,0.9226 +14.5,0.9209 +14.6,0.9191 +14.7,0.9174 +14.8,0.9156 +14.9,0.9137 +15.0,0.9118 +15.1,0.9099 +15.2,0.9080 +15.3,0.9060 +15.4,0.9041 +15.5,0.9020 +15.6,0.8999 +15.7,0.8978 +15.8,0.8956 +15.9,0.8934 +16.0,0.8912 +16.1,0.8889 +16.2,0.8866 +16.3,0.8843 +16.4,0.8819 +16.5,0.8795 +16.6,0.8770 +16.7,0.8745 +16.8,0.8720 +16.9,0.8694 +17.0,0.8668 +17.1,0.8641 +17.2,0.8614 +17.3,0.8587 +17.4,0.8559 +17.5,0.8531 +17.6,0.8502 +17.7,0.8473 +17.8,0.8444 +17.9,0.8414 +18.0,0.8383 +18.1,0.8353 +18.2,0.8323 +18.3,0.8291 +18.4,0.8259 +18.5,0.8227 +18.6,0.8194 +18.7,0.8160 +18.8,0.8127 +18.9,0.8092 +19.0,0.8058 +19.1,0.8022 +19.2,0.7987 +19.3,0.7951 +19.4,0.7914 +19.5,0.7878 +19.6,0.7840 +19.7,0.7803 +19.8,0.7764 +19.9,0.7726 +20.0,0.7687 +20.1,0.7647 +20.2,0.7607 +20.3,0.7567 +20.4,0.7526 +20.5,0.7485 +20.6,0.7443 +20.7,0.7401 +20.8,0.7359 +20.9,0.7316 +21.0,0.7272 +21.1,0.7229 +21.2,0.7185 +21.3,0.7140 +21.4,0.7096 +21.5,0.7050 +21.6,0.7005 +21.7,0.6959 +21.8,0.6912 +21.9,0.6866 +22.0,0.6819 +22.1,0.6771 +22.2,0.6723 +22.3,0.6675 +22.4,0.6627 +22.5,0.6578 +22.6,0.6530 +22.7,0.6480 +22.8,0.6430 +22.9,0.6380 +23.0,0.6330 +23.1,0.6280 +23.2,0.6229 +23.3,0.6178 +23.4,0.6126 +23.5,0.6075 +23.6,0.6023 +23.7,0.5971 +23.8,0.5918 +23.9,0.5866 +24.0,0.5813 +24.1,0.5760 +24.2,0.5706 +24.3,0.5653 +24.4,0.5600 +24.5,0.5547 +24.6,0.5493 +24.7,0.5440 +24.8,0.5385 +24.9,0.5332 +25.0,0.5278 +25.1,0.5224 +25.2,0.5170 +25.3,0.5115 +25.4,0.5061 +25.5,0.5007 +25.6,0.4952 +25.7,0.4898 +25.8,0.4844 +25.9,0.4789 +26.0,0.4735 +26.1,0.4681 +26.2,0.4627 +26.3,0.4572 +26.4,0.4518 +26.5,0.4464 +26.6,0.4410 +26.7,0.4356 +26.8,0.4303 +26.9,0.4249 +27.0,0.4194 +27.1,0.4143 +27.2,0.4089 +27.3,0.4036 +27.4,0.3983 +27.5,0.3931 +27.6,0.3878 +27.7,0.3826 +27.8,0.3774 +27.9,0.3724 +28.0,0.3672 +28.1,0.3621 +28.2,0.3571 +28.3,0.3520 +28.4,0.3470 +28.5,0.3420 +28.6,0.3370 +28.7,0.3320 +28.8,0.3271 +28.9,0.3223 +29.0,0.3174 +29.1,0.3126 +29.2,0.3078 +29.3,0.3031 +29.4,0.2983 +29.5,0.2936 +29.6,0.2890 +29.7,0.2845 +29.8,0.2801 +29.9,0.2756 +30.0,0.2711 +30.1,0.2667 +30.2,0.2623 +30.3,0.2580 +30.4,0.2537 +30.5,0.2495 +30.6,0.2453 +30.7,0.2411 +30.8,0.2370 +30.9,0.2329 +31.0,0.2289 +31.1,0.2250 +31.2,0.2210 +31.3,0.2171 +31.4,0.2133 +31.5,0.2095 +31.6,0.2057 +31.7,0.2019 +31.8,0.1983 +31.9,0.1947 +32.0,0.1912 +32.1,0.1876 +32.2,0.1842 +32.3,0.1807 +32.4,0.1773 +32.5,0.1740 +32.6,0.1707 +32.7,0.1674 +32.8,0.1642 +32.9,0.1611 +33.0,0.1580 +33.1,0.1549 +33.2,0.1520 +33.3,0.1490 +33.4,0.1461 +33.5,0.1432 +33.6,0.1404 +33.7,0.1376 +33.8,0.1348 +33.9,0.1321 +34.0,0.1294 +34.1,0.1268 +34.2,0.1242 +34.3,0.1217 +34.4,0.1193 +34.5,0.1168 +34.6,0.1144 +34.7,0.1120 +34.8,0.1097 +34.9,0.1074 +35.0,0.1052 +35.1,0.1029 +35.2,0.1008 +35.3,0.0987 +35.4,0.0966 +35.5,0.0946 +35.6,0.0925 +35.7,0.0905 +35.8,0.0886 +35.9,0.0867 +36.0,0.0848 +36.1,0.0830 +36.2,0.0812 +36.3,0.0794 +36.4,0.0777 +36.5,0.0760 +36.6,0.0743 +36.7,0.0727 +36.8,0.0711 +36.9,0.0696 +37.0,0.0680 +37.1,0.0665 +37.2,0.0651 +37.3,0.0636 +37.4,0.0622 +37.5,0.0608 +37.6,0.0595 +37.7,0.0581 +37.8,0.0568 +37.9,0.0555 +38.0,0.0543 +38.1,0.0531 +38.2,0.0519 +38.3,0.0507 +38.4,0.0495 +38.5,0.0484 +38.6,0.0473 +38.7,0.0462 +38.8,0.0452 +38.9,0.0441 +39.0,0.0431 +39.1,0.0421 +39.2,0.0412 +39.3,0.0402 +39.4,0.0393 +39.5,0.0384 +39.6,0.0375 +39.7,0.0366 +39.8,0.0358 +39.9,0.0350 +40.0,0.0342 diff --git a/Master/texmf/doc/asymptote/examples/workcone.asy b/Master/texmf/doc/asymptote/examples/workcone.asy new file mode 100644 index 00000000000..5b4f8c94ad5 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/workcone.asy @@ -0,0 +1,40 @@ +import solids; +size(0,150); +currentprojection=orthographic(0,-30,5); + +real r=4; +real h=10; +real s=8; +real x=r*s/h; + +real sr=5; +real xr=r*sr/h; + +real s1=sr-0.1; +real x1=r*s1/h; + +real s2=sr+0.2; +real x2=r*s2/h; + +path3 p=(0,0,0)--(x,0,s); +revolution a=revolution(p,Z); +draw(surface(a,4),lightblue+opacity(0.5)); + +path3 q=(x,0,s)--(r,0,h); +revolution b=revolution(q,Z); +draw(surface(b),white+opacity(0.5)); + +draw((-r-1,0,0)--(r+1,0,0)); +draw((0,0,0)--(0,0,h+1),dashed); + +path3 w=(x1,0,s1)--(x2,0,s2)--(0,0,s2); +revolution b=revolution(w,Z); +draw(surface(b),blue+opacity(0.5)); +draw(circle((0,0,s2),x2)); +draw(circle((0,0,s1),x1)); + +draw("$x$",(xr,0,0)--(xr,0,sr),red,Arrow3,PenMargin3); +draw("$r$",(0,0,sr)--(xr,0,sr),N,red); +draw((string) r,(0,0,h)--(r,0,h),N,red); +draw((string) h,(r,0,0)--(r,0,h),red,Arrow3,PenMargin3); +draw((string) s,(-x,0,0)--(-x,0,s),W,red,Arrow3,Bar3,PenMargin3); diff --git a/Master/texmf/doc/asymptote/examples/xsin1x.asy b/Master/texmf/doc/asymptote/examples/xsin1x.asy new file mode 100644 index 00000000000..f03714b79df --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/xsin1x.asy @@ -0,0 +1,10 @@ +import graph; +size(300,0); + +real f(real x) {return (x != 0.0) ? x * sin(1.0 / x) : 0.0;} +pair F(real x) {return (x,f(x));} + +xaxis("$x$",red); +yaxis(red); +draw(graph(f,-1.2/pi,1.2/pi,1000)); +label("$x\sin\frac{1}{x}$",F(1.1/pi),NW); diff --git a/Master/texmf/doc/asymptote/examples/xxsq01.asy b/Master/texmf/doc/asymptote/examples/xxsq01.asy new file mode 100644 index 00000000000..11a035f0418 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/xxsq01.asy @@ -0,0 +1,30 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,0,10,up=Y); + +pen color=green; +real alpha=250; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +revolution a=revolution(p3,X,-alpha,0); +draw(surface(a),color); + +surface s=surface(p); +draw(s,color); +draw(rotate(-alpha,X)*s,color); + +draw(p3,blue); + +xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); +dot(Label("$(1,1)$"),(1,1,0),X+Y); +arrow("$y=x$",(0.7,0.7,0),Y,0.75cm,red); +arrow("$y=x^2$",F3(0.7),X,0.75cm,red); +draw(arc(1.1X,0.3,90,90,3,-90),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy new file mode 100644 index 00000000000..2c4c9ec363c --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy @@ -0,0 +1,34 @@ +import graph3; +import solids; +size(300); +currentprojection=perspective(0,2,10,up=Y); +currentlight=(0.25,-0.25,5); + +pen color=green; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +revolution a=revolution(-X,p3,Y,0,180); +draw(surface(a),color); +surface s=surface(p); +draw(s,color); +transform3 t=shift(-2X)*rotate(180,Y); +draw(t*s,color); +draw(p3); +draw(t*p3); + +draw((-1,0,0)--(-1,1,0),dashed); +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); +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/doc/asymptote/examples/xxsq01y.asy b/Master/texmf/doc/asymptote/examples/xxsq01y.asy new file mode 100644 index 00000000000..14cf177256e --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/xxsq01y.asy @@ -0,0 +1,32 @@ +import solids; +size(0,150); +currentprojection=perspective(0,0,10); +pen color=green; +real alpha=240; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +draw(surface(revolution(p3,Y,0,alpha)),color); + +surface s=surface(p); +draw(s,color); +draw(rotate(alpha,Y)*s,color); + +draw(p3,blue); + +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); + +real r=0.4; +draw((r,f(r),0)--(r,r,0),red); +draw("$r$",(0,(f(r)+r)*0.5,0)--(r,(f(r)+r)*0.5,0),N,red,Arrows3,PenMargins3); +draw(arc(1.1Y,0.3,90,0,7.5,180),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/yingyang.asy b/Master/texmf/doc/asymptote/examples/yingyang.asy new file mode 100644 index 00000000000..68b0d0eea74 --- /dev/null +++ b/Master/texmf/doc/asymptote/examples/yingyang.asy @@ -0,0 +1,7 @@ +size(0,25cm); +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); +unfill(circle((0,0.5),0.125)); +fill(circle((0,-0.5),0.125)); diff --git a/Master/texmf/doc/info/dir b/Master/texmf/doc/info/dir index ef385264303..cf4fe4ea2c3 100644 --- a/Master/texmf/doc/info/dir +++ b/Master/texmf/doc/info/dir @@ -28,7 +28,7 @@ TeX * TDS: (tds). Standard TeX directory structure. * TeXDraw: (texdraw). Drawing PostScript diagrams within TeX. * Web2c: (web2c). TeX, Metafont, and companion programs. -* afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX. +* afm2tfm: (dvips)Invoking afm2tfm. Adobe to TeX font metrics. * bibtex: (web2c)bibtex invocation. Managing bibliographies. * dmp: (web2c)dmp invocation. Troff->MPX (MetaPost pictures). * dvicopy: (web2c)dvicopy invocation. Virtual font expansion. diff --git a/Master/tlpkg/tlpsrc/asymptote.tlpsrc b/Master/tlpkg/tlpsrc/asymptote.tlpsrc index eaf6c8037a3..de3761b9de0 100644 --- a/Master/tlpkg/tlpsrc/asymptote.tlpsrc +++ b/Master/tlpkg/tlpsrc/asymptote.tlpsrc @@ -1,5 +1,8 @@ category TLCore binpattern f bin/${ARCH}/*asy -docpattern f texmf/share/info/asy*.info +binpattern f/win32 bin/win32/cygwin1.dll +binpattern f/win32 bin/win32/glu32.dll +binpattern f/win32 bin/win32/freeglut.dll +docpattern f texmf/doc/info/asy*.info docpattern f texmf/man/man1/*asy.* runpattern d texmf/asymptote diff --git a/Master/tlpkg/tlpsrc/ulqda.tlpsrc b/Master/tlpkg/tlpsrc/ulqda.tlpsrc index e69de29bb2d..bcaa0be7a60 100644 --- a/Master/tlpkg/tlpsrc/ulqda.tlpsrc +++ b/Master/tlpkg/tlpsrc/ulqda.tlpsrc @@ -0,0 +1 @@ +binpattern f bin/${ARCH}/ulqda -- cgit v1.2.3