Scalar Field Curvature#
Functionality#
This node calculates several types of information about implicitly defined surface curvature:
Principal curvature values
Gauss Curvature
Mean Curvature
You can refer to Wkikpedia for more detailed information about these terms.
If we have a scalar field defined by V = F(x,y,z), then at each point in space (x,y,z) it has a value of V; then through each point in space goes an iso-surface defined by F(x,y,z) = V. We can calculate curvature of that surface at that point. So, it appears that given one scalar field, we can define another one, defined by K(x,y,z) = Curvature(F(x,y,z) = V at (x,y,z)). We can simply evaluate that new scalar field at any point, for example at points of the surface F(x,y,z) = V itself; or we can do other strange things with this new scalar field…
The most clearly useful this will be in combination with “Marching Cubes” node from Sverchok-Extra addon, but may give interesting effects by itself.
Note that the calculation is done by numerical differentiation, so it may be not very precise in some cases.
Inputs#
This node has the following input:
Field. The scalar field, for which the curvature is to be calculated. This input is mandatory.
Parameters#
This node has the following parameter:
Step. Grid step for numericall differentiation. Bigger values give more smooth fields. The default value is 0.001.
Outputs#
This node has the following outputs:
Gauss. Scalar field, values of which are Gaussian curvature values of iso-surfaces of the input scalar field.
Mean. Scalar field, values of which are mean curvature values of iso-surfaces of the input scalar field.
Curvature1. Scalar field, values of which are first principal curvature values of iso-surfaces of the input scalar field.
Curvature2. Scalar field, values of which are second principal curvature values of iso-surfaces of the input scalar field.
Examples of usage#
Build some scalar field by “Attractor Field” node, measure it’s mean curvature and use that curvature values to color the vertices of a plane:

Generator-> NGon
Surfaces-> Plane (Surface)
Surfaces-> Evaluate Surface
Fields-> Attractor Field
Fields-> Evaluate Scalar Field
Number-> Map Range
Color-> Color In
BV Alpha: Viz-> Mesh Viewer
BPY Data->Vertex color mk3
Generate an iso-surface of the same scalar field, and use it’s mean curvature values for coloring. Note: this example requires Sverchok-Extra addon for “Marching Cubes” node.

Generator-> Box
Generator-> NGon
Surfaces-> Marching Cubes
Fields-> Evaluate Scalar Field
Number-> Map Range
Color-> Color Input
BV Alpha: Viz-> Mesh Viewer
BPY Data->Vertex color mk3