An implicitplot3d of an f(x,y,z)=0 results in an ISOSURFACE structure containing the samples of a function taken over a regular grid in 3-D space and is rendered as a 3-D surface approximating the zero surface of the function.
When I select the points with values of f(x,y,z) "close" to zero, I only get a few points on the surface:
q := plots:-implicitplot3d( x^2+y^3+z^4=1 ,x=-1..1,y=-1..1,z=-1..1,
style=wireframe, color=black ):
pdata := plottools:-getdata(q); # doesn't work
Q := op(op(1,q));
convert(Q,listlist): R :=(ListTools:-FlattenOnce@@2)(%):
R; #contains [x,y,z,f(x,y,z)]
B := select(A->abs(A)<2.5e-2, R): # only points with f(x,y,z) approximately 0
B1 := (x->x[1..3])~(B):
p := plots:-pointplot3d(B1,symbol=solidsphere,symbolsize=25,color=red):
The red balls are extracted from the ISOSURFACE structure. How can I get all points that are calculated when rendering this structure?