# defineMesh

Distributes points (pixels) across the workspace. It creates two variables—matrices X and Y—that store x and y coordinates, representing the grid. The inputs are numbers of points spread along the width and height of the workspace.

• `nargin = 3` -> 2D
• `nargin = 4` -> 3D

Usage: `[model] = defineMesh(model, varargin);`

`varargin` -> widthPoints, heightPoints, depthPoints

• model - structure with a numerical model description
• widthPoints - mesh width
• heightPoints - mesh height
• depthPoints - mesh depth

# findIndexFwdp

Finds indices in a quadtree mesh.

Usage: `[index] = findIndexFwdp(model, element_name);`

• model - structure with a numerical model description
• element_name - the name of the element

# findNeighbors

Finds pixels (four neighbors in 2D and six in 3D) near a pixel with a given index.

Usage: `[QT] = findNeighbors(QT, index);`

• QT - quadtree structure with a numerical model description
• index - the index of the pixel for which neighbors are searched

# fineMesh

Modifies a pattern image used by the meshing algorithm. Generating a pattern in a specific geometrical element creates a finer mesh in that area. A chessboard pattern is generated in the selected element of the space.

Usage: `model = fineMesh(model, element, elementSize);`

• model - structure with a numerical model description
• element - the name of the element
• elementSize - determines the mesh size

# meshing

The meshing function creates and manages a quadtree of an image.

Usage: `[model] = meshing(model, pixMin, pixMax);`

• model - structure with a numerical model description
• pixMin - minimum pixel size in a mesh
• pixMax - maximum pixel size in a mesh

# qtComp

The qtComp function recreates a full matrix from a quadtree sparse with new chosen values.

Usage: `[fullMat] = qtComp(model, varargin);`

• fullMat - full matrix (uniform) with values
• QT - structure with a numerical model description necessary to create a quadtree
• varargin - nonuniform mesh to be represented in a uniform mesh

# qtCut

Function for a single cut in a quadtree structure. Used as a recursive function by qtDecom.

Usage: `[qt] = qtCut(QT, A, S, param, pixMin, pixMax);`

• qt - quadtree mesh structure
• A - full matrix to cut
• S - temporary matrix that is part of A
• param - measure of non-uniformity
• pixMin - minimum pixel size in a mesh
• pixMax - maximum pixel size in a mesh

# qtDecom

Function to create a quadtree structure. Used in meshing.

Usage: `qt = qtDecom(QT, A, param, pixMin, pixMax);`

• QT - structure with a numerical model description necessary to create a quadtree
• A - a map used for forming a uniform mesh
• param - measure of non-uniformity
• pixMin - minimum pixel size in a mesh
• pixMax - maximum pixel size in a mesh
• qt - quadtree structure with a numerical model description

# recNeighSearch

Recurrent neighbor searching. Used by findNeighbors.

Usage: `[nList] = recNeighSearch(QT, index, pixSize, nList, plane);`

• QT - quadtree structure with a numerical model description
• index - the index of the pixel for which the neighbors are searched
• pixSize - size of an element
• nList - structure with the latest list of neighbors in plane
• plane - name of the plane to search: 1 - k, 2 - j, 3 - i