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

Element 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.

Element Summary
Constructor Attributes Constructor Name and Description
 
Attributes Summary
Field Attributes Field Name and Description
 
Customize arrow heads of vectors.
 
Scaling factor of the vectors.
Method Summary
Method Attributes Method Name and Description
<static>  
Vectorfield.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, 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
Element Detail
Vectorfield
This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create with type "vectorfield".

Possible parent array combinations are:
{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
        }
});


				
                
Attribute 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
<static> {Object} Vectorfield.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();

Attributes borrowed from other Elements
Attributes borrowed from class JXG.Curve:
lineCap
Attributes borrowed from class JXG.GeometryElement:
dash, dashScale, draft, dragToTopOfLayer, fillColor, fillOpacity, fixed, frozen, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, highlight, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, isLabel, layer, needsRegularUpdate, precision, priv, rotatable, scalable, shadow, snapToGrid, strokeColor, strokeOpacity, strokeWidth, tabindex, trace, traceAttributes, transitionDuration, transitionProperties, viewport, visible, withLabel

Fields borrowed from other Elements
Fields borrowed from class JXG.Curve:
dataX, dataY, numberPoints, qdt, ticks
Fields borrowed from class JXG.GeometryElement:
_org_type, _pos, ancestors, baseElement, board, childElements, descendants, dump, elementClass, elType, hasLabel, highlighted, id, inherits, isDraggable, isReal, lastDragTime, methodMap, mouseover, name, needsUpdate, notExistingParents, numTraces, parents, quadraticform, rendNode, stdform, subs, symbolic, traces, transformations, type, visProp, visPropCalc

Methods borrowed from other Elements
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, 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 other Elements
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
Documentation generated by JsDoc Toolkit 2.4.0 on Fri Jun 14 2024 14:43:48 GMT+0200 (Mitteleuropäische Sommerzeit)