Hello,
I've developped an application that displays volume by using Axes3d module and 
plot() method. It runs well.
Volumes are expressed in axes x,y,z that represents respectively the 
latitude,longitude and altitude.
Taking a simple volume : a parallelepiped is defined by 2 series of points : 
A1(x1,y1,z_upper), A2(x2,y2,z_upper), A3(x3,y3,z_upper), A4(x4,y4,z_upper)
A11(x1,y1,z_lower), A12(x2,y2,z_lower), A13(x3,y3,z_lower), A14(x4,y4,z_lower)
My objective is to displays the faces of such volume (6  faces in that case).
I suppose that I should trace my volume face by face and the following source 
code displays a single surface (a face of my volume):
##########################################
import gtk
import numpy as np
from matplotlib.patches import Polygon, PathPatch
import mpl_toolkits.mplot3d.art3d as art3d
from matplotlib.figure import Figure
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as 
FigureCanvas
        
class SectorDisplay2__:
        def __init__(self):
                win = gtk.Window()
                win.set_default_size(800,800)
                vbox = gtk.VBox()
                win.add(vbox)
                
                fig = Figure()
                canvas = FigureCanvas(fig)  # a gtk.DrawingArea         
                ax = fig.add_subplot(111, projection='3d')

                a = np.array([[0,0],[10,0],[10,10],[0,10]])
                p = Polygon(a,fill=True)
                ax.add_patch(p)
                art3d.pathpatch_2d_to_3d(p, z=3)

                ax.set_xlim3d(0, 20)
                ax.set_ylim3d(0, 20)
                ax.set_zlim3d(0, 20)
                
                vbox.pack_start(canvas)
                win.show_all()
                
                # Run the Gtk mainloop
                gtk.main()              

if __name__ == '__main__':
        SectorDisplay2__()
##########################################

But two problems appears : 
- the intruction "art3d.pathpatch_2d_to_3d(p, z=3)" can be called only once ! 
else message "AttributeError: 'PathPatch3D' object has no attribute '_path2d'" 
is issued
- the isntruction set_xlim3d(0, 20) has no effect : whatever the values 
supplied to set_slim3d, the minimum/maximum of axes are defined always by the 
minimum/maximum of the data to display (coordinates of my points).
Thank you for any suggestion (even to represent such volumes in a different way 
as I choose)

------------------------------------------------------------------------------
FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
Subversion made easy with a complete admin console. Easy 
to use, easy to manage, easy to install, easy to extend. 
Get a Free download of the new open ALM Subversion platform now.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to