From: John H. <jd...@gm...> - 2010-02-22 16:15:44
|
On Mon, Feb 22, 2010 at 10:01 AM, Ben Axelrod <BAx...@co...> wrote: > John, your assesment of the problem is correct. And I believe your suggested solution is also correct. Currently, each call to a mplot3d plot method is treated independantly. They get converted into custom PolyCollections which each do the Z-order sorting. > > There is still an issue here however. Even if we implement the aformentioned solution, we are still only approximating a 3d library. And the result will still not be as nice as matlab. I believe that because we treat the surface as a series of 2D polygons, the intersection between two surfaces will be at the polygon edges. See the attached image for an example of what the intersection between a sphere and plane might look like. True enough, but as your example shows it would still be a substantial improvement over what we have now, and by getting all the faces in the scene into a single data structure, we leave open the possibility of doing something more sophisticated down the road (like chopping a problematic face into multiple faces, some in front, some behind, an intersecting object). JDH |