Minimal Surface

https://github.com/nortikin/sverchok/assets/14288520/c3e19248-a6e2-4da9-8472-a64586053d15

Dependencies

This node requires SciPy library to work.

Functionality

This node generates a Surface, based on provided points, by use of RBF method. Depending on node parameters, the curve can be either interpolating (go through all points) or only approximating.

The generated surface is not, strictly speaking, guaranteed to be minimal; but in many simple cases it is close enough to the minimal.

This node, in general, searches for a surface as a mapping from (U, V) coordinates to (X, Y, Z). In many simple cases, you will want to provide just a list of points, and tell the node to use their X and Y coordinates as U and V. So, the node will actually only have to find a function which maps (X, Y) to Z. In other cases, you will want to provide a set of (X, Y, Z) points and a set of corresponding (U, V) coordinate pairs.

https://github.com/nortikin/sverchok/assets/14288520/ce5e1ccd-b6cc-40aa-991e-1a65b047871c https://github.com/nortikin/sverchok/assets/14288520/0525d736-bf3a-4a86-8bb0-696ca2853a90

Inputs

This node has the following inputs:

Parameters

This node has the following parameters:

  • Surface type. This defines which type of function the node will try to find. The available values are:

    • XY -> Z. The node will search for a function, mapping (X, Y) coordinates to Z (or (X, Z) to Y, or (Y, Z) to X,depending on Orientation parameter). So, in this mode the node can generate only surfaces which have a single Z value for each pair of X and Y. X, Y, Z coordinates can be rotated according to the Matrix input.

    • UV -> XYZ. The node will search for a function, mapping arbitrary (U, V) coordinates to (X, Y, Z). This mode is more general, but requires to pass U and V coordinate for each point somehow.

    The default option is XY -> Z.

  • Orientation. This parameter is available only if Surface type parameter is set to XY -> Z. This defines which axis will be used as “function value”. Other two axes will be used as U and V parameters. The available values are X, Y and Z. The default option is Z.

  • Explicit source UV. This parameter is available only if Surface type parameter is set to UV -> XYZ. This defines whether you want to define U and V parameters for each point in the Vertices input explicitly. If checked, then U and V parameters are expected in SrcU, SrcV inputs. Otherwise, the Vertices input will expect a list of lists of points for each surface, and the node will try to guess U and V coordinates automatically. Checked by default.

  • Function. The specific function used by the node. The available values are:

    • Multi Quadric

    • Inverse

    • Gaussian

    • Cubic

    • Quintic

    • Thin Plate

    The default function is Multi Quadric. Scipy RBF Functions

    https://github.com/nortikin/sverchok/assets/14288520/1de5c5e8-4dba-455c-b268-8f5d9ac787f9

Outputs

This node has the following output:

  • Surface. The generated Surface object.

Examples of usage

Simple example of XY -> Z mode usage:

https://user-images.githubusercontent.com/284644/87230237-0734d580-c3c8-11ea-90c3-730bb21170c4.png

An example of Matrix input usage; rotated and deformed plane is used as input:

https://user-images.githubusercontent.com/284644/87230628-ba9ec980-c3ca-11ea-8551-6fc3e8ab532f.png

An example where UV -> XYZ mode is required to build a proper surface:

https://user-images.githubusercontent.com/284644/87230238-08660280-c3c8-11ea-97d0-87dd31029abe.png