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

JXG.Transformation
↳ Transformation3D

Define projective 3D transformations like translation, rotation, reflection.
Defined in: transformation.js.
Extends JXG.Transformation.

Element Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| Transformation3D A transformation consists of a 4x4 matrix, i.e.

Methods borrowed from class JXG.Transformation:
  apply, applyOnce, bindTo, clone, melt, meltTo, setAttribute, setMatrix, setMatrix3D, setProperty, update

Element Detail
Transformation3D
A transformation consists of a 4x4 matrix, i.e. it is a projective transformation.

Internally, a transformation is applied to an element by multiplying the 4x4 matrix from the left to the homogeneous coordinates of the element. JSXGraph represents homogeneous coordinates in the order (w, x, y, z). If the coordinate is a finite point, w=1. The matrix has the form

    ( a b c d)   ( w )
    ( e f g h) * ( x )
    ( i j k l)   ( y )
    ( m n o p)   ( z )

where in general a=1. If b = c = d = 0, the transformation is called affine. In this case, finite points will stay finite. This is not the case for general projective coordinates.

This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create with type "transformation3d".
Possible parent array combinations are:
{number|function|JXG.GeometryElement3D} parameters
  The parameters depend on the transformation type, supplied as attribute 'type'. Possible transformation types are
  - 'translate'
  - 'scale'
  - 'rotate'
  - 'rotateX'
  - 'rotateY'
  - 'rotateZ'

  Valid parameters for these types are:

  `type:"translate"`
    x, y, z Translation vector (three numbers or functions). The transformation matrix for x = a, y = b, and z = c has the form:

        ( 1  0  0  0)   ( w )
        ( a  1  0  0) * ( x )
        ( b  0  1  0)   ( y )
        ( c  0  0  c)   ( z )

  `type:"scale"`
    scale_x, scale_y, scale_z Scale vector (three numbers or functions). The transformation matrix for scale_x = a, scale_y = b, scale_z = c has the form:

        ( 1  0  0  0)   ( w )
        ( 0  a  0  0) * ( x )
        ( 0  0  b  0)   ( y )
        ( 0  0  0  c)   ( z )

  `type:"rotate"`
    a, n angle (in radians), normal. Rotate with angle a around the normal vector n.
  `type:"rotateX"`
    a angle (in radians). Rotate with angle a around the normal vector (1, 0, 0).
  `type:"rotateY"`
    a angle (in radians). Rotate with angle a around the normal vector (0, 1, 0).
  `type:"rotateZ"`
    a angle (in radians). Rotate with angle a around the normal vector (0, 0, 1).

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

Attributes borrowed from other Elements

Fields borrowed from other Elements

Methods borrowed from other Elements

Methods borrowed from class JXG.Transformation:
  apply, applyOnce, bindTo, clone, melt, meltTo, setAttribute, setMatrix, setMatrix3D, setProperty, update

Events borrowed from other Elements

Documentation generated by JsDoc Toolkit 2.4.0 on Fri Apr 04 2025 09:22:42 GMT+0200 (Mitteleuropäische Sommerzeit)