diff options
Diffstat (limited to 'graphics/asymptote/doc/asymptote.texi')
-rw-r--r-- | graphics/asymptote/doc/asymptote.texi | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/graphics/asymptote/doc/asymptote.texi b/graphics/asymptote/doc/asymptote.texi index ff7df7a7bb..3b47d1f57d 100644 --- a/graphics/asymptote/doc/asymptote.texi +++ b/graphics/asymptote/doc/asymptote.texi @@ -769,7 +769,7 @@ setlocal errorformat=%f:\ %l.%c:\ %m Syntax highlighting support for the @acronym{KDE} editor @code{Kate} can be enabled by running @code{asy-kate.sh} in the @code{@value{Datadir}/asymptote} directory and putting the generated -@code{asymptote.xml} file in @code{~/.kde/share/apps/katepart/syntax/}. +@code{asymptote.xml} file in @code{~/.local/share/org.kde.syntax-highlighting/syntax/}. @node Git, Uninstall, Editing modes, Installation @section Git @@ -4048,6 +4048,7 @@ value, @code{settings.scroll=0}, specifies continuous scrolling. The routines @cindex @code{getstring} +@cindex @code{getint} @cindex @code{getreal} @cindex @code{getpair} @cindex @code{gettriple} @@ -4286,7 +4287,7 @@ structure. Trying to use a field of a null reference will cause an error. @cindex @code{!=} The function @code{bool alias(T,T)} checks to see if two structure references refer to the same instance of the structure (or both to @code{null}). -In example at the beginning of this section, @code{alias(foo,bar)} +In the example at the beginning of this section, @code{alias(foo,bar)} would return true, but @code{alias(foo,new T)} would return false, as @code{new T} creates a new instance of the structure @code{T}. The boolean operators @code{==} and @code{!=} are by default equivalent to @code{alias} and @@ -5570,6 +5571,19 @@ using the given @code{sign}; returns the unnormalized three-dimensional Fourier transform of @code{a} using the given @code{sign}; +@cindex @code{realschur} +@cindex @code{schur} +@item realschur schur(real[][] a) +returns a struct @code{realschur} containing a unitary matrix @code{U} and +a quasitriangular matrix @code{T} such that +@code{a=U*T*transpose(U)}; + +@cindex @code{schur} +@item schur schur(pair[][] a) +returns a struct @code{schur} containing a unitary matrix @code{U} and +a triangular matrix @code{T} such that +@code{a=U*T*conj(transpose(U))}; + @cindex @code{dot} @item real dot(real[] a, real[] b) returns the dot product of the vectors @code{a} and @code{b}; @@ -6336,7 +6350,7 @@ External @code{Asymptote} code can be included with @end verbatim @noindent so that @code{latexmk} will recognize when the code is changed. Note that -@code{latemk} requires @code{perl}, available from @url{https://www.perl.org/}. +@code{latexmk} requires @code{perl}, available from @url{https://www.perl.org/}. @cindex @code{width} @cindex @code{height} @@ -8081,7 +8095,7 @@ the indices of the elements in @code{v} that form the vertices of each triangle. Similarly, the arguments @code{n} and @code{ni} contain optional normal data and @code{p} and @code{pi} contain optional pen vertex data. If more than one normal or pen is specified for a vertex, the -last one specified is used. +last one is used. An example of this tessellation facility is given in @code{@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/triangles.html,,triangles}@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/triangles.asy,,.asy}}. @cindex @code{thin} @@ -8262,7 +8276,7 @@ The @acronym{PRC} specification is available from external viewer or conversion to an alternate 3D format with the Python @code{pyv3d} library. The @code{V3D} specification and the @code{pyv3d} library are available at -@url{https://gitlab.com/vectorgraphics/v3d}. +@url{https://github.com/vectorgraphics/v3d}. A @code{V3D} file @code{file.v3d} may be imported and viewed by @code{Asymptote} either by specifying @code{file.v3d} on the command line @verbatim @@ -8578,7 +8592,7 @@ by @code{y} in the @math{y} direction, and by @code{z} in the @math{z} direction; @cindex @code{rotate} @item rotate(real angle, triple v) -rotates by @code{angle} in degrees about an axis @code{v} through the origin; +rotates by @code{angle} in degrees about the axis @code{O--v}; @item rotate(real angle, triple u, triple v) rotates by @code{angle} in degrees about the axis @code{u--v}; @item reflect(triple u, triple v, triple w) @@ -8985,6 +8999,22 @@ An optional splinetype @code{Spline} may be specified. The boolean array or function @code{cond} can be used to control which surface mesh cells are actually drawn (by default all mesh cells over @code{box(a,b)} are drawn). + +@cindex @code{surface} +One can also construct the surface generated by rotating a path @code{g} +between @code{angle1} to @code{angle2} (in degrees) sampled @code{n} +times about the line @code{c--c+axis}: +@verbatim +surface surface(triple c, path3 g, triple axis, int n=nslice, + real angle1=0, real angle2=360, pen color(int i, real j)=null); +@end verbatim +@noindent +@cindex @code{color} +The optional argument @code{color(int i, real j)} can be used to override the +surface color at the point obtained by rotating vertex @code{i} by +angle @code{j} (in degrees). + +@noindent Surface lighting is illustrated in the example files @code{@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/parametricsurface.html,,parametricsurface}@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/parametricsurface.asy,,.asy}} and @code{@uref{https://asymptote.sourceforge.io/gallery/3D graphs/sinc.html,,sinc}@uref{https://asymptote.sourceforge.io/gallery/3D graphs/sinc.asy,,.asy}}. Lighting can be disabled by setting @code{light=nolight}, as in this example @@ -9547,7 +9577,7 @@ To produce @acronym{SVG} output, you will need @code{dvisvgm} (version You might need to adjust the configuration variable @code{libgs} to point to the location of your @code{Ghostscript} library @code{libgs.so} (or to an empty string, depending on how -@code{dvisvgm} was configured). The 2.10 version (or later) of +@code{dvisvgm} was configured). The 2.13.1 version (or later) of @code{dvisvgm} can display @acronym{SVG} output (used by the @code{xasy} editor) for embedded @acronym{EPS}, @acronym{PDF}, @acronym{PNG}, and @acronym{JPEG} images included with the @@ -9788,10 +9818,11 @@ and the @code{librsvg} package on @code{MacOS X}; under @url{https://sourceforge.net/projects/tumagcc/files/rsvg-convert-2.40.20.7z} +@cindex @code{dvisvgmMultipleFiles} Deconstruction of a picture into its components is fastest when using -the @code{LaTeX} TeX engine. One can speed up deconstruction for -other TeX engines using the 2.13.1 version or later of @code{dvisvgm} -and setting @code{dvisvgmMultipleFiles=true;} in the @code{Asymptote} configuration file (@pxref{configuration file}). +the @code{LaTeX} TeX engine. The default setting +@code{dvisvgmMultipleFiles=true} speeds up deconstruction +under @acronym{PDF} TeX engines. @node GUI usage, , GUI installation, GUI @section GUI usage |