(Version 1.9.2, February 15, 2022) |
Alphabetical Lists of Macros |
('\fig' Macros)
|
('\figwrite' Macros)
|
('\figdraw' Macros)
|
|
|
\figinit{ScaleFactorUnit} or \figinit{ScaleFactorUnit, 2D}
\figinit{ScaleFactorUnit, X} with X in {3D, cavalier, orthogonal, realistic}
|
Examples:
1
2
3
4
5
|
Initialization before the creation of a new figure. It is necessary to call this
macro in case of successive figures. No check is performed on the arguments.
First argument : Choice of the unit and the scale factor.
The unit can be one those defined in the TeX Book, namely: pt (TeX point),
pc (pica, 1pc = 12pt), in (inch, 1in = 72.27pt), bp (big point, 72bp = 1in),
cm (centimeter, 2.54cm = 1in), mm (millimeter, 10mm = 1cm), dd (point didot,
1157dd = 1238pt), cc (cicero, 1cc = 12dd), sp (scaled point, 65536sp = 1pt)
By default, pt is assumed and the scale factor is 1. For example, \figinit{in}
is equivalent to \figinit{2.54cm}.
Second argument (optional) : Choice of the space dimension and, in 3D, the
projection type.
If this argument is equal to 2D or absent, then geometry in the plane is assumed,
otherwise geometry in three dimensions is performed.
Moreover, if this argument is equal to:
. orthogonal, then the orthogonal projection is used,
. realistic, then the realistic projection is used,
. 3D or cavalier (or anything else), then the cavalier projection is used.
\figinsert{} or \figinsert{FileName} or \figinsert{FileName, ScaleFactor}
|
Examples:
1
2
3
4
5
|
Insertion of the file FileName in the page, scaled by ScaleFactor which by default
equals to 1. This macro must be used to include a graphical file created by Fig4TeX.
If the argument is empty or blank, the internal default file name is used, i.e. the
included file is the last file created by the command \figdrawbegin{}. Otherwise,
the first argument is assumed to be the valid file name of an existing file.
If given, the file name must not begin with a digit.
See also \figinsertE.
\figinsertE{FileName} or \figinsertE{FileName, ScaleFactor}
|
Examples:
1
2
3
|
Insertion of the external file FileName in the page, scaled by ScaleFactor
which by default equals to 1. In PDF mode, this macro allows to include
so-called "external" files such as JBIG2, JPEG, PDF or PNG files.
In DVI mode, this macro allows to include PostScript files only.
\figscan FileName(HX,HY)
|
Examples:
1
2
|
Draws a rectangular grid with horizontal and vertical steps HX and HY, with
numerical values corresponding to the bounding box read in the file FileName.
\figset projection (attribute1=value1, attribute2=value2,...)
|
Examples:
1
2
3
4
5
|
Setting the parameters governing the 3D -> 2D projection.
The general calling sequence is
\figset keyword (attribute1=value1, attribute2=value2,...)
Here, the required keyword is "projection". See the macro \figset in the section
"Macros for graphical generation" for the other keywords. The attributes are
given below, along with the possible values and their definition.
The current values can be obtained with the help of \figshowsettings.
- keyword = projection
. depth (or lambda) = real in [0,1] (default = 0.5): depth reduction coefficient
(for the cavalier projection).
. distance = real in user unit (default = 5 x the largest dimension of
the 3D bounding box): observation distance (for the realistic projection).
. latitude (or theta) = angle in degrees (default = 25): latitude of the
observation direction.
. longitude (or psi) = angle in degrees (default = 40): longitude of the
observation direction.
. targetpt = point number (default = center of the 3D bounding box): target
point (for the realistic projection).
Nota: These attributes must be set before step 2 (\figdrawbegin) and 3 (\figvisu).
The cavalier projection is only defined by depth and psi. In this case,
values of psi lying in [0,180] correspond to a view from above and to
a view from beneath for values lying in [-180,0].
The orthogonal projection is only defined by theta and psi.
The realistic projection is defined by theta, psi, distance and targetpt.
For those two projections, the observation direction is defined by the
longitude psi and the latitude theta, with (psi, theta) = (0, 0)
corresponding to the Ox line.
- other keywords : see "Control macros" in section "Macros for graphical generation".
\figshowsettings
|
Examples:
1
2
|
Prints to the terminal the current settings.
\figvisu{Vbox}{Caption}{Commands}
|
Examples:
1
2
3
4
5
|
Creation of a Vbox containing the figure and the legends defined by the Commands,
with a Caption centered below. Commands and Caption can be void.
Three boxes are preallocated and are available to the user: \figBoxA, \figBoxB
and \figBoxC (a single one is generally sufficient for a whole document since
it can be reused several times).
The numbers of the current figure and of the next one are also available via
the expandable macros \figforTeXFigno and \figforTeXnextFigno.
\figpt NewPt :Text(X,Y)
\figpt NewPt :Text(X,Y,Z)
|
Examples:
1
2
3
4
5
|
Definition of the point NewPt whose coordinates are (X,Y) or (X,Y,Z), with a joined Text.
If Z is missing, then Z=0 is assumed. The default Text is $A_i$ where i is the number of
the point (see \figset write(ptname={...})).
\figptbary NewPt :Text[Pt1,... ,PtN ; Coef1,... ,CoefN]
|
Examples:
1
2
3
4
5
|
Barycenter or centroid (with a joined Text) of N points bearing integer coefficients
\figptbaryR NewPt :Text[Pt1,... ,PtN ; Coef1,... ,CoefN]
|
Examples:
1
2
|
Barycenter or centroid (with a joined Text) of N points bearing real coefficients
\figptcopy NewPt :Text/Pt/
|
Examples:
1
2
|
Definition of NewPt, with an associated Text, with the same coordinates as Pt.
\figget keyword = \Result [Arg1,...ArgN]
\figget keyword OP value = \Result [Arg1,...ArgN]
|
Examples:
1
2
3
4
5
|
Computation of geometrical parameters specified by a keyword.
The simplified calling sequence is
\figget keyword = \Result [Arg1,...ArgN]
where \Result is a macro that holds the expected result and Argi are the arguments
needed to compute this value. \Result is a macro whose name is chosen by the user
and can then be used as a symbolic numerical constant.
The computed value can be modified by an arithmetic operation by using the general
calling sequence
\figget keyword OP value = \Result [Arg1,...ArgN]
where OP is one of *, / or +, and value is a numerical constant or a symbolic numerical
constant (i.e. stored in a macro). Thus, if e denotes the neutral element of OP, the
simplified calling sequence above is equivalent to
\figget keyword OP e = \Result [Arg1,...ArgN]
For each keyword, the definition of the associated parameter is given below along with
the simplified calling sequence:
- keyword = angle
|
Examples:
1
|
Calling sequence in 2D: \figget angle = \Result [Center,Pt1,Pt2]
Calling sequence in 3D: \figget angle = \Result [Center,Pt1,Pt2,Pt3]
Computation of the value \Result (in degrees) of the oriented angle (CP1, CP2), where
C=Center, P1=Pt1, P2=Pt2.
In 3D, the plane is oriented so that the angle is measured counterclockwise around the
vector CP1 x CP3, where P3=Pt3. Notice that C, P1, P2 and P3 must be coplanar, but P3
must not lie on the line (C,P1).
- keyword = distance
|
Examples:
1
2
3
4
5
|
Calling sequence: \figget distance = \Result [Pt1,Pt2]
Computation of the euclidian distance \Result between the points Pt1 and Pt2.
The distance is expressed in user units.
\figvectC NewVect (X,Y)
\figvectC NewVect (X,Y,Z)
|
Examples:
1
2
3
4
5
|
Definition of the vector NewVect with components (X,Y) or (X,Y,Z).
If Z is missing, then Z=0 is assumed.
\figvectN NewVect [Pt1,Pt2]
\figvectN NewVect [Pt1,Pt2,Pt3]
|
Examples:
1
2
3
4
5
|
Definition of the vector NewVect which is:
. in 2D, the vector with origin point Pt1 and end point Pt2 rotated by pi/2
(so normal to [Pt1,Pt2]),
. in 3D, the vector product P1P2 / ||P1P2|| x P1P3 / ||P1P3||, ie a vector normal to
the plane defined by the 3 points and so that (P1P2, P1P3, NewVect) is a positively
oriented basis.
\figvectNV NewVect [Vector]
\figvectNV NewVect [Vector1, Vector2]
|
Examples:
1
2
|
Definition of the vector NewVect which is:
. in 2D, the vector Vector rotated by pi/2
. in 3D, the vector product Vector1 / ||Vector1|| x Vector2 / ||Vector2|| so that
(Vector1, Vector2, NewVect) is a positively oriented basis.
\figvectP NewVect [Pt1,Pt2]
|
Examples:
1
2
3
4
5
|
Definition of the vector NewVect with origin point Pt1 and end point Pt2.
\figvectU NewVect [Vector]
|
Examples:
1
2
3
4
|
Definition of the unitary vector NewVect which is Vector normalized according to
the unit and the scale factor chosen by the user (see \figinit).
\figptmap NewPt :Text= Pt /InvPt/A11,A12 ; A21,A22/
\figptmap NewPt :Text= Pt /InvPt/A11,A12,A13 ; A21,A22,A23 ; A31,A32,A33/
|
Examples:
1
|
Image NewPt (with a joined Text) of point Pt by the mapping defined by:
. an invariant point InvPt
. the matrix A whose coefficients are Aij, i,j in [1,d], d=2 in 2D or d=3 in 3D.
If I=InvPt, P=Pt, P'=NewPt, P' is computed as IP' = A (IP).
\figpthom NewPt :Text= Pt /Center, Ratio/
|
Examples:
1
2
3
4
5
|
Image NewPt of point Pt by the homothety of center Center and of ratio Ratio
with a joined Text
\figptinv NewPt :Text= Pt /Center, Ratio/
|
Examples:
1
|
Image NewPt of point Pt by the inversion of center Center and of ratio Ratio
with a joined Text
\figptrot NewPt :Text= Pt /Center, Angle/
\figptrot NewPt :Text= Pt /Center, Angle, Vector/
|
Examples:
1
2
3
4
5
|
Image NewPt (with a joined Text) of point Pt by the rotation defined:
. in 2D, by the center Center and the angle Angle (in degrees),
. in 3D, by the axis (Center, Vector) and the angle Angle (in degrees).
Pt is rotated by Angle around the axis. The sense of rotation is such that
(CP, CP', Vector) is a positively oriented basis, where C=Center, P=Pt, P'=NewPt.
\figptsym NewPt :Text= Pt /LinePt1, LinePt2/
\figptsym NewPt :Text= Pt /PlanePt, NormalVector/
|
Examples:
1
|
Image NewPt (with a joined Text) of point Pt by the orthogonal symmetry
with respect to:
. in 2D, the line defined by the points LinePt1 and LinePt2,
. in 3D, the plane defined by the point PlanePt and the vector NormalVector normal
to the plane.
\figpttra NewPt :Text= Pt /Lambda, Vector/
|
Examples:
1
2
3
4
5
|
Image NewPt of point Pt by the translation of vector Lambda * Vector
with a joined Text.
\figpttraC NewPt :Text= Pt /X,Y/
\figpttraC NewPt :Text= Pt /X,Y,Z/
|
Examples:
1
2
3
4
5
|
Image NewPt of point Pt by the translation of vector (X,Y) in 2D, (X,Y,Z) in 3D
with a joined Text.
\figptorthoprojline NewPt :Text= Pt /LinePt1, LinePt2/
|
Examples:
1
2
3
4
5
|
Image NewPt of point Pt by the orthogonal projection onto the line (LinePt1,LinePt2),
with a joined Text.
\figptorthoprojplane NewPt :Text= Pt /PlanePt, NormalVector/
|
Examples:
1
2
|
Image NewPt of point Pt by the orthogonal projection onto the plane defined by
the point PlanePt and the normal vector NormalVector, with a joined Text.
\figptsmap NewPt1 = Pt1, Pt2, ..., PtN /InvPt/A11,A12 ; A21,A22/
\figptsmap NewPt1 = Pt1, Pt2, ..., PtN /InvPt/A11,A12,A13; A21,A22,A23; A31,A32,A33/
|
Examples:
1
2
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the mapping defined by:
. an invariant point InvPt
. the matrix A whose coefficients are Aij, i,j in [1,d], d=2 in 2D or d=3 in 3D.
If I=InvPt, P=Pti, P'=NewPti, P' is computed as IP' = A (IP).
See following information at \figptstra.
\figptshom NewPt1 = Pt1, Pt2, ..., PtN /Center, Ratio/
|
Examples:
1
2
3
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the homothety of center Center and of ratio Ratio.
See following information at \figptstra.
\figptsinv NewPt1 = Pt1, Pt2, ..., PtN /Center, Ratio/
|
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the inversion of center Center and of ratio Ratio.
See following information at \figptstra.
\figptsrot NewPt1 = Pt1, Pt2, ..., PtN /Center, Angle/
\figptsrot NewPt1 = Pt1, Pt2, ..., PtN /Center, Angle, Vector/
|
Examples:
1
2
3
4
5
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the rotation defined:
. in 2D, by the center Center and the angle Angle (in degrees),
. in 3D, by the axis (Center, Vector) and the angle Angle (in degrees). Each point
Pti is rotated by Angle around the axis. The sense of rotation is such that
(CP, CP', Vector) is a positively oriented basis, where C=Center, P=Pti, P'=NewPti.
See following information at \figptstra.
\figptssym NewPt1 = Pt1, Pt2, ..., PtN /LinePt1, LinePt2/
\figptssym NewPt1 = Pt1, Pt2, ..., PtN /PlanePt, NormalVector/
|
Examples:
1
2
3
4
5
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the orthogonal symmetry with respect to:
. in 2D, the line defined by the points LinePt1 and LinePt2,
. in 3D, the plane defined by the point PlanePt and the vector NormalVector normal
to the plane. See following information at \figptstra.
\figptstra NewPt1 = Pt1, Pt2, ..., PtN /Lambda, Vector/
|
Examples:
1
2
3
4
5
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the translation of vector Lambda * Vector
- Common information to all multiple results macros -
Text eventually previously associated with the result points is lost.
The result points NewPti have successive numbers.
The data points Pti can be given in any order.
WARNING : Let Ir (resp. Id) the set of the result points numbers (resp. the set
of the given points numbers). Let J the intersection of Ir and Id.
1) Ir = Id, or J is empty, or NewPt1 does not belong to J: no problem.
2) Otherwise, the result given by the macro MAY BE WRONG, at least partially:
this is because, in this case, NewPt1 belongs to J, and the given points are
taken into account sequentially, beginning from the first element in the list.
-> Take note that one can take advantage of this feature to create a sequence
of points such that P_{n+1} is the image of P_{n}. For example, given point 1,
the statement \figptsXXX 2=1,2/.../ will create point 2 image of point 1,
and point 3 image of point 2.
\figptstraC NewPt1 = Pt1, Pt2, ..., PtN /X,Y/
\figptstraC NewPt1 = Pt1, Pt2, ..., PtN /X,Y,Z/
|
Examples:
1
2
3
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the translation of vector (X,Y) in 2D, (X,Y,Z) in 3D
See following information at \figptstra.
\figptsorthoprojline NewPt1 = Pt1, Pt2, ..., PtN /LinePt1, LinePt2/
|
Examples:
1
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the orthogonal projection onto the line (LinePt1, LinePt2).
\figptsorthoprojplane NewPt1 = Pt1, Pt2, ..., PtN /PlanePt, NormalVector/
|
Examples:
1
|
Images NewPt1, NewPt1+1,..., NewPt1+(N-1) of points Pt1, Pt2, ..., PtN
by the orthogonal projection onto the plane defined by the point PlanePt and the
normal vector NormalVector.
\figptinterlines NewPt :Text[LinePt1,Vector1; LinePt2,Vector2]
|
Examples:
1
2
3
4
5
|
Intersection of the line defined by the point LinePt1 and the vector Vector1
and the line defined by the point LinePt2 and the vector Vector2
with a joined Text
\figptinterlineplane NewPt :Text[LinePt,Vector; PlanePt,NormalVector]
|
Examples:
1
2
3
4
5
|
Intersection of the line defined by the point LinePt and the vector Vector
and the plane defined by the point PlanePt and the normal vector NormalVector
with a joined Text.
\figptsaxes NewPt1 : Origin(X1,X2, Y1,Y2)
\figptsaxes NewPt1 : Origin(X1,X2, Y1,Y2, Z1,Z2)
\figptsaxes NewPt1 : Origin(L)
|
Examples:
1
2
3
4
5
|
End points NewPt1, NewPt1+1 (and NewPt1+2 in 3D) of the arrows corresponding to
the axes, drawn by the macro \figdrawaxes. The text $x$, $y$ (and $z$ in 3D) is
automatically joined to the points, so that writing the legend with the
\figwriteX macros is more straightforward. For example, in 2D, one can write
something like: \figwrites NewPt1:(3pt) \figwritew NewPt1+1:(3pt)
Remember that these macros can override the default text setting.
The short form \figptsaxes NewPt1 : Origin(L) is equivalent to
\figptsaxes NewPt1 : Origin(0,L, 0,L) in 2D and
\figptsaxes NewPt1 : Origin(0,L, 0,L, 0,L) in 3D.
NOTA: For simplicity of use, the arguments of this macro are deduced from
those of \figdrawaxes.
\figptendnormal NewPt :Text: Length,Lambda [Pt1,Pt2]
|
Examples:
1
|
End point (with a joined Text) of the "exterior normal" to the segment [Pt1, Pt2].
The length of the normal vector is Length. Lambda is the abscissa in [0,1] of the
origin of the normal with respect to the segment [Pt1, Pt2], 0 corresponding to Pt1
and 1 to Pt2. This sets the position of the normal vector along [Pt1, Pt2].
In 3D-mode, it works only in the plane Z=0.
\figptsintercirc NewPt1 [Center1,Radius1 ; Center2,Radius2]
\figptsintercirc NewPt1 [Center1,Radius1 ; Center2,Radius2 ; PlanePt]
|
Examples:
1
2
3
4
|
Intersections NewPt1 and NewPt2 (=NewPt1+1) of the two circles defined by their
center and radius, (Center1,Radius1) and (Center2,Radius2).
NewPt1 and NewPt2 must be different from Center1 and Center2.
NewPt1 and NewPt2 are ordered so that the angle (NewPt1, Center1, NewPt2) is positive.
If the two circles do not intersect, then NewPt1=Center1 and NewPt2=Center2.
In 3D, the plane containing the two circles is defined by the three points Center1,
Center2 and PlanePt (which must not lie on the same line). The three points
(NewPt1, Center1, NewPt2) defined the same orientation as (Center2, Center1, PlanePt).
\figptsinterlinell NewPt1 [Center,XRad,YRad,Inclination ; LinePt1,LinePt2]
|
Examples:
1
2
3
|
Intersections NewPt1 and NewPt2 (=NewPt1+1) of the line (LinePt1, LinePt2) and
the ellipse defined by Center, XRad, YRad and Inclination (see \figptell).
NewPt1 and NewPt2 must be different from LinePt1.
NewPt1 and NewPt2 are ordered so that the vectors NewPt1NewPt2 and LinePt1LinePt2
have the same direction.
If the line does not intersect the ellipse, then NewPt1=LinePt1 and NewPt2=LinePt2.
In 3D-mode, it works only in the plane Z=0.
\figptsinterlinellP NewPt1 [Center,PtAxis1,PtAxis2 ; LinePt1,LinePt2]
|
Examples:
1
|
Intersections NewPt1 and NewPt2 (=NewPt1+1) of the line (LinePt1, LinePt2) and
the ellipse defined by its Center, and the end points of its axes, A1=PtAxis1 and
A2=PtAxis2. The local axes are then defined by the basis (CA1, CA2).
NewPt1 and NewPt2 must be different from LinePt1.
NewPt1 and NewPt2 are ordered so that the vectors NewPt1NewPt2 and LinePt1LinePt2
have the same direction.
If the line does not intersect the ellipse, then NewPt1=LinePt1 and NewPt2=LinePt2.
In 3D, the 5 data points must lie in the same plane ; this is not checked.
\figptvisilimSL NewPt:Text[SegPt1,SegPt2 ; LinePt1,LinePt2]
|
Examples:
1
|
Apparent intersection NewPt (with a joined Text) of the segment [SegPt1,SegPt2]
and the line (LinePt1,LinePt2). NewPt is the visible limit of the segment hidden
by an object an edge of which is lying on the line.
If the projection of the line intersects the segment, the solution NewPt lies
between SegPt1 and SegPt2, otherwise NewPt = SegPt1.
\figptcircumcenter NewPt :Text[Pt1,Pt2,Pt3]
|
Examples:
1
2
3
|
Center NewPt of the circumscribed circle to the triangle (Pt1,Pt2,Pt3) with a joined Text.
\figptexcenter NewPt :Text[Pt1,Pt2,Pt3]
|
Examples:
1
|
Center NewPt (with a joined Text) of the escribed circle to the triangle (Pt1,Pt2,Pt3)
opposite to Pt1.
\figptincenter NewPt :Text[Pt1,Pt2,Pt3]
|
Examples:
1
2
|
Center NewPt (with a joined Text) of the inscribed circle to the triangle (Pt1,Pt2,Pt3).
\figptorthocenter NewPt :Text[Pt1,Pt2,Pt3]
|
Examples:
1
2
|
Orthocenter NewPt of the triangle (Pt1,Pt2,Pt3) with a joined Text.
\figptcirc NewPt :Text: Center;Radius (Angle)
\figptcirc NewPt :Text: Center,Pt1,Pt2;Radius (Angle)
|
Examples:
1
2
3
4
5
|
Creation of the point NewPt, with an associated Text, on the circle defined by its Center,
and its Radius. The position of the point is set by the Angle given in degrees.
In 3D, the circle is lying in the plane (Center,Pt1,Pt2) = (C,P1,P2) and
the Angle is measured counterclockwise around the vector CP1 x CP2, starting from
the half-line (C,P1).
\figptell NewPt :Text: Center;XRad,YRad (Angle,Inclination)
|
Examples:
1
2
3
4
5
|
Creation of the point NewPt, with an associated Text, on the ellipse defined by Center,
XRad, YRad and Inclination. Inclination is the rotation angle of the local axes with
respect to the paper sheet. The position of the point is set by the parametrization
Angle given in local axes. The two angles are given in degrees.
In 3D-mode, it works only in the plane Z=0.
\figptellP NewPt :Text: Center,PtAxis1,PtAxis2 (Angle)
|
Examples:
1
|
Creation of the point NewPt, with an associated Text, on the ellipse defined by its Center,
and the end points of its axes, A1=PtAxis1 and A2=PtAxis2. The local axes are then
defined by the basis (CA1, CA2). The position of the point is set by the parametrization
Angle given in degrees, starting from the half-line (C,A1) and measured counterclockwise
around the vector CA1 x CA2.
\figptBezier NewPt :Text: t [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
2
3
4
5
|
Computes the point NewPt (with a joined Text) lying on the cubic Bezier curve defined
by the four control points Pt1, Pt2, Pt3 and Pt4, for the parameter value t.
We recall that if t=0, NewPt=Pt1 and if t=1, NewPt=Pt4.
\figptscontrol NewPt1 [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
2
3
4
|
Computes the two control points NewPt1 and NewPt2 (=NewPt1+1) so that the cubic Bezier
curve defined by the control points Pt1, NewPt1, NewPt2 and Pt4 interpolates the
four points Pt1, Pt2, Pt3 and Pt4 with respective parameter values of 0, 1/3, 2/3 and 1.
The result points numbers can be anyone including Pt1, Pt2, Pt3 and Pt4.
\figptscontrolcurve NewPt1, \NbArcs [Pt0,Pt1,... ,PtN,PtN+1]
|
Examples:
1
|
Computes the control points NewPt1, NewPt1+1,..., NewPt1+M used by the macro
\figdrawcurve when it is invoqued by \figdrawcurve [Pt0,Pt1,... ,PtN,PtN+1]
which draws a curve that consists in N-1 cubic Bezier arcs.
\NbArcs is a TeX macro whose name is chosen by the user. It can be considered
as a variable and on output, its value is N-1 so that the calling sequence
\figdrawBezier \NbArcs [NewPt1, NewPt1+1,..., NewPt1+M] draws exactly the same curve.
As a consequence, the data points Pti are duplicated on output : indeed, we have
NewPt1+J = Pti with J=3*(i-1), i=1,...N.
The result points numbers must be different from any of Pt0,Pt1,... ,PtN,PtN+1.
On output, a total of M+1 points are created, with M = 3 * \NbArcs.
NOTA : this macro uses the current value of curve roundness.
\figptcurvcenter NewPt :Text: t [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
2
|
Curvature center NewPt (with a joined Text) at the point lying on the cubic Bezier curve
defined by the four control points Pt1, Pt2, Pt3 and Pt4, for the parameter value t.
\figvectDBezier NewVect : n, t [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
2
3
4
|
Computes the vector NewVect corresponding to the derivative of order n of the cubic Bezier
curve defined by the four control points Pt1, Pt2, Pt3 and Pt4, for the parameter value t.
The order n must be equal to 1 or 2.
\figcoord{NDec}
|
Examples:
1
2
3
|
To write the coordinates of a point. To be used in the joined text argument
of the macros that create points or the non-mute macros \figwrit* .
Only NDec decimals are printed, after rounding. If NDec is absent, then the number
of decimals to print is obtained from last call to \figset write (rounding=...)).
The default value is 2.
\figround{RealNumber}
|
Examples:
1
|
Rounds a numerical value. To be used in the joined text argument of the macros
that create points and the non-mute macros \figwrit* . The number of decimals
displayed is set by \figset write (rounding=...). The value to be rounded is
generally a computed value, e.g. by \figget.
\figset write(attribute1=value1, attribute2=value2,...)
|
Examples:
1
2
3
4
5
|
Setting the attributes the \figwriteXX macros depend on.
The general calling sequence is
\figset keyword (attribute1=value1, attribute2=value2,...)
Here, the required keyword is "write". See the macro \figset in the section
"Macros for graphical generation" for the other keywords. The attributes are
given below, along with the possible values and their definition.
The current values can be obtained with the help of \figshowsettings.
- keyword = write
. mark = symbol : controls how the point position is shown ; the point marker
to be written can be a point (.) or $\bullet$ for example.
By default, nothing is written.
. ptname = text : controls the definition of the point name ; the default name
for the point i is $A_i$: \figset write(ptname={$X^{(#1)}$})
changes it to $X^{(i)}$ for example.
. rounding = Nd : sets Nd as the number of decimals printed with \figcoord or
\figround, after rounding.
- other keywords : see "Control macros" in section "Macros for graphical generation".
\figshowpts[Nmin, Nmax]
|
Examples:
1
2
3
4
5
|
Shows on the figure the location of every point defined since the beginning
of the session, whose number lies in the interval [Nmin, Nmax].
Writes a bullet at each location point along with the number of the point or
the joined text if any.
CAUTION :
If Nmax-Nmin is too large, an error message "! TeX capacity exceeded" may occur.
\figwrite[Pt1, Pt2, ..., PtN]{Text}
|
Examples:
1
2
3
4
5
|
Writing a Text after Pt1, Pt2, ..., PtN according to TeX's alignment.
\figwritec[Pt1, Pt2, ..., PtN]{Text}
|
Examples:
1
2
3
4
5
|
Writing a Text vertically and horizontally centered at Pt1, Pt2, ..., PtN.
\figwritep[Pt1, Pt2, ..., PtN]
|
Examples:
1
2
3
4
5
|
Writing the point marker at the locations defined by Pt1, Pt2, ..., PtN.
\figwritew Pt1, Pt2, ..., PtN :Text(Distance)
\figwritee Pt1, Pt2, ..., PtN :Text(Distance)
\figwriten Pt1, Pt2, ..., PtN :Text(Distance)
\figwrites Pt1, Pt2, ..., PtN :Text(Distance)
|
Examples:
1
2
3
4
5
|
Writing the point marker at the locations defined by Pt1, Pt2, ..., PtN, with a Text
placed, with respect to each point, at a given Distance from each point towards
the west, the east, the north or the south. Distance measures the shortest path
between each Pti and the bounding box of the Text.
\figwritenw Pt1, Pt2, ..., PtN :Text(Distance)
\figwritesw Pt1, Pt2, ..., PtN :Text(Distance)
\figwritene Pt1, Pt2, ..., PtN :Text(Distance)
\figwritese Pt1, Pt2, ..., PtN :Text(Distance)
|
Examples:
1
2
3
4
5
|
Writing the point marker at the locations defined by Pt1, Pt2, ..., PtN, with a Text
placed, with respect to each point, at a given Distance from each point towards
the north-west, the south-west, the north-east or the south-east. Distance measures
the shortest path between each Pti and the bounding box of the Text.
\figwritebw Pt1, Pt2, ..., PtN :Text(Distance)
\figwritebe Pt1, Pt2, ..., PtN :Text(Distance)
\figwritebn Pt1, Pt2, ..., PtN :Text(Distance)
\figwritebs Pt1, Pt2, ..., PtN :Text(Distance)
|
Examples:
1
|
Writing a point marker at the locations defined by Pt1, Pt2, ..., PtN, with a Text
placed, with respect to each point, at a given Distance from each point towards
the west, the east, the north or the south (BASELINE version).
If X=w or e, Distance measures the length between Pti and the end (resp. the beginning)
of the Text, while the baseline of the Text is set to Pti's ordinate.
If X=n or s, the Text is horizontally centered and Distance measures the length between
Pti and the baseline of the Text.
\figwritegcw Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)
\figwritegce Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)
|
Examples:
1
|
Writing the point marker at the locations defined by Pt1, Pt2, ..., PtN, with a Text
placed, with respect to each point, at a horizontal distance DistanceX (west or east)
and a vertical distance DistanceY between the point and the mid-height of the text.
\figwritegw Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)
\figwritege Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)
|
Examples:
1
2
|
Writing the point marker at the locations defined by Pt1, Pt2, ..., PtN, with a Text
placed, with respect to each point, at a horizontal distance DistanceX (west or east)
and a vertical distance DistanceY from the bottom of the bounding box of the Text if
DistanceY > 0, from its top if DistanceY < 0. If DistanceY = 0, the Text is vertically
centered.
\figwritelw Pt1, Pt2, ..., PtN :Text(Distance)
\figwritele Pt1, Pt2, ..., PtN :Text(Distance)
\figwriteln Pt1, Pt2, ..., PtN :Text(Distance)
\figwritels Pt1, Pt2, ..., PtN :Text(Distance)
\figwriteln Pt1, Pt2, ..., PtN :Text(Distance,lambda)
\figwritels Pt1, Pt2, ..., PtN :Text(Distance,lambda)
|
Examples:
1
|
Writing the Text placed at a given Distance from the reference point associated
to each segment, towards the west, the east, the north or the south.
A segment [Pti, Pt{i+1}] is defined by two consecutive points in the list.
The reference point used to write the text is defined as follows:
- when writing towards the west (resp. the east), the reference point is Pti
(resp. Pt{i+1}),
- when writing towards the north or the south, the reference point is Qi, the
barycenter of (Pti, 1-lambda) and (Pt{i+1}, lambda). Thus, lambda = 0
corresponds to Pti and lambda = 1 to Pt{i+1}. By default, lambda = 1/2.
The writing direction is parallel to each segment.
The argument Distance measures the shortest path between each reference point
(Qi, Pti or Pt{i+1}) and the bounding box of the Text.
By default, the text written is:
- the text associated to point Pti (resp. Pt{i+1}), if X=w (resp. X=e),
- the length (in user unit) of the segment, if X=n or X=s.
\figwritedim Pt1, Pt2 :Text(Distance)
|
Examples:
1
2
|
Write a Text (assumed to denote a dimension) at the distance Distance of the
midpoint of the segment [Pt1, Pt2], oriented from west to east. If Distance<0,
the text is written at the south of the segment, at the north otherwise.
If Text is empty, the value of the distance between Pt1 and Pt2 is written.
In this case, the written value can be rounded with the help of the macro
\figset write(rounding=...).
This macro is the companion macro of \figdrawdim so that the arguments Pt1, Pt2
and Distance are generally the same.
\figdrawbegin{} or \figdrawbegin{FileName}
|
Examples:
1
2
3
4
5
|
Starting the creation of a graphical file whose name is FileName.
If the argument FileName is empty or blank, an internal default file name is used,
which is always updated, regardless the update mode.
See \figinsert for details.
\figdrawend
|
Examples:
1
2
3
4
5
|
End of the current graphical file.
\figreset{keyword1, keyword2,...}
|
Examples:
1
2
3
4
5
|
To reset one or several groups of graphical attributes to their default values.
The groups of attributes are denoted with keywords which are:
- NO keyword or keyword = general to reset the general (or top-level) attributes,
- altitude to reset the altitude attributes,
- arrowhead to reset the arrowhead attributes,
- curve to reset the (\figdraw)curve attributes,
- general to reset the general (or top-level) attributes,
- flowchart to reset the flow chart attributes,
- mesh to reset the (\figdraw)mesh attributes,
- sign to reset the (\figdraw)sign attributes,
- trimesh to reset the (\figdraw)trimesh attributes.
\figset keyword (attribute1=value1, attribute2=value2,...)
|
Examples:
1
2
3
4
5
|
Setting graphical attributes or parameters acting on the appearance of the figure,
which are to be given as pairs of the form attribute = value.
The general calling sequence is
\figset keyword (attribute1=value1, attribute2=value2,...)
For each keyword, the attributes are given below, along with the possible values
and their definition.
The current values can be obtained with the help of \figshowsettings.
- NO keyword or keyword = general
. alpha = transparency level : makes lines and filled areas more or less transparent
(real number between 0 (transparent, invisible) and 1 (opaque).
. cap = butt, round or square : line cap parameter that establishes the shape to be
put at the ends of a straight line. It may be usefull when wide lines are used.
. color = color definition : line or area color in cmyk or rgb color code,
or in gray tone (real number between 0 (black) and 1 (white).
. dash = index or dash pattern : line style given by Index (Index = 1 to 10,
1 meaning "solid line") or by Pattern.
. fillmode = yes/no : setting the filling mode to "no" tells the drawing macros
to draw lines ; setting the filling mode to "yes" tells the macros to fill
the appropriate area using the current color or gray shade.
. join = miter (V), round (U) or bevel (\_/) : line join parameter that establishes
the shape to be put at the corners of a polygonal line. Best rendering is
obtained with join=round when more than 2 segments meet at a corner.
. update = yes/no : setting the update mode to "yes" (resp. to "no") before
\figdrawbegin enforces (resp. avoids) the graphical file to be recreated at
each compilation.
. width = dimension in PostScript unit : line width.
Note : has no effect on a straight line after \figset (fillmode=yes).
- keyword = altitude
|
Examples:
1
2
|
All attributes are DDV (they have a dynamic default value).
The following attributes affect the aspect of the extension of the base line drawn
when the foot of the altitude lies outside the triangle:
. blcolor = color definition : controls the color of the base line,
. bldash = index or dash pattern : controls the style of the base line,
. blwidth = dimension in PostScript unit : controls the width of the base line.
The following attributes affect the aspect of the square of the altitude:
. sqcolor = color definition : controls the color of the square,
. sqdash = index or dash pattern : controls the style of the square,
. sqwidth = dimension in PostScript unit : controls the width of the square.
- keyword = arrowhead
|
Examples:
1
2
3
4
5
|
. angle = real in degrees : arrowhead opening half-angle.
. fillmode = yes/no : arrowhead filling switch, which tells whether the interior
of the arrowhead must be filled or not.
. length = real in user unit : length of each edge of the arrowhead.
. out = yes/no : arrowhead "outside" switch, which tells whether the arrowhead
must be drawn outside the body of the arrow (as if it was rotated by 180 degrees
around the end point) or not.
. ratio = real in [0,1] : arrowhead ratio defining the arrowhead length so that
it is equal to ratio * (body length).
Nota : The two attributes length and ratio are mutually exclusive ; the default is
to use the length.
- keyword = curve
|
Examples:
1
2
|
. roundness = real usually in [0,0.5] : roundness of a C1 curve.
- keyword = flowchart
|
Examples:
1
2
3
4
5
|
. arrowposition = real in [0,1] : arrowhead position along the path,
0 corresponding to the beginning and 1 to the end of the path.
. arrowrefpt = start/end : reference point of the arrowhead to its start point or
to its end point ; the arrowhead position is computed with respect to this point.
. bgcolor = color definition : controls the color of the frame background.
. line = polygon/curve : tells \figdrawfcconnect to draw the path between two nodes
using polygonal lines or smooth curved lines.
. padding = real in user unit (see xpadding and ypadding): space surrounding
the text inside a frame. Both horizontal and vertical padding are set to the
same value. This attribute allows to reduce or enlarge the frames drawn at the
nodes of the flow chart, starting from the internal default dimensions.
. radius = positive real in user unit : radius of the circular arcs to be
drawn at the corners of the path when the line is polygonal.
. shape = circle, ellipse, lozenge or rectangle : shape of the frames.
. thickcolor = color definition : controls the color of the thickness of the frames.
. thickness = real in user unit : thickness of the frames.
. xpadding = real in user unit : horizontal space around the text inside a frame.
. ypadding = real in user unit : vertical space around the text inside a frame.
Notice that the frame border color is the general color.
- keyword = mesh
|
Examples:
1
|
. diag = integer in {-1,0,1} : controls the drawing of a grid mesh.
If diag=0, each cell is empty ; if diag=1 (resp. diag=-1), the SW-NE diagonal (resp.
the NW-SE diagonal) is drawn inside each cell.
The following DDV attributes affect the aspect of the lines used to draw the mesh
inside the quadrangle:
. color = color definition : controls the color of the lines,
. dash = index or dash pattern : controls the style of the lines,
. width = dimension in PostScript unit : controls the width of the lines.
- keyword = projection : see "Control macros" in section "Geometrical macros - Mute macros".
- keyword = sign
|
Examples:
1
2
3
4
|
. dimension = positive real in user unit : characteristic dimension of the sign,
. shape = circle, diamond, square, star, triangle : shape of the sign.
The following attributes affect the aspect of the lines used to draw the sign:
. color = color definition (DDV attribute) : controls the color of the contour lines
or their interior,
. dash = index or dash pattern : controls the style of the contour lines,
. fillmode = yes/no : sign filling switch, which tells whether the interior
of the sign must be filled or not.
. join = miter (V), round (U) or bevel (\_/) : line join parameter of the contour lines
. width = dimension in PostScript unit (DDV attribute) : width of the contour lines.
- keyword = trimesh
|
Examples:
1
|
The following DDV attributes affect the aspect of the lines used to draw the mesh
inside the triangle:
. color = color definition : controls the color of the lines,
. dash = index or dash pattern : controls the style of the lines,
. width = dimension in PostScript unit : controls the width of the lines.
- keyword = write : see "Control macros" in section "Writing macros - Non-mute macros".
\figsetdefault keyword (attribute1=value1, attribute2=value2,...)
|
Examples:
1
2
|
Global setting of the default values of graphical attributes, which are to be given
as pairs of the form attribute=NewDefaultValue. This is not applicable to DDV attributes.
The attributes are set up to the end of the document or up to next call to this macro.
For each keyword, the attributes are listed below ; see \figset for their definition.
For dimension attributes, a unit should be specified, e.g.
\figsetdefault arrowhead(length=10pt).
- NO keyword or
keyword = general: transparency, cap, color, dash, fillmode, join, update, width,
- keyword = arrowhead: angle, fillmode, length, out, ratio,
- keyword = curve: roundness,
- keyword = flowchart: arrowposition, arrowrefpt, bgcolor, line, padding, radius,
shape, thickness, xpadding, ypadding,
- keyword = mesh: diag,
- keyword = sign: dimension, shape.
\figdrawcirc Center (Radius)
\figdrawcirc Center,Pt1,Pt2 (Radius)
|
Examples:
1
2
3
4
5
|
Circle of center Center and of radius Radius.
In 3D, the circle is in the plane defined the 3 points Center, Pt1 and Pt2 ;
Pt1 and Pt2 do not need to lie on the circle.
\figdrawline[Pt1,Pt2,... ,PtN]
|
Examples:
1
2
3
4
5
|
Line defined by N points, closed if the last point number equals the first one.
\figdrawlineC(X1 Y1, X2 Y2,..., XN YN)
\figdrawlineC(X1 Y1 Z1, X2 Y2 Z2,..., XN YN ZN)
|
Examples:
1
2
3
4
5
|
Line defined by N points, closed if the last point number equals the first one.
The points are given by their coordinates, each of them separated by a white space.
\figdrawlineF{FileName}
|
Examples:
1
2
|
Line defined by points read from the text file FileName, which contains the
coordinates of the points, one point per line, given as X Y in 2D and as
X Y Z in 3D (the values must be separated by a white space and nothing else).
The line is closed if the last point equals the first one.
\figdrawarccirc Center ; Radius (Ang1,Ang2)
\figdrawarccirc Center,Pt1,Pt2 ; Radius (Ang1,Ang2)
|
Examples:
1
2
3
4
5
|
Circular arc of center Center and radius Radius limited by the angles
Ang1 and Ang2 given in degrees.
In 2D, the angles are measured counterclockwise.
In 3D, the arc lies in the plane defined by the 3 points Center, Pt1 and Pt2.
The angles are measured counterclockwise around the vector CP1 x CP2, starting
from the half-line (C, P1), where C=Center, P1=Pt1, P2=Pt2.
\figdrawarccircP Center ; Radius [Pt1,Pt2]
\figdrawarccircP Center ; Radius [Pt1,Pt2,Pt3]
|
Examples:
1
2
3
4
5
|
Point version of \figdrawarccirc
Circular arc of center Center and of radius Radius limited by the two half-lines
(Center, Pt1) and (Center, Pt2).
Let N be the normal vector that orients the plane in which lies the arc.
In 2D, N is defined as usual by N = Z = X x Y.
In 3D, N = CP1 x CP3, where C=Center, P1=Pt1, P3=Pt3.
The arc is drawn from Pt1 towards Pt2 turning counterclockwise around the axis (C; N).
Notice that C, P1, P2 and P3 must be coplanar, but P3 must not lie on the line (C,P1).
\figdrawarcell Center ; XRad,YRad (Ang1,Ang2, Inclination)
|
Examples:
1
2
3
4
5
|
Arc of ellipse of center Center, of axes XRad and YRad, limited by the parametrization
angles Ang1 and Ang2. The major axis is turned by an angle Inclination from the
horizontal line. The angles are given in degrees and measured counterclockwise.
In 3D-mode, it works only in the plane Z=0.
\figdrawarcellPA Center,PtAxis1,PtAxis2 (Ang1, Ang2)
|
Examples:
1
|
Arc of ellipse of center Center limited by the parametrization angles Ang1 and Ang2.
The end point of the major axis is PtAxis1 and the end point of the minor axis is PtAxis2.
The angles are given in degrees and measured counterclockwise around the vector CA1 x CA2.
\figdrawarcellPP Center,PtAxis1,PtAxis2 [Pt1,Pt2]
|
Examples:
1
|
Arc of ellipse of center Center limited by the two half-lines (Center,Pt1)
and (Center,Pt2). The end point of the major axis is PtAxis1 and the end point
of the minor axis is PtAxis2. The arc is drawn counterclockwise around the vector
CA1 x CA2, where C=Center, A1=PtAxis1, A2=PtAxis2.
\figdrawarcparab [Pt1,Pt2,Pt3]
|
Examples:
1
|
Arc of parabola between Pt1 and Pt3.
The point Pt2 defines the tangents (Pt2,Pt1) at Pt1 and (Pt2,Pt3) at Pt3.
\figdrawarrow [Pt1,Pt2]
|
Examples:
1
2
3
4
5
|
Arrow from Pt1 to Pt2.
The arrowhead is drawn according to the \figdrawarrowhead macro settings.
\figdrawarrowBezier [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
2
|
Arrow that consists of the cubic Bezier curve defined by the four control points
Pt1, Pt2, Pt3 and Pt4, and the arrowhead at point Pt4.
\figdrawarrowcirc Center ; Radius (Ang1,Ang2)
\figdrawarrowcirc Center,Pt1,Pt2 ; Radius (Ang1,Ang2)
|
Examples:
1
2
3
4
5
|
Circular arrow such that the circular arc is centered at Center, has the radius Radius
and is limited by the angles Ang1 and Ang2 given in degrees.
If Ang2 > Ang1, the arrow is drawn counterclockwise, else it is drawn clockwise.
The arrowhead is drawn according to the \figdrawarrowhead macro settings.
In 3D, the arc lies in the plane defined the 3 points Center, Pt1 and Pt2.
The angles are measured counterclockwise around the vector CP1 x CP2, starting
from the half-line (C, P1), where C=Center, P1=Pt1, P2=Pt2.
\figdrawarrowcircP Center ; Radius [Pt1,Pt2]
\figdrawarrowcircP Center ; Radius [Pt1,Pt2,Pt3]
|
Examples:
1
2
3
4
5
|
Point version of \figdrawarrowcirc
Circular arrow such that the circular arc is centered at Center, has the radius
|Radius| and is limited by the two half-lines (Center, Pt1) and (Center, Pt2).
Let N be the normal vector that orients the plane in which lies the arc.
In 2D, N is defined as usual by N = Z = X x Y.
In 3D, N = CP1 x CP3, where C=Center, P1=Pt1, P3=Pt3.
The arrow is drawn from Pt1 towards Pt2 turning around the axis (Center; N):
. counterclockwise if Radius > 0,
. clockwise if Radius < 0.
Notice that C, P1, P2 and P3 must be coplanar, but P3 must not lie on the line (C,P1).
\figdrawarrowhead [Pt1,Pt2]
|
Examples:
1
2
3
|
Arrowhead of the arrow from Pt1 to Pt2. The segment [Pt1, Pt2] (body) is not drawn.
The appearance of the arrowhead can be modified with the help of attributes set by
the macro \figset arrowhead(...).
\figdrawaxes Origin(X1,X2, Y1,Y2)
\figdrawaxes Origin(X1,X2, Y1,Y2, Z1,Z2)
\figdrawaxes Origin(L)
|
Examples:
1
2
3
4
5
|
Axes defined by their Origin and coordinate ranges. Each axis is parallel to the
corresponding absolute axis and is drawn as an oriented arrow from start value
to stop value.
The short form \figdrawaxes Origin(L) is equivalent to \figdrawaxes Origin(0,L, 0,L)
in 2D and \figdrawaxes Origin(0,L, 0,L, 0,L) in 3D.
The end points of the axes are given by \figptsaxes.
\figdrawdim Pt1, Pt2 (Distance)
|
Examples:
1
2
|
Double arrow intended to show the dimension between the points Pt1 and Pt2.
Assuming the segment [Pt1, Pt2] is oriented from west to east, the arrow is
drawn at the distance Distance at the south of the segment if Distance<0,
at the north otherwise.
The endpoints of the arrows are connected to Pt1 and Pt2 with a dashed line.
The appearance of the two arrow-heads can be modified with the help of
attributes set by the macro \figset arrowhead(...).
The distance between the points Pt1 and Pt2 can be printed by the companion
macro \figwritedim.
\figdrawBezier N [Pt_1, ..., Pt_{3N+1}]
|
Examples:
1
2
3
4
5
|
Bezier curve defined by N cubic arcs. The arc number i is defined by the four
control points P_{j}, P_{j+1}, P_{j+2}, P_{j+3} with j=3i-2.
The curve interpolates each 3 points beginning with the first, i.e. at P_{3i-2},
i=1,...N+1. At these points, the curve is only C0. To obtain G1 continuity at P_j,
the points P_{j-1}, P_j and P_{j+1} must be aligned.
The total number of points must be 3N+1 and is not checked.
\figdrawcurve [Pt0,Pt1,... ,PtN,PtN+1]
|
Examples:
1
2
3
4
5
|
C1 curve that interpolates the points P1, P2,... ,Pn. The curve consists of
n-1 Bezier cubic arcs. The direction of the tangent at Pi is given by Pi-1Pi+1,
i=1,... ,n. To get a C1 closed curve, the last three points must be the same
as the first three ones.
The shape of the curve can be modified by a roundness coefficient to be
set by the macro \figset curve(...). The best values for this coefficient are
in the interval [0.15, 0.3] (0 gives a polygonal line).
\figdrawfcconnect[Pt1,Pt2,... ,PtN]
|
Examples:
1
2
3
4
|
Connections between nodes in a flow chart. Each connection path can be a polygonal
line or a curved line. An arrowhead is drawn by default at the middle point of the
path joining the points Pt1,Pt2,... ,PtN.
The attributes of the path are set by the macro \figset flowchart(...).
The frames at the nodes are drawn with the help of the macro \figdrawfcnode.
\figdrawfcnode[Pt1,Pt2,... ,PtN]{Text}
|
Examples:
1
2
3
4
5
|
Frames containing Text at each node centered on points Pt1,Pt2,... ,PtN in a flow chart.
If the Text argument is empty, the text joined to the points when they are defined
is used ; otherwise, this Text is used for every point Pt1,Pt2,... ,PtN. The frame
surrounding the text is reduced or enlarged according to the padding dimensions.
This attribute along with the other ones is set by the macro \figset flowchart(...).
The connections between the nodes are usually drawn by the macro \figdrawfcconnect.
If no arrows are wanted, the best is to say \figset arrowhead(length=0) ; the macro
\figdrawline or \figdrawcurve can also be used.
\figdrawmesh N1,N2 [Pt1,Pt2,Pt3,Pt4]
|
Examples:
1
|
Mesh of N1 x N2 intervals on the quadrangle (Pt1, Pt2, Pt3, Pt4), N1 along
[Pt1, Pt2] and [Pt3, Pt4], N2 along the 2 other segments. A flag set by
\figset mesh(diag=...) allows to draw a diagonal line inside each cell. Other
graphical settings govern the appearance of the internal mesh (see \figset mesh).
The border line attributes are the general ones.
\figdrawtrimesh Type [Pt1,Pt2,Pt3]
|
Examples:
1
|
Mesh of the type Type triangle in the triangle (Pt1, Pt2, Pt3). The internal
mesh is drawn according to specific graphical settings (see \figset trimesh).
The border line attributes are the general ones.
\figdrawsign[Pt1,Pt2,... ,PtN]
|
Examples:
1
2
3
4
|
Draw the N points given by their numbers.
The position of a point is displayed by the mean of a marker ; a characteristic
dimension is associated to this marker. By default, the marker is a circle and
its characteristic dimension is its radius. Other possible markers are diamond,
square, star and triangle. The marker and its dimension can be set or changed
by the macro \figset sign(...). Other attributes (color, fillmode...) can be
modified by the macro \figset (...).
\figdrawsignC(X1 Y1, X2 Y2,..., XN YN)
\figdrawsignC(X1 Y1 Z1, X2 Y2 Z2,..., XN YN ZN)
|
Examples:
1
|
Draw the N points given by their coordinates, each of them separated by a white
space, each group of coordinates separated by a comma. They are assumed
to be given as decimal integers or fixed floating point numbers ; scientific
notation (e.g. 1.23e+2) is not allowed.
See \figdrawsign for more information about signs.
\figdrawsignF{FileName}
|
|
Draw the points read from the text file FileName, which contains the coordinates
of the points, one point per line, given as X Y in 2D and as X Y Z in 3D.
The values must be separated by a white space and nothing else. They are assumed
to be given as decimal integers or fixed floating point numbers ; scientific
notation (e.g. 1.23e+2) is not allowed.
See \figdrawsign for more information about signs.
\figdrawaltitude Dim [Pt1,Pt2,Pt3]
|
Examples:
1
2
3
4
5
|
Altitude from Pt1 in the triangle (Pt1, Pt2, Pt3).
Dim is the dimension of the square at the foot H of the altitude which is drawn on
either side of the altitude according to the order of the 2 points Pt2 and Pt3.
If H is outside the segment [Pt2, Pt3], a line is drawn to support the square.
The graphical attributes of this line and the square are set by \figset altitude(...).
\figdrawnormal Length,Lambda [Pt1,Pt2]
|
Examples:
1
|
Exterior normal of length Length to the segment [Pt1, Pt2]. Lambda is the abscissa
in [0,1] of the origin of the normal with respect to the segment [Pt1, Pt2],
0 corresponding to Pt1 and 1 to Pt2. This sets the position of the normal vector
along [Pt1, Pt2]. In 3D-mode, it works only in the plane Z=0.