3D stream tube plot
npm install gl-streamtube3dgl-streamtube3d
=====================
Visualization module for vector fields.
``javascript
var createScene = require('gl-plot3d')
var createMesh = require('gl-mesh3d')
var createStreamTube = require('gl-streamtube3d')
var wind = require('dataset-wind')
var scene = createScene()
var bounds = [];
var streamTube = createStreamTube({
startingPositions: positionsArray,
maxLength: 1000,
getVelocity: velocityFunction,
colormap: 'portland'
}, bounds)
var mesh = createMesh(gl, streamTube)
scene.add(mesh)
`
Try out the example in your browser
``
npm i gl-streamtube3d
#### var streamTube = require('gl-streamtube3d')(params, bounds)
Creates a stream tube plot of a vector field.
* params is an object that has the following properties:
+ startingPositions (Required) An array of starting positions for the vector field, encoded as arrays.getVelocity(point)
+ (Optional) A getter function to get the velocity at a given point.getDivergence(point)
+ (Optional) A getter function to get the divergence at a given point. Used for the width of the streamtube. Defaults to the divergence of the getVelocity function.maxLength
+ (Optional) The maximum number of segments to add to a streamtube. Default is 1000.tubeSize
+ (Optional) The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.absoluteTubeSize
+ (Optional) Absolute scaling factor for the streamtubes. A value of 1 scales divergence of 1 to 1 coordinate system unit. Overrides tubeSize.colormap` (Optional) The colormap to use.
+
Returns A streamtube plot object that can be passed to gl-mesh3d.