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.
Constructor Attributes | Constructor Name and Description |
---|---|
Field Attributes | Field Name and Description |
---|---|
Customize arrow heads of vectors.
|
|
Scaling factor of the vectors.
|
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, eval, evalVisProp, 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.
- enabled: Boolean
- size: length of the arrow head legs (in pixel)
- angle: angle of the arrow head legs In radians.
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.
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:
- aria, cssClass, dash, dashScale, draft, dragToTopOfLayer, element3D, fillColor, fillOpacity, fixed, frozen, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, highlight, highlightCssClass, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, isLabel, layer, needsRegularUpdate, nonnegativeOnly, precision, priv, rotatable, scalable, shadow, snapToGrid, strokeColor, strokeOpacity, strokeWidth, tabindex, trace, traceAttributes, transitionDuration, transitionProperties, 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, eval, evalVisProp, 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