I am trying to extract the points from the mesh lines of a 3D plot. (Not my actual function.)  

       p = Plot3D[Sin[x]^2*Cos[y], {x, -1, 1}, {y, -1, 1},  MeshFunctions -> {#1^2+#2^2 &}]

![my plot](https://i.sstatic.net/HH4pD.jpg)

I found a similar question [here](http://community.wolfram.com/groups/-/m/t/452424). So I used the code suggested:

    p2 = p // Cases[#, GraphicsComplex[Line_, ___] :> Line] &;  
    p3 = Flatten[p2, 1];  
    ListPlot[p3[[All, 1 ;; 2]]]  

![my attempt at extracting mesh lines](https://i.sstatic.net/iHVYu.jpg)    

As you can see, I am getting a bunch of points that are not on the mesh lines. When I increase the `PlotPoints`, it gets even worse.  

How can I extract only the points on the mesh lines?