Home Online Manual
Top
Back: texDrawBasic
Forward: texDrawNewtonSubdivision
FastBack:
FastForward:
Up: tropical_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.6.21 texDrawTropical

Procedure from library tropical.lib (see tropical_lib).

Usage:
texDrawTropical(graph[,#]); graph list, # optional list

Assume:
graph is the output of tropicalCurve

Return:
string, the texdraw code of the tropical plane curve encoded by graph

Note:
- if the list # is non-empty, the first entry should be a string; if this string is 'max', then the tropical curve is considered with respect to the maximum
- the procedure computes a scalefactor for the texdraw command which should help to display the curve in the right way; this may, however, be a bad idea if several texDrawTropical outputs are put together to form one image; the scalefactor can be prescribed by the further optional entry of type poly
- one can add a string as last opional argument to the list #; it can be used to insert further texdraw commands (e.g. to have a lighter image as when called from inside conicWithTangents);
- the list # is optional and may as well be empty

Example:
 
LIB "tropical.lib";
ring r=(0,t),(x,y),dp;
poly f=x+y+x2y+xy2+1/t*xy;
list graph=tropicalCurve(f);
// compute the texdraw code of the tropical curve defined by f
texDrawTropical(graph);
==> 
==> 
==>        \setgray 0.6
==> 
==>        
==>        \relunitscale 6
==>        \move (-1 -1) \fcir f:0 r:0.03
==>        \move (-1 -1) \lvec (-1 1)
==>        \move (-1 -1) \lvec (1 -1)
==>        \move (-1 -1) \rlvec (-0.5 -0.5)
==>        \move (-1 1) \fcir f:0 r:0.03
==>        \move (-1 1) \lvec (1 1)
==>        \move (-1 1) \rlvec (-0.5 0.5)
==>        \move (1 -1) \fcir f:0 r:0.03
==>        \move (1 -1) \lvec (1 1)
==>        \move (1 -1) \rlvec (0.5 -0.5)
==>        \move (1 1) \fcir f:0 r:0.03
==>        \move (1 1) \rlvec (0.5 0.5)
==> 
==>    %% HERE STARTS THE CODE FOR THE LATTICE
==>         \move (-1 -1) \fcir f:0.8 r:0.01
==>         \move (-1 0) \fcir f:0.8 r:0.01
==>         \move (-1 1) \fcir f:0.8 r:0.01
==>         \move (0 -1) \fcir f:0.8 r:0.01
==>         \move (0 0) \fcir f:0.8 r:0.01
==>         \move (0 1) \fcir f:0.8 r:0.01
==>         \move (1 -1) \fcir f:0.8 r:0.01
==>         \move (1 0) \fcir f:0.8 r:0.01
==>         \move (1 1) \fcir f:0.8 r:0.01
==>    %% HERE ENDS THE CODE FOR THE LATTICE
==>                           
// compute the texdraw code again, but set the scalefactor to 1
texDrawTropical(graph,"",1);
==> 
==> 
==>        \setgray 0.6
==> 
==>        
==>        \relunitscale 6
==>        \move (-1 -1) \fcir f:0 r:0.03
==>        \move (-1 -1) \lvec (-1 1)
==>        \move (-1 -1) \lvec (1 -1)
==>        \move (-1 -1) \rlvec (-0.5 -0.5)
==>        \move (-1 1) \fcir f:0 r:0.03
==>        \move (-1 1) \lvec (1 1)
==>        \move (-1 1) \rlvec (-0.5 0.5)
==>        \move (1 -1) \fcir f:0 r:0.03
==>        \move (1 -1) \lvec (1 1)
==>        \move (1 -1) \rlvec (0.5 -0.5)
==>        \move (1 1) \fcir f:0 r:0.03
==>        \move (1 1) \rlvec (0.5 0.5)
==> 
==>    %% HERE STARTS THE CODE FOR THE LATTICE
==>         \move (-1 -1) \fcir f:0.8 r:0.01
==>         \move (-1 0) \fcir f:0.8 r:0.01
==>         \move (-1 1) \fcir f:0.8 r:0.01
==>         \move (0 -1) \fcir f:0.8 r:0.01
==>         \move (0 0) \fcir f:0.8 r:0.01
==>         \move (0 1) \fcir f:0.8 r:0.01
==>         \move (1 -1) \fcir f:0.8 r:0.01
==>         \move (1 0) \fcir f:0.8 r:0.01
==>         \move (1 1) \fcir f:0.8 r:0.01
==>    %% HERE ENDS THE CODE FOR THE LATTICE
==>