| fig4tex Reference Guide |
| (Version 1.6.1, June 24, 2002) |
|
\figinit{ScaleFactorUnit} or \figinit{ScaleFactorUnit, 2D}
\figinit{ScaleFactorUnit, X} with X in {3D, cavalier, orthogonal, realistic}
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{FileName} or \figinsert{FileName, ScaleFactor}Insertion of the postscript fileFileNamein the page, scaled byScaleFactor
which by default equals to 1.
\figscan FileName(HX,HY)Draws a rectangular grid with horizontal and vertical stepsHXandHY, with
numerical values corresponding to the bounding box read in the fileFileName.
\figsetobdist (Dist)Definition of the observation distanceDistfor the realistic projection.
Must be called before step 2 (\psbeginfig) and 3 (\figvisu).
\figsettarget [Pt]Definition of the target pointPtfor the realistic projection.
Must be called before step 2 (\psbeginfig) and 3 (\figvisu).
\figsetview(Psi) or \figsetview(Psi, Theta) or \figsetview(Psi, Lambda)Setting the parameters of the projection.
Must be called before step 2 (\psbeginfig) and 3 (\figvisu).
PsiandThetadenote angles to be given in degrees,Lambdadenotes a real number.
The cavalier projection is defined by the anglePsiandLambdawhich is a depth reduction
coefficient usually lying between 0 and 1. In this case, values ofPsilying in [0,180]
correspond to a view from above and to a view from beneath for values lying in [-180,0].
For the other projections, the observation direction is defined by the longitudePsiand
the latitudeTheta, with (Psi,Theta) = (0, 0) corresponding to the Ox line (see also
\figsettargetand\figsetobdist).
The second argument (ThetaorLambda) is optional.
The default values arePsi= 40 degrees,Theta= 25 degrees,Lambda= 0.5.
\figshowsettingsPrints to the terminal the current settings.
\figvisu{Vbox}{Caption}{Commands}Creation of aBasic macrosVboxcontaining the figure and the legends defined by theCommands,
with aCaptioncentered below. The box must be previously allocated by the user.
CommandsandCaptioncan be void.
\figpt NewPt :Text(X,Y)
\figpt NewPt :Text(X,Y,Z)
Definition of the pointNewPtwhose coordinates are(X,Y)or(X,Y,Z), with a joinedText.
IfZis missing, thenZ=0 is assumed.
The defaultTextis $A_i$ where i is the number of the point (see\figsetptname).
\figptbary NewPt :Text[Pt1,... ,PtN ; Coef1,... ,CoefN]Barycenter or centroid (with a joinedText) of N points bearing integer coefficients
\figptbaryR NewPt :Text[Pt1,... ,PtN ; Coef1,... ,CoefN]Barycenter or centroid (with a joinedText) of N points bearing real coefficients
\figptcopy NewPt :Text/Pt/Definition ofNewPt, with an associatedText, with the same coordinates asPt.
\figgetangle \Value [Center,Pt1,Pt2]\figgetangle \Value [Center,Pt1,Pt2,Pt3]
Computation of the value\Value(in degrees) of the oriented angle (CP1, CP2), where
C=Center, P1=Pt1, P2=Pt2.\Valueis a macro whose name is chosen by the user and can
then be used as a symbolic numerical constant.
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).
\figgetdist\Value[Pt1,Pt2]Computation of the euclidian distance\Valuebetween the pointsPt1andPt2.
\Valueis a macro whose name is chosen by the user and can then be used as a symbolic
numerical constant.
\figvectC NewVect (X,Y)\figvectC NewVect (X,Y,Z)
Definition of the vectorNewVectwith components(X,Y)or(X,Y,Z).
IfZis missing, thenZ=0 is assumed.
\figvectN NewVect [Pt1,Pt2]\figvectN NewVect [Pt1,Pt2,Pt3]
Definition of the vectorNewVectwhich is:
. in 2D, the vector with origin pointPt1and end pointPt2rotated 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]
Definition of the vectorNewVectwhich is:
. in 2D, the vectorVectorrotated by pi/2
. in 3D, the vector productVector1/ ||Vector1|| xVector2/ ||Vector2|| so that
(Vector1,Vector2,NewVect) is a positively oriented basis.
\figvectP NewVect [Pt1,Pt2]Definition of the vectorNewVectwith origin pointPt1and end pointPt2.
\figvectU NewVect [Vector]Definition of the unitary vectorMacros for elementary geometryNewVectwhich isVectornormalized according to
the unit and the scale factor chosen by the user (see\figinit).
Transformation macros (one result)
\figpthom NewPt :Text= Pt /Center, Ratio/
ImageNewPtof pointPtby the homothety of centerCenterand of ratioRatio
with a joinedText
\figptrot NewPt :Text= Pt /Center, Angle/\figptrot NewPt :Text= Pt /Center, Angle, Vector/
ImageNewPt(with a joinedText) of pointPtby the rotation defined:
. in 2D, by the centerCenterand the angleAngle(in degrees),
. in 3D, by the axis (Center,Vector) and the angleAngle(in degrees).
Ptis rotated byAnglearound 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/
ImageNewPt(with a joinedText) of pointPtby the orthogonal symmetry
with respect to:
. in 2D, the line defined by the pointsLinePt1andLinePt2,
. in 3D, the plane defined by the pointPlanePtand the vectorNormalVectornormal
to the plane.
\figpttra NewPt :Text= Pt /Lambda, Vector/ImageNewPtof pointPtby the translation of vectorLambda*Vector
with a joinedText.
\figpttraC NewPt :Text= Pt /X,Y/\figpttraC NewPt :Text= Pt /X,Y,Z/
ImageNewPtof pointPtby the translation of vector(X,Y)in 2D,(X,Y,Z)in 3D
with a joinedText.
\figptorthoprojline NewPt :Text= Pt /LinePt1, LinePt2/ImageNewPtof pointPtby the orthogonal projection onto the line (LinePt1,LinePt2),
with a joinedText.
\figptorthoprojplane NewPt :Text= Pt /PlanePt, NormalVector/ImageTransformation macros (multiple result)NewPtof pointPtby the orthogonal projection onto the plane defined by
the pointPlanePtand the normal vectorNormalVector, with a joinedText.
\figptshom NewPt1 = Pt1, Pt2, ..., PtN /Center, Ratio/
ImagesNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the homothety of centerCenterand of ratioRatio.
See following information at\figptstra.
\figptsrot NewPt1 = Pt1, Pt2, ..., PtN /Center, Angle/\figptsrot NewPt1 = Pt1, Pt2, ..., PtN /Center, Angle, Vector/
ImagesNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the rotation defined:
. in 2D, by the centerCenterand the angleAngle(in degrees),
. in 3D, by the axis (Center,Vector) and the angleAngle(in degrees). Each point
Pti is rotated byAnglearound 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/
ImagesNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the orthogonal symmetry with respect to:
. in 2D, the line defined by the pointsLinePt1andLinePt2,
. in 3D, the plane defined by the pointPlanePtand the vectorNormalVectornormal
to the plane. See following information at\figptstra.
\figptstra NewPt1 = Pt1, Pt2, ..., PtN /Lambda, Vector/ImagesNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the translation of vectorLambda*Vector
Texteventually previously associated with the result points is lost.
The result pointsNewPti have successive numbers.
The data pointsPti 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, orNewdoes not belong to J: no problem.Pt1
2) Otherwise, the result given by the macro MAY BE WRONG, at least partially:
this is because, in this case,Newbelongs to J, and the given points arePt1
taken into account sequentially, beginning from the first element in the list.
\figptsorthoprojline NewPt1 = Pt1, Pt2, ..., PtN /LinePt1, LinePt2/ImagesNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the orthogonal projection onto the line (LinePt1,LinePt2).
\figptsorthoprojplane NewPt1 = Pt1, Pt2, ..., PtN /PlanePt, NormalVector/ImagesGeometrical construction macrosNew,Pt1New+1,...,Pt1New+(N-1) of pointsPt1Pt1,Pt2, ...,PtN
by the orthogonal projection onto the plane defined by the pointPlanePtand the
normal vectorNormalVector.
\figptinterlines NewPt :Text[LinePt1,Vector1; LinePt2,Vector2]
Intersection of the line defined by the pointLinePt1and the vectorVector1
and the line defined by the pointLinePt2and the vectorVector2
with a joinedText
\figptinterlineplane NewPt :Text[LinePt,Vector; PlanePt,NormalVector]Intersection of the line defined by the point LinePtand the vectorVector
and the plane defined by the pointPlanePtand the normal vectorNormalVector
with a joinedText.
\figptendnormal NewPt :Text: Length,Lambda [Pt1,Pt2]Endpoint (with a joinedText) of the "exterior normal" to the segment [Pt1,Pt2].
The length of the normal vector isLength.Lambdais the barycentric coordinate
of the origin of the normal with respect to the segment [Pt1,Pt2], which sets the
position of the vector along [Pt1,Pt2]. In 3D-mode, it works only in the plane Z=0.
\figptsintercirc NewPt1 [Center1,Radius1 ; Center2,Radius2]IntersectionsMacros related to the triangleNewandPt1New(=Pt2New+1) of the two circles defined by theirPt1
center and radius, (Center1,Radius1) and (Center2,Radius2).
NewandPt1Newmust be different fromPt2Center1andCenter2.
NewandPt1Neware ordered so that the angle (Pt2New,Pt1Center1,New) is positive.Pt2
If the two circles do not intersect, thenNew=Pt1Center1andNew=Pt2Center2.
In 3D-mode, it works only in the plane Z=0.
\figptcircumcenter NewPt :Text[Pt1,Pt2,Pt3]
CenterNewPtof the circumscribed circle to the triangle (Pt1,Pt2,Pt3) with a joinedText.
\figptinscribedcenter NewPt :Text[Pt1,Pt2,Pt3]CenterNewPtof the inscribed circle to the triangle (Pt1,Pt2,Pt3) with a joinedText.
\figptorthocenter NewPt :Text[Pt1,Pt2,Pt3]OrthocenterMacros related to arcs and curvesNewPtof the triangle (Pt1,Pt2,Pt3) with a joinedText.
\figptcirc NewPt :Text: Center;Radius (Angle)
\figptcirc NewPt :Text: Center,Pt1,Pt2;Radius (Angle)
Creation of the pointNewPt, with an associatedText, on the circle defined by itsCenter,
and itsRadius. The position of the point is set by theAnglegiven in degrees.
In 3D, the circle is lying in the plane (Center,Pt1,Pt2) = (C,P1,P2) and
theAngleis measured counterclockwise around the vector CP1 x CP2, starting from
the half-line (C,P1).
\figptell NewPt :Text: Center;XRad,YRad (Angle,Inclination)Creation of the pointNewPt, with an associatedText, on the ellipse defined byCenter,
XRad,YRadandInclination.Inclinationis the rotation angle of the local axes with
respect to the paper sheet. The position of the point is set by the parametrization
Anglegiven 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)Creation of the pointNewPt, with an associatedText, on the ellipse defined by itsCenter,
and the end points of its axes, A1=PtAxis1and A2=PtAxis2. The local axes are then
defined by the basis (CA1, CA2). The position of the point is set by the parametrization
Anglegiven 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]Computes the pointNewPt(with a joinedText) lying on the cubic Bezier curve defined
by the four control pointsPt1,Pt2,Pt3andPt4, for the parameter value t.
We recall that if t=0,NewPt=Pt1and if t=1,NewPt=Pt4.
\figptscontrol NewPt1 [Pt1,Pt2,Pt3,Pt4]Computes the two control pointsNewandPt1New(=Pt2New+1) so that the cubic BezierPt1
curve defined by the control pointsPt1,New,Pt1NewandPt2Pt4interpolates the
four pointsPt1,Pt2,Pt3andPt4with respective parameter values of 0, 1/3, 2/3 and 1.
\figptcurvcenter NewPt :Text: t [Pt1,Pt2,Pt3,Pt4]Curvature centerNewPt(with a joinedText) at the point lying on the cubic Bezier curve
defined by the four control pointsPt1,Pt2,Pt3andPt4, for the parameter value t.
\figvectDBezier NewVect : n, t [Pt1,Pt2,Pt3,Pt4]Computes the vectorNewVectcorresponding to the derivative of order n of the cubic Bezier
curve defined by the four control pointsPt1,Pt2,Pt3andPt4, for the parameter value t.
The order n must be equal to 1 or 2.
To write the coordinates of a point. To be used in the joined text argument
of the macros that create points and the non-mute macros \figwrit* .
OnlyNDecdecimals are printed.
\figsetmark{Mark}Definition of the point marker to be written, for example a point (.) or $\bullet$.
By default, nothing is written.
\figsetptname{Name}Sets the new default name for the points created.
The default name for the point i is $A_i$:\figsetptname{$X^{(#1)}$} changes it
to $X^{(i)}$.
\figsetroundcoord{yes} or \figsetroundcoord{no}Switches on rounding of decimals printed with\figcoord.
\figshowpts[Nmin, Nmax]Shows on the figure the location of every point defined since the beginningWriting macros
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 :
IfNmax-Nminis too large, an error message "! TeX capacity exceeded" may occur.
\figwrite[Pt1, Pt2, ..., PtN]{Text}
Writing aTextafterPt1,Pt2, ...,PtNaccording to TeX's alignment.
\figwritec[Pt1, Pt2, ..., PtN]{Text}Writing aTextvertically and horizontally centered atPt1,Pt2, ...,PtN.
\figwritep[Pt1, Pt2, ..., PtN]Writing the point marker at the locations defined byPt1,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)Writing a point marker at the locations defined byPt1,Pt2, ...,PtN, with aText
placed, with respect to each point, at a givenDistancefrom each point towards
the west, the east, the north or the south.
\figwritenw Pt1, Pt2, ..., PtN :Text(Distance)\figwritesw Pt1, Pt2, ..., PtN :Text(Distance)\figwritene Pt1, Pt2, ..., PtN :Text(Distance)\figwritese Pt1, Pt2, ..., PtN :Text(Distance)Writing a point marker at the locations defined byPt1,Pt2, ...,PtN, with aText
placed, with respect to each point, at a givenDistancefrom each point towards
the north-west, the south-west, the north-east or the south-east.
\figwritegcw Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)\figwritegce Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)Writing a point marker at the locations defined byPt1,Pt2, ...,PtN, with aText
placed, with respect to each point, at a horizontal distanceDistanceX(west or east)
and a vertical distanceDistanceYbetween the point and the mid-height of the text.
\figwritegw Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)\figwritege Pt1, Pt2, ..., PtN :Text(DistanceX,DistanceY)Writing a point marker at the locations defined byPt1,Pt2, ...,PtN, with aText
placed, with respect to each point, at a horizontal distanceDistanceX(west or east)
and a vertical distanceDistanceYfrom the bottom of the text ifDistanceY> 0, from
the top ifDistanceY< 0. IfDistanceY= 0, the text is vertically centered.
Starting the creation of a PostScript file whose name isFileName.
\psendfigEnd of the current PostScript file.
\pssetupdate{no} or \pssetupdate{yes}Setting the update mode to "Lineyes" before\psbeginfigenforces the postscript
file to be recreated at each compilation. The default is "no".
\pssetdash{Index} or \pssetdash{Pattern}
Setting the line style byIndex(Index= 1 (solid) to 10) or byPattern.
To switch back to the default value :\pssetdash{\defaultdash}
\pssetwidth{Width}Setting the line width (in postscript points).
To switch back to the default value :\pssetwidth{\defaultwidth}
Note : has no effect on a straight line after\pssetfillmode{yes}.
\pssetseconddash{Index} or \pssetseconddash{Pattern}Setting the secondary line style byIndex(Index= 1 (solid) to 10) or byPattern.
To switch back to the default value :\pssetseconddash{\defaultseconddash}
\pssetsecondwidth{Width}Setting the secondary line width (in postscript points).
To switch back to the default value :\pssetsecondwidth{\defaultsecondwidth}
\psresetsecondsettingsTo reset the secondary line settings.Color
\pssetcmyk{\ColorName} or \pssetcmyk{cmyk color code}
Setting the color in cmyk code.
\pssetrgb{\ColorName} or \pssetrgb{rgb color code}Setting the color in rgb code.
\pssetgray{GrayLevel}Setting the gray level, real number between 0 (black) and 1 (white).
\pssetfillmode{no} or \pssetfillmode{yes}Setting the filling mode to "no" tells the concerned macros to draw lines ;
this is the default. Setting the filling mode to "yes" tells the macros to
fill the appropriate area using the current color or gray shade.
\pssetsecondcmyk{\ColorName} or \pssetsecondcmyk{cmyk color code}\pssetsecondrgb{\ColorName} or \pssetsecondrgb{rgb color code}\pssetsecondgray{GrayLevel}Setting the secondary color in cmyk or rgb color code, or in gray tone.Arrow
Setting the arrow-head half-angle toAngle(in degrees).
To switch back to the default value :\pssetarrowheadangle{\defaultarrowheadangle}
\pssetarrowheadfill{no} or \pssetarrowheadfill{yes}Setting the arrow-head filling switch. The default value is "no".
\pssetarrowheadout{no} or \pssetarrowheadout{yes}Setting the arrow-head "outside" switch. The default value is "no".
\pssetarrowheadlength{Length}Setting the length of each edge of the arrow-head toLength(in user coordinates).
To switch back to the default value :\pssetarrowheadlength{\defaultarrowheadlength}
\pssetarrowheadratio{Ratio}Setting the arrow-head ratio toRatio(real number usually in (0,1)).
To switch back to the default value :\pssetarrowheadratio{\defaultarrowheadratio}
\psresetarrowheadTo reset the arrow-head attributes to the default values.Curve
Setting the roundness of a curve toMeshRoundness(real number).
To switch back to the default value :\pssetroundness{\defaultroundness}
Setting the flag that controls the drawing of a grid mesh:Basic drawing macros
. ifIndex= 1, the SW-NE diagonal is drawn inside each cell,
. ifIndex= -1, the NW-SE diagonal is drawn inside each cell,
. otherwise, each cell is empty ; this is the default (Index= 0).
To switch back to the default value :\pssetmeshdiag{\defaultmeshdiag}
\pscirc Center (Radius)
\pscirc Center,Pt1,Pt2 (Radius)
Circle of centerCenterand of radiusRadius.
In 3D, the circle is in the plane defined the 3 pointsCenter,Pt1andPt2;
Pt1andPt2do not need to lie on the circle.
\psline[Pt1,Pt2,... ,PtN]Line defined by N points, closed if the last point number equals the first one.
\pslineF{Filename}Line defined by points read from the text file Filename, which contains theOther drawing macros
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.
\psarccirc Center ; Radius (Ang1,Ang2)
\psarccirc Center,Pt1,Pt2 ; Radius (Ang1,Ang2)
Circular arc of centerCenterand radiusRadiuslimited by the angles
Ang1andAng2given in degrees.
In 2D, the angles are measured counterclockwise.
In 3D, the arc lies in the plane defined by the 3 pointsCenter,Pt1andPt2.
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.
\psarccircP Center ; Radius [Pt1,Pt2]\psarccircP Center ; Radius [Pt1,Pt2,Pt3]
Point version of\psarccirc
Circular arc of centerCenterand of radiusRadiuslimited 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 fromPt1towardsPt2turning 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).
\psarcell Center ; XRad,YRad (Ang1,Ang2, Inclination)Arc of ellipse of centerCenter, of axesXRadandYRad, limited by the parametrization
anglesAng1andAng2. The major axis is turned by an angleInclinationfrom the
horizontal line. The angles are given in degrees and measured counterclockwise.
In 3D-mode, it works only in the plane Z=0.
\psarcellPA Center,PtAxis1,PtAxis2 (Ang1, Ang2)Arc of ellipse of centerCenterlimited by the parametrization anglesAng1andAng2.
The end point of the major axis isPtAxis1and the end point of the minor axis isPtAxis2.
The angles are given in degrees and measured counterclockwise around the vector CA1 x CA2.
\psarcellPP Center,PtAxis1,PtAxis2 [Pt1,Pt2]Arc of ellipse of centerArrowCenterlimited by the two half-lines (Center,Pt1)
and (Center,Pt2). The end point of the major axis isPtAxis1and the end point
of the minor axis isPtAxis2. The arc is drawn counterclockwise around the vector
CA1 x CA2, where C=Center, A1=PtAxis1, A2=PtAxis2.
Arrow fromPt1toPt2.
The arrow-head is drawn according to the\psarrowheadmacro settings.
\psarrowBezier [Pt1,Pt2,Pt3,Pt4]Arrow that consists of the cubic Bezier curve defined by the four control points
Pt1,Pt2,Pt3andPt4, and the arrow-head at pointPt4.
\psarrowcirc Center ; Radius (Ang1,Ang2)\psarrowcirc Center,Pt1,Pt2 ; Radius (Ang1,Ang2)
Circular arrow such that the circular arc is centered atCenter, has the radiusRadius
and is limited by the anglesAng1andAng2given in degrees.
IfAng2>Ang1, the arrow is drawn counterclockwise, else it is drawn clockwise.
The arrow-head is drawn according to the\psarrowheadmacro settings.
In 3D, the arc lies in the plane defined the 3 pointsCenter,Pt1andPt2.
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.
\psarrowcircP Center ; Radius [Pt1,Pt2]\psarrowcircP Center ; Radius [Pt1,Pt2,Pt3]
Point version of\psarrowcirc
Circular arrow such that the circular arc is centered atCenter, 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 fromPt1towardsPt2turning around the axis (Center; N):
. counterclockwise ifRadius> 0,
. clockwise ifRadius< 0.
Notice that C, P1, P2 and P3 must be coplanar, but P3 must not lie on the line (C,P1).
\psarrowhead [Pt1,Pt2]Arrow-head of the arrow fromCurvePt1toPt2. The segment [Pt1,Pt2] is not drawn.
The appearance of the arrow-head can be modified with the help of the macros :
.\pssetarrowheadanglewhich sets the opening angle,
.\pssetarrowheadfillwhich tells whether the interior of the arrow-head
must be filled or not,
.\pssetarrowheadoutwhich tells whether the arrow-head must be drawn outside
the segment [Pt1,Pt2] or not,
.\pssetarrowheadlengthwhich sets the length of the arrow-head in user coordinates,
.\pssetarrowheadratiowhich sets the length of the arrow-head as a ratio of the
length of the segment [Pt1,Pt2].
Nota : The last two macros are mutually exclusive ; the default is to use the length.
Default values exist for each attribute.
\psBezier N [Pt_1, ..., Pt_{3N+1}]
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.
\pscurve [Pt0,Pt1,... ,PtN,PtN+1]C1 curve that interpolates the points P1, P2,... ,Pn. The direction of theTriangle related macros
tangent at P1 is given by P0P2, and at Pn by Pn-1Pn+1. The curve consists of
n-1 Bezier cubic arcs. 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\pssetroundness. The best values for this coefficient are
in the interval [0.15, 0.3] (0 gives a polygonal line).
Altitude fromPt1in the triangle (Pt1,Pt2,Pt3).
Dimis the dimension of the square at the end point of the altitude.
\psnormal Length,Lambda [Pt1,Pt2]Exterior normal of lengthGridLengthto the segment [Pt1,Pt2].Lambdais the barycentric
coordinate of the origin of the normal with respect to the segment [Pt1,Pt2], which
sets the position of the vector along [Pt1,Pt2].
In 3D-mode, it works only in the plane Z=0.
\psmesh N1,N2 [Pt1,Pt2,Pt3,Pt4]
Mesh ofN1xN2intervals on the quadrangle (Pt1,Pt2,Pt3,Pt4)
(N1along [Pt1,Pt2] and [Pt3,Pt4],N2along the 2 other segments).
If the flag set by\pssetmeshdiagis equal to 1 (resp. -1), the SW-NE (resp. NW-SE)
diagonal is drawn inside each cell. By default, no diagonal is drawn.
\pstrimesh Type [Pt1,Pt2,Pt3]Mesh of the typeTypetriangle on the triangle (Pt1,Pt2,Pt3).