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

JXG.GeometryElement
↳ JXG.Curve
↳ Curve
↳ Face3D

This element creates a 3D face.
Defined in: face3d.js.
Extends Curve.

Element Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| Face3D A 3D faces is TODO

Attributes Summary
Field Attributes | Field Name and Description
--- | ---
| shader Shading of faces.

Field Summary
Field Attributes | Field Name and Description
--- | ---
| d Hesse right hand side of the plane that contains the face.
| faceNumber Index of the face in the list of faces of the polyhedron
| normal Normal vector for the face.
| polyhedron Link to the defining data of the parent polyhedron3d.
| vec1 First basis vector of the face.
| vec2 Second basis vector of the face.

Method Summary
Method Attributes | Method Name and Description
--- | ---
<static> | Face3D.shader() Determines the lightness of the face (in the HSL color scheme).
| updateCoords() Update the coordinates of all vertices of the polyhedron
| updateDataArray2D() Update the 2d coordinates of the face

Methods borrowed from class JXG.Curve:
  addTransform, allocatePoints, generateTerm, getLabelPosition, 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
Face3D
A 3D faces is TODO

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

Attribute Detail
{Object} shader
Shading of faces. For this, the HSL color scheme is used. Two types are possible: either by 'angle' or by 'zIndex'. By default (i.e. type:'angle'), the angle between the camera axis and the normal of the face determines the lightness value of the HSL color. Otherwise, the zIndex of the face determines the lightness value of the HSL color.
Defined in: options3d.js.

            var view = board.create(
                'view3d',
                [[-5, -3], [8, 8],
                [[-3, 3], [-3, 3], [-3, 3]]],
                {
                    projection: 'central',
                    trackball: { enabled: true },
                    depthOrder: {
                        enabled: true
                    },
                    xPlaneRear: { visible: false },
                    yPlaneRear: { visible: false },
                    zPlaneRear: { fillOpacity: 0.2, visible: true }
                }
            );

            let rho = 1.6180339887;
            let vertexList = [
                [0, -1, -rho], [0, +1, -rho], [0, -1, rho], [0, +1, rho],
                [1, rho, 0], [-1, rho, 0], [1, -rho, 0], [-1, -rho, 0],
                [-rho, 0, 1], [-rho, 0, -1], [rho, 0, 1], [rho, 0, -1]
            ];
            let faceArray = [
                [4, 1, 11],
                [11, 1, 0],
                [6, 11, 0],
                [0, 1, 9],
                [11, 10, 4],
                [9, 1, 5],
                [8, 9, 5],
                [5, 3, 8],
                [6, 10, 11],
                [2, 3, 10],
                [2, 10, 6],
                [8, 3, 2],
                [3, 4, 10],
                [7, 8, 2],
                [9, 8, 7],
                [0, 9, 7],
                [4, 3, 5],
                [5, 1, 4],
                [0, 7, 6],
                [7, 2, 6]
            ];
            var ico = view.create('polyhedron3d', [vertexList, faceArray], {
                fillColorArray: [],
                fillOpacity: 1,
                strokeWidth: 0.1,
                layer: 12,
                shader: {
                    enabled: true,
                    type: 'angle',
                    hue: 0,
                    saturation: 90,
                    minlightness: 60,
                    maxLightness: 80
                }
            });

See:
  View3D#depthOrder

Default Value:

      {
       enabled: false,
       type: 'angle',   // 'angle', otherwise zIndex
       hue: 60,         // yellow
       saturation: 90,
       minLightness: 30,
       maxLightness: 90
      }

Field Detail
{Number} d
Hesse right hand side of the plane that contains the face.

{Number} faceNumber
Index of the face in the list of faces of the polyhedron

{array} normal
Normal vector for the face. Array of length 4.

{Object} polyhedron
Link to the defining data of the parent polyhedron3d.

See:
  Polyhedron3D#def

{Array} vec1
First basis vector of the face. Vector of length 4.

{Array} vec2
Second basis vector of the face. Vector of length 4.
Method Detail
<static> {Number} Face3D.shader()
Determines the lightness of the face (in the HSL color scheme).

Sets the fillColor of the adjoint 2D curve.

Returns:
  {Number} zIndex of the face

{Face3D} updateCoords()
Update the coordinates of all vertices of the polyhedron

Returns:
  {Face3D} reference to itself

{Object} updateDataArray2D()
Update the 2d coordinates of the face

Returns:
  {Object} {X:[], Y:[]}

Attributes borrowed from other Elements

Attributes borrowed from class Curve:
  curveType, doAdvancedPlot, doAdvancedPlotOld, firstArrow, handDrawing, label, lastArrow, numberPointsHigh, numberPointsLow, plotVersion, recursionDepthHigh, recursionDepthLow
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, getLabelPosition, 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

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:40 GMT+0200 (Mitteleuropäische Sommerzeit)