*To*: mathgroup@smc.vnet.net*Subject*: [mg10563] Re: Mathematica Plot [help]*From*: bruck@pacificnet.net (Ronald Bruck)*Date*: Tue, 20 Jan 1998 16:54:06 -0500*Organization*: University of Southern California*References*: <68s834$5mq@smc.vnet.net> <694bal$km0@smc.vnet.net>

In article <694bal$km0@smc.vnet.net>, Allan Hayes <hay@haystack.demon.co.uk> wrote: :Wei Xu wrote: : :> I want to draw a surface, say sin[x,y], defined on a triangular domain, :> say, x:[0,1], y:[0,1] and x+y <=1. ... :Find a parameterization of the region, Rxy, that you wish to plot f[x,y] :over. : : {s,t} -> {x[s,t], y[s,t]} : :taking a rectangle [smin,smax] x [tmin, tmax] onto R[x,y]. : :Plot : :ParametricPlot3D[{x[s,t],y[s,t],f[x[s,t],y[s,t]}, : {s,smin,smax},{t,tmin,tmax}] : :For your example take : : x[s_,t_] := s : y[s_,t_] := s t : f[x_,y_] := Sin[x y] The problem with this solution--I use it myself--is that the short line segments will be divided into the same number of subintervals as the long line segments. (And some of the polygons can be trivial, which can lead to problems when sending the output to another rendering package--MathLive is a particular problem.) What's really needed is a package that will triangulate a region with roughly-equal-sized triangles, then draw the surface. I dunno how to automate such a procedure. Presumably the finite-element people have software which does this? --Ron Bruck --Now 800% ISDN from this address (2B channels + STAC compression)