ACCELERATOR PHYSICS GROUP

class Euclid3D

(Return to index)

Displacement and rotation in space.

An arbitrary 3-dimension translation and rotation. The translation is a 3-dimensional vector, the rotation is represented as a 3-dimensional orthonormal matrix. {P} If we think of an Euler3D object as an operator E which transforms a point in the super-frame X to the local frame X': {P} X' = E(X), {P} then we can define a dot product of two successive operations in the following way: Given two Euclid3D objects (operators) E1 and E2, we can define {P} E3 = E2 . E1 {P} using {P} X''= E3(X) = E2(E1(X)). {P} The definition of a multiplicative inverse naturally follows as {P} E . inv(E) = I. {P} If R represents the 3-d rotation and X the vector specified by (x,y,z), then a transformation of a point P in the super-frame by the Euclid3D is given by {P} P -> R . P + X. {P} For the representation of rotations, see Rotation3D. The copy constructor, destructor, and assignment operator generated by the compiler perform the correct operation. For speed reasons they are not implemented. An alternate representation for the rotation is given by a vector pointing in the direction of the axis of rotation, whose sense is given by the right-hand rule, and whose length is equal to the angle of rotation.

Type: Instantiable
Include file: ./BeamlineGeometry/Euclid3D.hh

Synopsis (including inherited members):

Documentation:


Documentation generated by fci on Mon Feb 7 11:41:38 2000