Question: surfdata and implicitplot3d: 2d contourplot possible?

I have a lot (2000+) of irregular 3D data in an nx3-Matrix "M" (in the added example created via RandomMatrix, in reality actual experimental data), representing 3d coordinates. I manage to create a 3d plot of M via surfdata.

I also have a 3d-function "UC", I want to plot this function when it results into "1". I managed to plot this via implicitplot3d.

So far, so good, see the Maple file. (In reality, the UC function should be approximating the data in M, which obviously isn't the case here because of the randomisation :-)

But I actually want a 2D version of these plots:

  • with contour lines for equal values of the third column in M (the vertical axis) for the surfdata.
  • with contour lines for equal values of "n" in the UC function.
  • a combination of the two above in the same plot (M and UC together, as in the last 3D plot in my example, but in a 2d version). Of course, then there should be some way to make a distinction between the contour lines of M and UC (by using colours or appropriate symbols? Or one of the plots with clour bands, the other with contour lines?)

Is this at all possible? I've been trying by adding "dimension=2", "contour=10", ....: all efforts without succes....

Any help appreciated!





with(LinearAlgebra); with(CurveFitting); with(Interpolation); with(plots); with(Statistics)NULL



M := RandomMatrix(200, 3, generator = 0 .. 1.00)

sdRES := surfdata(M); plots:-display(sdRES)






a := .45



UC := proc (n, m__yy, m__zz) options operator, arrow; m__yy^2/min(1, (1-n)/(1+(-1)*.5*a))^2+(m__zz/`if`(n <= a, 1, 1-(n-a)^2/(1-a)^2))^max(1, 5*n) end proc

sdUC := implicitplot3d(UC(n, m__yy, m__zz) = 1, m__yy = 0 .. 1, m__zz = 0 .. 1, n = 0 .. 1, numpoints = 10000)



display({sdRES, sdUC})







Please Wait...