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
Classes

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
 
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 Mon Feb 24 2025 14:56:00 GMT+0100 (Mitteleuropäische Normalzeit)