Production of Isosurfaces by Marching-Cubes Method (Fortran)

    main program:  mcube001.f
    subroutine:    mcsub001.f
    
    Explanation: Fortran Program to draw the isosurfaces by getting 3-dimensional 
                 scalar physical data, v(NX,NX,NX)
    
    Input parameters:

       subroutine file: mcsub001.f
          NGX:  number of grid in x-direction
          NGY:  number of grid in y-direction
          NGZ:  number of grid in z-direction
          NX =NGX+1: number of data in x-direction
          NY =NGY+1: number of data in y-direction
          NZ =NGZ+1: number of data in z-direction

       main program: mcube001.f
          viewpoint(NGX,NGY,NGZ,D): subroutine to determine view point
          dr_grid(fp, gc): function to draw the grid
          dr_scale(gc,NGX,NGY,NGZ,D): function to draw the scale
          mk_data(v,NX,NY,NZ,D): data production
          mk_equ_face((th*1)/3,v,rc,tr,NX,NY,NZ,D): function to draw an isosurface
            D:  interval of the values of isosurfaces
            fp: output file name
            th: level of isosurface
            gc: color of isosurface
            v:  3-dimensional input data
            tr: degree of transparency

Example: