Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1996
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: [Q] ExtendGraphics ListSurfacePlot3D inconsistent error

  • Subject: [mg3313] Re: [Q] ExtendGraphics ListSurfacePlot3D inconsistent error
  • From: ianc (Ian Collier)
  • Date: 26 Feb 1996 12:54:24 -0600
  • Approved: usenet@wri.com
  • Distribution: local
  • Newsgroups: wri.mathgroup
  • Organization: Wolfram Research, Inc.
  • Sender: daemon at wri.com

In article <4gi5df$6n1 at dragonfly.wolfram.com>, adbened at alumnae.caltech.edu
( Alto D. Benedicto) wrote:

> When two datasets sharing a common boundary were "Union"ed and
> Flattened such that it now has the form
>    { {x1,y1,z1}, {x2,y2,z2}, {x3,y3,z3}, ... , {x99,y99,z99} }
> ListSurfacePlot3D[theabovelist] gave the following error message:
>    LinkObject::linkd
>    LinkObject[delaunay, 2, 2]
>      is closed; the connection is dead.
> 
> Is this error related to the illustrative test example below?
> 
> In[1] := AppendTo[$Path, "/usr/local/TWJ_Packages"]
> In[2] := <<ExtendGraphics`SurfaceGraphics3D`
> In[3] := data1 = Table[{x/100, y/1000., 0.25 x}, {x,-1,2},{y,2,4}]
> In[4] := data2 = Table[{x/100, y/1000., 0.25 x}, {x,2,2},{y,2,4}]
> In[5] := dataunion = Union[data1, data2]
> In[6] := data1flat = Flatten[data1,1]
> In[7] := data2flat = Flatten[data2,1]
> In[8] := dataunionflat = Flatten[dataunion,1]
> 
> Now, ListSurfacePlot3D[data1] gives correct plot while
>      ListSurfacePlot3D[data1flat] gives wrong plot (opposite to our
> intuition, since syntax for that of data1 is supposedly incorrect).
> Curiously, ListSurfacePlot3D[data2flat] resulted in same error
> message as my real data, though ListSurfacePlot3D[data2] has no
> error message.
>      ListSurfacePlot3D[dataunion] is correct while
>      ListSurfacePlot3D[dataunionflat] is wrong.
> 
> Even stranger,when the limit in data2 is changed to {x,2,4}, the
> resultant ListSurfacePlot3D[dataunionflat] is now correct, inspite
> of the fact that ListSurfacePlot3D[data1flat] is still wrong.
> 
>      The original data2 might result in an error because of {x,2,2}.
> But what about the other errors? They don't even seem to be consistent.
> And to reiterate, why did my real data give that error message when the
> component datasets (also Flatten) making it give correct plots?
> 
>      THANK YOU very much in advance for any help suggested.
> 


Here is a reply from Tom Wickham-Jones:

There are some problems that I have found with the triangulation
routine when it is applied to regular data.  One way to avoid these
problems is to slightly perturb the data.  This can be done with
the following function.

PerturbData[ d_List] := Map[ PerturbData, d]


PerturbData[ d_] :=
        If[ NumberQ[ d],
                N[ d + d (Random[ ]-0.5)/1000000.], d]

Then in this example the following will work.

ListSurfacePlot3D[ PerturbData[ dataunionflat]]

Sometime in the future I will updating these functions with
this and a number of other improvements.

Tom Wickham-Jones
WRI

-----------------------------------------------------------
Ian Collier
Wolfram Research, Inc.
-----------------------------------------------------------
tel:(217) 398-0700   fax:(217) 398-0747    ianc at wolfram.com
Wolfram Research Home Page:         http://www.wolfram.com/
-----------------------------------------------------------


  • Prev by Date: Re: [Q] ExtendGraphics ListSurfacePlot3D inconsistent error
  • Next by Date: Constant term in polynomial?
  • Previous by thread: Re: [Q] ExtendGraphics ListSurfacePlot3D inconsistent error
  • Next by thread: graphing systems of linear inequalitities?