The arguments of TDSTRI are as follows:
U (an input array, of type REAL, dimensioned NU) - values of an independent variable "u". It must
be the case that U(1) < U(2) < ... U(NU-1) < U(NU).
NU (an input expression of type INTEGER) - the dimension of U.
V (an input array, of type REAL, dimensioned NV) - values of an independent variable "v". It must
be the case that V(1) < V(2) < ... V(NV-1) < V(NV).
NV (an input expression of type INTEGER) - the dimension of V.
W (an input array, of type REAL, dimensioned NU x NV and having FORTRAN first dimension LW1D) -
values of a dependent variable "w(u,v)". The points (((U(I),V(J),W(I,J)),I=1,NU),J=1,NV) define a
surface that one wishes to draw.
LW1D (an input expression of type INTEGER) - the FORTRAN first dimension of the array W. It must be
the case that LW1D is greater than or equal to NU.
RTRI (an input array, of type REAL, dimensioned 10 x MTRI) - a list of triangles, probably created by
means of calls to TDSTRI, TDITRI, and/or TDMTRI, and sorted, probably by means of a call to
TDOTRI.
MTRI (an input expression of type INTEGER) - the second dimension of RTRI and thus the maximum number
of triangles the triangle list will hold.
NTRI (an input/output variable of type INTEGER) - keeps track of the number of triangles currently in
the list. It is the user's responsibility to zero this initially and its value is increased by
each call to a triangle-generating routine like TDSTRI. If NTRI becomes equal to MTRI, TDSTRI
does not take an error exit; instead, it just stops generating triangles. Therefore, it's a good
idea, after calling TDSTRI, to check the value of NTRI against the dimension MTRI; if they're
equal, it probably means that the triangle list filled up and that the rendered surface will be
incomplete.
IRST (an input expression of type INTEGER) - specifies the index of the rendering style to to be used
for the triangles added to the triangle list by this call.