# JSXGraph Reference

## 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

- Angle
- Arc
- Arrow
- Arrowparallel
- Axis
- Bisector
- Bisectorlines
- Circle
- Circumcenter
- Circumcircle
- CircumcircleArc
- Circumcirclesector
- Conic
- Curve
- Ellipse
- Functiongraph
- Glider
- Grid
- Hyperbola
- Image
- Incenter
- Incircle
- Integral
- Intersection
- Line
- Locus
- Midpoint
- Mirrorpoint
- Normal
- Orthogonalprojection
- OtherIntersection
- Parabola
- Parallel
- Parallelpoint
- Perpendicular
- Perpendicularpoint
- Point
- Polygon
- Reflection
- RegularPolygon
- Riemannsum
- Sector
- Segment
- Semicircle
- Slider
- Tangent
- Text
- Ticks
- Tracecurve

## Classes

- _global_
- JXG
- JXG.AbstractRenderer
- JXG.Board
- JXG.C
- JXG.CanvasRenderer
- JXG.Circle
- JXG.Complex
- JXG.Composition
- JXG.Coords
- JXG.Curve
- JXG.Dump
- JXG.GeometryElement
- JXG.GeonextParser
- JXG.Group
- JXG.Image
- JXG.JessieCode
- JXG.JSXGraph
- JXG.Line
- JXG.Math
- JXG.Math.Geometry
- JXG.Math.Numerics
- JXG.Math.Poly
- JXG.Math.Poly.Monomial
- JXG.Math.Poly.Polynomial
- JXG.Math.Poly.Ring
- JXG.Math.Statistics
- JXG.Math.Symbolic
- JXG.Point
- JXG.Polygon
- JXG.Server
- JXG.Server.modules
- JXG.SVGRenderer
- JXG.Text
- JXG.Ticks
- JXG.Turtle
- JXG.Util
- JXG.VMLRenderer

# Element Curve

JXG.GeometryElement
↳ JXG.Curve
↳ Curve

This element is used to provide a constructor for curve, which is just a wrapper for element Curve. A curve is a mapping from R to R^2. t mapsto (x(t),y(t)). The graph is drawn for t in the interval [a,b].

The following types of curves can be plotted:

- parametric curves: t mapsto (x(t),y(t)), where x() and y() are univariate functions.
- polar curves: curves commonly written with polar equations like spirals and cardioids.
- data plots: plot linbe segments through a given list of coordinates.

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

Element Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| Curve

Element Detail
Curve

This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create with type "curve".
Possible parent array combinations are:
{function|number} x
{function|number} y
{function|number} a Optional
{function|number} b Optional
  Parent elements for Parametric Curves.

  x describes the x-coordinate of the curve. It may be a function term in one variable, e.g. x(t). In case of x being of type number, x(t) is set to a constant function. this function at the values of the array.

  y describes the y-coordinate of the curve. In case of a number, y(t) is set to the constant function returning this number.

  Further parameters are an optional number or function for the left interval border a, and an optional number or function for the right interval border b.

  Default values are a=-10 and b=10.

{array} x
{array|function|number} y
  Parent elements for Data Plots.

  x and y are arrays contining the x and y coordinates of the data points which are connected by line segments. The individual entries of x and y may also be functions. In case of x being an array the curve type is data plot, regardless of the second parameter and if additionally the second parameter y is a function term the data plot evaluates.

{function} r
{array|function|number} offset Optional
{function|number} a Optional
{function|number} b Optional
  Parent elements for Polar Curves.

  The first parameter is a function term r(phi) describing the polar curve.

  The second parameter is the offset of the curve. It has to be an array containing numbers or functions describing the offset. Default value is the origin [0,0].

  Further parameters are an optional number or function for the left interval border a, and an optional number or function for the right interval border b.

  Default values are a=-10 and b=10.

See:
  JXG.Curve

Examples:

    // Parametric curve
    // Create a curve of the form (t-sin(t), 1-cos(t), i.e.
    // the cycloid curve.
      var graph = board.create('curve',
                           [function(t){ return t-Math.sin(t);},
                            function(t){ return 1-Math.cos(t);},
                            0, 2*Math.PI]
                        );

    // Data plots
    // Connect a set of points given by coordinates with dashed line segments.
    // The x- and y-coordinates of the points are given in two separate
    // arrays.
      var x = [0,1,2,3,4,5,6,7,8,9];
      var y = [9.2,1.3,7.2,-1.2,4.0,5.3,0.2,6.5,1.1,0.0];
      var graph = board.create('curve', [x,y], {dash:2});

    // Polar plot
    // Create a curve with the equation r(phi)= a*(1+phi), i.e.
    // a cardioid.
      var a = board.create('slider',[[0,2],[2,2],[0,1,2]]);
      var graph = board.create('curve',
                           [function(phi){ return a.Value()*(1-Math.cos(phi));},
                            [1,0],
                            0, 2*Math.PI]
                        );

Attributes borrowed from other Elements

Attributes borrowed from class JXG.Curve:
  curveType, handDrawing
Attributes borrowed from class JXG.GeometryElement:
  dash, draft, fillColor, fillOpacity, fixed, frozen, highlight, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, needsRegularUpdate, shadow, strokeColor, strokeOpacity, strokeWidth, trace, traceAttributes, visible, withLabel

Fields borrowed from other Elements

Fields borrowed from class JXG.Curve:
  numberPoints
Fields borrowed from class JXG.GeometryElement:
  addEvent, ancestors, baseElement, board, childElements, descendants, dump, elementClass, elType, eventHandlers, getAttribute, hasLabel, highlighted, id, isDraggable, isReal, methodMap, mouseover, name, needsUpdate, notExistingParents, numTraces, quadraticform, removeEvent, stdform, subs, symbolic, traces, transformations, type, visProp

Methods borrowed from other Elements

Methods borrowed from class JXG.Curve:
  addTransform, allocatePoints, generateTerm, hasPoint, isDistOK, isSegmentOutside, maxX, minX, notifyParents, setPosition, update, updateCurve, updateDataArray, updateParametricCurve, updateParametricCurveNaive, updateRenderer, updateTransform, X, Y, Z
Methods borrowed from class JXG.GeometryElement:
  _set, addChild, addDescendants, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, generatePolynomial, getAttributes, getLabelAnchor, getName, getParents, getProperty, getTextAnchor, getType, hideElement, labelColor, noHighlight, normalize, off, on, prepareUpdate, remove, resolveShortcuts, setArrow, setAttribute, setDash, setLabelText, setProperty, setStraight, showElement, triggerEventHandlers

Documentation generated by JsDoc Toolkit 2.4.0 on Mon Apr 02 2012 17:54:01 GMT+0200 (MESZ)