summaryrefslogtreecommitdiff
path: root/graphics/asymptote/doc/asymptote.texi
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/doc/asymptote.texi')
-rw-r--r--graphics/asymptote/doc/asymptote.texi51
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