    def create_first_panel_3D(self, panel_dimX, panel_dimY,panel_dimZ):
                 
         first_panel_vertices = np.array([
                                          [-panel_dimX/2, panel_dimY/2, panel_dimZ/2],
                                          [panel_dimX/2, panel_dimY/2, panel_dimZ/2],
                                          [-panel_dimX/2, -panel_dimY/2, panel_dimZ/2],
                                          [panel_dimX/2, -panel_dimY/2, panel_dimZ/2],
                                          
                                          [-panel_dimX/2, panel_dimY/2, -panel_dimZ/2],
                                          [panel_dimX/2, panel_dimY/2, -panel_dimZ/2],
                                          [-panel_dimX/2, -panel_dimY/2, -panel_dimZ/2],
                                          [panel_dimX/2, -panel_dimY/2, -panel_dimZ/2],

                                          ])
         
         first_panel_meshes = np.hstack([
                                         [3, 0, 1, 2],    # first triangular mesh
                                         [3, 1, 2, 3],
                                         [3, 4, 5, 6],    # first triangular mesh
                                         [3, 5, 6, 7],
                                         [3, 1, 3, 7],    # first triangular mesh
                                         [3, 1, 5, 7],
                                         
                                         ])  # second triangular mesh
         
         first_panel = pyV.PolyData(first_panel_vertices, first_panel_meshes)
         
         return first_panel
