Group

Group

Group of isometries

Constructor

new Group()

Source:

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Group (in the mathematical sense). This class is mainly a contained to receive the data common to all elements of the group.

Constructor

new Group()

Source:

Constructor

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Basic version of the Heisenberg group

Constructor

new Group()

Source:

Constructor

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Finite extension of the integral Heisenberg group The group is given by the presentation G = < A, B, C | C^k = [A,B], [A,C] = [B, C] = 1 > If H stands for the usual integral Heisenberg group, then G/H is a cyclic group of order k

We represents elements using Malc'ev coordinates. The triple [a,b,c] is associated to to the group element C^c B^b A^a With this representation, the group law becomes [a1, b1, c1] * [a2, b2, c2] = [a1 + a2, b1 + b2, c1 + c2 + k a1 * b2]

Another point of view is the following. The triple [a,b,c] is represented by the upper triangular matrix [1, a * sqrt(k), c] [0, 1, b * sqrt(k)] [0, 0, 1] The group law is now given by matrix multiplication

Constructor

new Group(translationA, translationB, root)

Source:

Constructor The two parameters are translation vectors in the xy plane The third vector will be automatically computed as the k-th root of the commutator (in Nil) of the first two

Parameters:
Name Type Default Description
translationA Vector4
translationB Vector4
root number 1

order of the root of the commutator used in the group (see class description)

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Heisenberg group

Constructor

new Group(translationA, translationB)

Source:

Constructor The two parameters are translation vectors in the xy plane The third vector will be automatically computed as the commutator (in Nil) of the first two

Parameters:
Name Type Description
translationA Vector4
translationB Vector4

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Subgroup Z^2 inside the suspension of Z^2 by the Anosov matrix A = [[2,1],[1,1]]. (See mappingTorus group) See GroupElement for the description of the representation

Constructor

new Group()

Source:

Constructor The two parameters are translation vectors in the xy plane

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Suspension of Z^2 by Z See GroupElement for the description of the representation

Constructor

new Group()

Source:

Constructor The two parameters are translation vectors in the xy plane

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder

Group Group

Group of unit quaternion with integer coordinates.

Constructor

new Group()

Source:

Classes

Group
Group
Group
Group
Group
Group
Group
Group
Group

Members

_halfTranslationA :Vector4

Source:

Translation of the first generator

Type:

_halfTranslationB :Vector4

Source:

Translation of the second generator

Type:

_halfTranslationC :Vector4

Source:

Translation of the third generator

Type:

(private) _root :number

Source:

Order of the root of the commutator

Type:
  • number

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationA :Vector4

Source:

Normal to the boundary in the A direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationB :Vector4

Source:

Normal to the boundary in the B direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_testTranslationC :Vector4

Source:

Normal to the boundary in the C direction

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationA :Vector4

Source:

Translation of the first generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

_translationB :Vector4

Source:

Translation of the second generator

Type:

dotMatrix

Source:

Return a positive definite matrix for which the family halfTranslationA, halfTranslationB, halfTranslationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

dotMatrix

Source:

Return a positive definite matrix for which the family translationA, translationB, translationC is orthonormal.

Methods

(abstract) element() → {GroupElement}

Source:

Create an element in the group. If no data is passed it should be the identity.

Returns:
Type
GroupElement

(abstract) shader(shaderBuilder)

Source:

Build the shader associated to the group.

Parameters:
Name Type Description
shaderBuilder ShaderBuilder