JavaScript must be enabled in order for you to use JSXGraph and JSXGraph reference. However, it seems JavaScript is either disabled or not supported by your browser.

Class Index | File Index

Elements
Classes

Class Vectorfield

JXG.GeometryElement
   ↳ JXG.Curve
         ↳ Vectorfield

Vector field.

Plot a vector field either given by two functions f1(x, y) and f2(x,y) or by a function f(x, y) returning an array of size 2.

Defined in: vectorfield.js.
Extends JXG.Curve.

Class Summary
Constructor Attributes Constructor Name and Description
 
Vectorfield(F, xData, yData)
Fields borrowed from class JXG.Curve:
dataX, dataY, numberPoints, qdt, ticks
Fields borrowed from class JXG.GeometryElement:
_org_type, _pos, ancestors, baseElement, board, childElements, dash, dashScale, descendants, draft, dragToTopOfLayer, dump, elementClass, elType, fillColor, fillOpacity, fixed, frozen, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, hasLabel, highlight, highlighted, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, id, inherits, isDraggable, isLabel, isReal, lastDragTime, layer, lineCap, methodMap, mouseover, name, needsRegularUpdate, needsUpdate, notExistingParents, numTraces, parents, precision, priv, quadraticform, rendNode, rotatable, scalable, shadow, snapToGrid, stdform, strokeColor, strokeOpacity, strokeWidth, subs, symbolic, tabindex, trace, traceAttributes, traces, transformations, transitionDuration, transitionProperties, type, visible, visProp, visPropCalc, withLabel
Field Summary
Field Attributes Field Name and Description
 
Customize arrow heads of vectors.
 
Scaling factor of the vectors.
Fields borrowed from class JXG.Curve:
dataX, dataY, numberPoints, qdt, ticks
Fields borrowed from class JXG.GeometryElement:
_org_type, _pos, ancestors, baseElement, board, childElements, dash, dashScale, descendants, draft, dragToTopOfLayer, dump, elementClass, elType, fillColor, fillOpacity, fixed, frozen, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, hasLabel, highlight, highlighted, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, id, inherits, isDraggable, isLabel, isReal, lastDragTime, layer, lineCap, methodMap, mouseover, name, needsRegularUpdate, needsUpdate, notExistingParents, numTraces, parents, precision, priv, quadraticform, rendNode, rotatable, scalable, shadow, snapToGrid, stdform, strokeColor, strokeOpacity, strokeWidth, subs, symbolic, tabindex, trace, traceAttributes, traces, transformations, transitionDuration, transitionProperties, type, visible, visProp, visPropCalc, withLabel
Method Summary
Method Attributes Method Name and Description
 
setF(func)
Set the defining functions of vector field.
Methods borrowed from class JXG.Curve:
addTransform, allocatePoints, generateTerm, getTransformationSource, hasPoint, interpolationFunctionFromArray, maxX, minX, moveTo, notifyParents, update, updateCurve, updateDataArray, updateRenderer, updateTransform, X, Y, Z
Methods borrowed from class JXG.GeometryElement:
_set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getTextAnchor, getType, handleSnapToGrid, hide, hideElement, labelColor, noHighlight, normalize, prepareUpdate, remove, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, show, showElement, snapToPoints, updateVisibility, useLocale
Events borrowed from class JXG.GeometryElement:
attribute, attribute:key, down, drag, keydrag, mousedown, mousedrag, mousemove, mouseout, mouseover, mouseup, move, out, over, pendown, pendrag, penup, touchdown, touchdrag, touchup, up
Class Detail
Vectorfield(F, xData, yData)
Parameters:
{Array|Function|String} F
Either an array containing two functions f1(x, y) and f2(x, y) or function f(x, y) returning an array of length 2.


{Array} xData
Array of length 3 containing start value for x, number of steps, end value of x. The vector field will contain (number of steps) + 1 vectors in direction of x.


{Array} yData
Array of length 3 containing start value for y, number of steps, end value of y. The vector field will contain (number of steps) + 1 vectors in direction of y.


Throws:
{Error}
If the element cannot be constructed with the given parent objects an exception is thrown. Parameter options:
Examples:
// Defining functions
var fx = (x, y) => Math.sin(y);
var fy = (x, y) => Math.cos(x);

var field = board.create('vectorfield', [
        [fx, fy],    // Defining function
        [-6, 25, 6], // Horizontal mesh
        [-5, 20, 5], // Vertical mesh
    ]);


				
				
// Slider to control length of vectors
var s = board.create('slider', [[-3, 7], [3, 7], [0, 0.33, 1]], {name: 'length'});
// Slider to control number of steps
var stepsize = board.create('slider', [[-3, 6], [3, 6], [1, 20, 100]], {name: 'steps', snapWidth: 1});

// Defining functions
var fx = (x, y) => 0.2 * y;
var fy = (x, y) => 0.2 * (Math.cos(x) - 2) * Math.sin(x);

var field = board.create('vectorfield', [
        [fx, fy],        // Defining function
        [-6, () => stepsize.Value(), 6], // Horizontal mesh
        [-5, () => stepsize.Value(), 5], // Vertical mesh
    ], {
        highlightStrokeColor: JXG.palette.blue, // Make highlighting invisible

        scale: () => s.Value(), // Scaling of vectors

        arrowHead: {
            enabled: true,
            size: 8,  // Pixel length of arrow head
            angle: Math.PI / 16
        }
});


				
                
Field Detail
arrowhead
Customize arrow heads of vectors. Be careful! If enabled this will slow down the performance. Fields are:
Defined in: options.js.
Default Value:
{enabled: true, size: 5, angle: Math.PI * 0.125}

scale
Scaling factor of the vectors. This in contrast to slope fields, where this attribute sets the vector to the given length.
Defined in: options.js.
See:
Slopefield.scale
Default Value:
1
Method Detail
{Object} setF(func)
Set the defining functions of vector field.
Parameters:
{Array|Function} func
Either an array containing two functions f1(x, y) and f2(x, y) or function f(x, y) returning an array of length 2.
Returns:
{Object} Reference to the vector field object.
Examples:
field.setF([(x, y) => Math.sin(y), (x, y) => Math.cos(x)]);
board.update();

Documentation generated by JsDoc Toolkit 2.4.0 on Sun Aug 13 2023 17:10:01 GMT-0000 (UTC)