# JSXGraph 1.11.1 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
- Axes3D
- Axis
- Axis3D
- Bisector
- Bisectorlines
- Boxplot
- Button
- Cardinalspline
- Chart
- Checkbox
- Circle
- Circle3D
- Circumcenter
- Circumcircle
- CircumcircleArc
- CircumcircleSector
- Comb
- Conic
- Curve
- Curve3D
- CurveDifference
- CurveIntersection
- CurveUnion
- Derivative
- Ellipse
- Face3D
- ForeignObject
- Functiongraph
- Functiongraph3D
- Glider
- Grid
- Group
- Hatch
- Hyperbola
- Image
- ImplicitCurve
- Incenter
- Incircle
- Inequality
- Input
- Integral
- Intersection
- IntersectionCircle3D
- IntersectionLine3D
- Label
- Legend
- Line
- Line3D
- MajorArc
- MajorSector
- Measurement
- Mesh3D
- Metapostspline
- Midpoint
- MinorArc
- MinorSector
- MirrorElement
- MirrorPoint
- NonReflexAngle
- Normal
- Orthogonalprojection
- OtherIntersection
- Parabola
- Parallel
- Parallelogram
- Parallelpoint
- ParametricSurface3D
- Perpendicular
- PerpendicularPoint
- PerpendicularSegment
- Plane3D
- Point
- Point3D
- PolarLine
- PolePoint
- Polygon
- Polygon3D
- PolygonalChain
- Polyhedron3D
- RadicalAxis
- Reflection
- ReflexAngle
- RegularPolygon
- Riemannsum
- Sector
- Segment
- Semicircle
- Slider
- Slopefield
- Slopetriangle
- Smartlabel
- Sphere3D
- Spline
- Stepfunction
- Tangent
- TangentTo
- Tapemeasure
- Text
- Text3D
- Ticks
- Ticks3D
- Tracecurve
- Transformation
- Transformation3D
- Turtle
- Vectorfield
- Vectorfield3D
- View3D

Classes

- _global_
- JXG
- JXG.AbstractRenderer
- JXG.Board
- JXG.Board.infobox
- JXG.C
- JXG.CA
- JXG.CanvasRenderer
- JXG.Chart
- JXG.Circle
- JXG.Circle3D
- JXG.Complex
- JXG.Composition
- JXG.Coords
- JXG.CoordsElement
- JXG.Curve
- JXG.Curve3D
- JXG.Dump
- JXG.EventEmitter
- JXG.Expect
- JXG.Face3D
- JXG.ForeignObject
- JXG.GeometryElement
- JXG.GeometryElement3D
- JXG.GeonextParser
- JXG.Group
- JXG.Image
- JXG.JessieCode
- JXG.JSXGraph
- JXG.Legend
- JXG.Line
- JXG.Line3D
- JXG.Math
- JXG.Math.BoxQuadtree
- JXG.Math.Clip
- JXG.Math.Extrapolate
- JXG.Math.Geometry
- JXG.Math.ImplicitPlot
- JXG.Math.IntervalArithmetic
- JXG.Math.Metapost
- JXG.Math.Nlp
- JXG.Math.Numerics
- JXG.Math.Plot
- JXG.Math.Poly
- JXG.Math.Poly.Monomial
- JXG.Math.Poly.Polynomial
- JXG.Math.Poly.Ring
- JXG.Math.ProbFuncs
- JXG.Math.Quadtree
- JXG.Math.Statistics
- JXG.NoRenderer
- JXG.Options
- JXG.Plane3D
- JXG.Point
- JXG.Point3D
- JXG.Polygon
- JXG.Polygon3D
- JXG.PrefixParser
- JXG.Sphere3D
- JXG.Surface3D
- JXG.SVGRenderer
- JXG.Text
- JXG.Text3D
- JXG.Ticks
- JXG.Transformation
- JXG.Turtle
- JXG.Util
- JXG.Util.Base64
- JXG.Util.Unzip
- JXG.Util.UTF8
- JXG.View3D
- JXG.VMLRenderer
- JXG.XML

# Element Polygon

JXG.GeometryElement
↳ JXG.Polygon
↳ Polygon

A polygon is a plane figure made up of line segments (the borders) connected to form a closed polygonal chain. It is determined by

- a list of points or
- a list of coordinate arrays or
- a function returning a list of coordinate arrays.

Each two consecutive points of the list define a line.
Defined in: polygon.js.
Extends JXG.Polygon.

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

Attributes Summary
Field Attributes | Field Name and Description
--- | ---
| borders Attributes for the polygon border lines.
| hasInnerPoints If `true`, moving the mouse over inner points triggers hasPoint.
| highlightByStrokeWidth By default, the strokewidths of the borders of a polygon are not changed during highlighting (only strokeColor and strokeOpacity are changed to highlightStrokeColor, and highlightStrokeOpacity).
| label Attributes for the polygon label.
| vertices Attributes for the polygon vertices.
| withLines Is the polygon bordered by lines?

Methods borrowed from class JXG.Polygon:
  addPoints, Area, boundingBox, findPoint, getTextAnchor, hasPoint, hideElement, insertPoints, intersect, L, Perimeter, pnpoly, remove, removePoints, setPositionDirectly, showElement, sutherlandHodgman, updateRenderer
Methods borrowed from class JXG.GeometryElement:
  _set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getType, handleSnapToGrid, hide, noHighlight, normalize, prepareUpdate, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setProperty, show, snapToPoints, update, 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
Polygon

This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create with type "polygon".
Possible parent array combinations are:
{Array} vertices
  The polygon's vertices. If the first and the last vertex don't match the first one will be added to the array by the creator. Here, two points match if they have the same 'id' attribute. Additionally, a polygon can be created by providing a polygon and a transformation (or an array of transformations). The result is a polygon which is the transformation of the supplied polygon.

Throws:
{Exception}
  If the element cannot be constructed with the given parent objects an exception is thrown.

Examples:

    var p1 = board.create('point', [0.0, 2.0]);
    var p2 = board.create('point', [2.0, 1.0]);
    var p3 = board.create('point', [4.0, 6.0]);
    var p4 = board.create('point', [1.0, 4.0]);

    var pol = board.create('polygon', [p1, p2, p3, p4]);

    var p = [[0.0, 2.0], [2.0, 1.0], [4.0, 6.0], [1.0, 3.0]];

    var pol = board.create('polygon', p, {hasInnerPoints: true});

      var f1 = function() { return [0.0, 2.0]; },
          f2 = function() { return [2.0, 1.0]; },
          f3 = function() { return [4.0, 6.0]; },
          f4 = function() { return [1.0, 4.0]; },
          cc1 = board.create('polygon', [f1, f2, f3, f4]);
          board.update();

    var t = board.create('transform', [2, 1.5], {type: 'scale'});
    var a = board.create('point', [-3,-2], {name: 'a'});
    var b = board.create('point', [-1,-4], {name: 'b'});
    var c = board.create('point', [-2,-0.5], {name: 'c'});
    var pol1 = board.create('polygon', [a,b,c], {vertices: {withLabel: false}});
    var pol2 = board.create('polygon', [pol1, t], {vertices: {withLabel: true}});

Attribute Detail
{Line} borders
Attributes for the polygon border lines.
Defined in: options.js.

{Boolean} hasInnerPoints
If `true`, moving the mouse over inner points triggers hasPoint.
Defined in: options.js.

See:
  JXG.GeometryElement#hasPoint

Default Value:
  false

{Boolean} highlightByStrokeWidth
By default, the strokewidths of the borders of a polygon are not changed during highlighting (only strokeColor and strokeOpacity are changed to highlightStrokeColor, and highlightStrokeOpacity). However, strokewidth is changed to highlightStrokewidth if an individual border gets the focus.

With this attribute set to true, also the borders change strokeWidth if the polygon itself gets the focus.
Defined in: options.js.

Default Value:
  false

{Label} label
Attributes for the polygon label.
Defined in: options.js.

{Point} vertices
Attributes for the polygon vertices.
Defined in: options.js.

{Boolean} withLines
Is the polygon bordered by lines?
Defined in: options.js.

Default Value:
  true

Attributes borrowed from other Elements

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, lineCap, 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.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.Polygon:
  addPoints, Area, boundingBox, findPoint, getTextAnchor, hasPoint, hideElement, insertPoints, intersect, L, Perimeter, pnpoly, remove, removePoints, setPositionDirectly, showElement, sutherlandHodgman, updateRenderer
Methods borrowed from class JXG.GeometryElement:
  _set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getType, handleSnapToGrid, hide, noHighlight, normalize, prepareUpdate, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setProperty, show, snapToPoints, update, 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 Apr 04 2025 09:22:42 GMT+0200 (Mitteleuropäische Sommerzeit)