6.39 Getting points from plot once it is plotted

p = ContourPlot3D[x^2 + y^3 - z^3 == 0, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
    PlotPoints -> Automatic] 
data = (InputForm@p)[[1, 1, 1]]
 

and

data = Reap[DensityPlot[Sin[x*y], {x, 0, 2 Pi}, {y, 0, 2 Pi}, 
     EvaluationMonitor :> Sow[{x, y, Sin[x*y]}]]][[2, 1]]; 
 
ListPlot3D[data]