-
Notifications
You must be signed in to change notification settings - Fork 1
Creating Interpolated Block Models and Grade Shell Meshes
This operator uses Radial Basis Function (RBF) interpolation to create a volumetric block model from spatial data points. The block model operator is very basic in its functionality, many limitations exist and it is not recommended for any resource estimation at this stage.
RBF_BlockModel.mp4
The RBF Interpolated Block Model operator allows users to:
- Select a collection containing objects with spatial data and custom properties (numerical attributes).
- Define a bounding box object to set interpolation extents.
- Choose data properties (e.g., geochemical values) for interpolation.
- Customize grid resolution, interpolation functions, and normalization settings.
- Visualize results as a structured volumetric block model organized into collections.
-
Collection-Based Input
- Select objects from a chosen collection for interpolation.
- Extract spatial (
x
,y
,z
) and data (d
) properties automatically.
-
Bounding Box Extents
- Define interpolation boundaries using a bounding box object.
-
Grid Control
- Set grid size to control model resolution.
-
RBF Function Options
- Choose from multiple RBF kernels:
multiquadric
,inverse
,gaussian
,linear
,cubic
,quintic
, andthin_plate
.
- Choose from multiple RBF kernels:
-
Normalization and Outlier Control
- Normalize scalar field values and manage outliers using the Interquartile Range (IQR).
-
Dynamic Visualization
- Generate a structured block model organized into 10 collections based on interpolated values.
- Apply color gradients derived from Matplotlib's
Spectral_r
colormap.
-
Collection: Choose the collection holding your data objects (can be mesh objects or curve objects) must have valid spatial (
x
,y
,z
) and numerical (data_property
) properties. - Bounding Box: A Blender object (e.g., cube) defines the model extents.
- Data Property: Select the numerical property for interpolation from the custom object properties.
- Go to the GeoModeller Panel → Numerical Modelling → RBF Interpolated Block Model.
- Use the
Choose Collection
dropdown to select your data collection.
- Create a cube object in the scene.
- Position and scale it to enclose the area of interest.
- Select this cube in the
Bounding Box Object
dropdown.
- Select a numerical property (e.g.,
Zn_ppm
,Au_ppm
) from theData Property
dropdown.
- Set
Grid Size
to control interpolation resolution (higher values = finer grid). - Choose an RBF kernel from the
RBF Function
menu. - Adjust
Epsilon Value
or leave it to auto-calculate average point distance.
- Check
Normalize Colormap
to scale values based on IQR. - Adjust
IQR Scaling Factor
if needed.
- Click Generate Block Model to run the interpolation and visualization process.
- Structured Collections: Blocks are grouped into 10 collections based on scalar field value ranges.
-
Object Properties: Each block retains spatial (
x
,y
,z
) and interpolated value (d
) data. -
Color Mapping: Colors are assigned dynamically using
Spectral_r
colormap.
The RBF Grade Shell Mesh operator generates a mesh representing an isosurface derived from spatially distributed data points. It uses Radial Basis Function (RBF) interpolation combined with a marching cubes algorithm to create a smooth, continuous surface.
The Grade Shell Mesh operator allows user to:
- Select a collection containing spatial data points.
- Define a bounding box object to constrain interpolation extents.
- Choose a numerical property (e.g., grade values) for interpolation.
- Specify a cutoff value to define the isosurface.
- Customize interpolation parameters and grid resolution.
- Visualize the isosurface as a single mesh object.
-
Collection-Based Input
- Uses objects from a specified collection containing any numerical (
data_property
) data.
- Uses objects from a specified collection containing any numerical (
-
Bounding Box Extents
- Define interpolation boundaries using a bounding box object (cube object).
-
Cutoff Value for Isosurface
- Specify a threshold value to represent the grade shell.
-
RBF Interpolation Parameters
- Choose from multiple RBF kernels:
multiquadric
,inverse
,gaussian
,linear
,cubic
,quintic
, andthin_plate
.
- Choose from multiple RBF kernels:
-
Marching Cubes Algorithm
- Efficiently generate a smooth isosurface mesh.
-
Dynamic Visualization
- The resulting isosurface mesh is directly added to the Blender scene.
-
Collection: Objects must have valid spatial (
x
,y
,z
) and numerical (data_property
) properties. - Bounding Box: A Blender object (e.g., cube) defines the model extents.
-
Data Property: Select the numerical property for interpolation (e.g.,
Zn_ppm
,Au_ppm
). - Cutoff Value: Specify an isosurface threshold value.
- Go to the GeoModeller Panel → Numerical Modelling → RBF Grade Shell Mesh.
- Use the
Choose Collection
dropdown to select your data collection.
- Create a cube object in the scene.
- Position and scale it to enclose the area of interest.
- Select this cube in the
Bounding Box Object
dropdown.
- Select a numerical property (e.g.,
Zn_ppm
,Au_ppm
) from theData Property
dropdown. - Enter a numerical value for the
Cutoff Value
(e.g.,10.0
) to define the isosurface threshold.
- Set
Grid Size
to control mesh resolution (higher values = finer mesh). 50 is a good starting point. - Choose an RBF kernel from the
RBF Function
menu. - Adjust
Epsilon Value
(for non-linear) or leave it to auto-calculate average point distance.
- Click Generate Grade Shell Mesh to start interpolation and mesh generation.
- Mesh Object: The isosurface is generated as a single mesh object and added directly to the Blender scene.
- Object Properties: The mesh retains spatial extents defined by the bounding box and interpolation grid.
Zn_ppm_Interpolant
Au_ppm_Interpolant
Feature | Block Model | Grade Shell Mesh |
---|---|---|
Output Type | Structured voxel blocks | Continuous isosurface mesh |
Primary Use | Volumetric visualization | Threshold-based surfaces |
Grid Control | Adjustable resolution | Adjustable resolution |
Visualization | Organized into collections | Single mesh object |
Processing Time | Moderate to High | Low |
- Currently, there are no options for anisotropy or advanced variogram parameterization. (These features are hopefully planned for the next version.)
- Grid Size vs. Performance: For block models, larger grid sizes significantly increase processing time. Any grid size over 25 will take a considerable amount of time and result in laggy blender scenes. For a grade shell mesh, a grid size of 50 is pretty fast.
- Outlier Handling: Use IQR normalization to minimize the impact of extreme values.
- Bounding Box Validity: All data points do not need to lie within the bounding box extents. The bounding box will clip the data to what it encompasses.
-
Console Feedback: Monitor progress and error messages in Blender's Console (
Window → Toggle System Console
).
- Data Validation: Ensure selected objects have consistent spatial and data properties.
- Bounding Box Adjustment: Keep extents tightly bound to the region of interest.
- Grid Optimization: Start with a lower grid size for testing, then increase resolution.
For more advanced details about RBF interpolation, refer to the Scipy Documentation.