Message: Re: Direction of rotation - clockwise or counterclockwise Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Direction of rotation - clockwise or counterclockwise 

Forum: Geometry
Re: Warning Direction of rotation - clockwise or counterclockwise (Patrik Eschle)
Re: None Re: Direction of rotation - clockwise or counterclockwise (michel maire)
Re: None Re: Direction of rotation - clockwise or counterclockwise (Patrik Eschle)
Re: None Re: Direction of rotation - clockwise or counterclockwise (michel maire)
Date: 05 Apr, 2015
From: michel maire <michel maire>

 I add few comments to make the things more explicit.

> > 
> > But then Michel Maire points me to examples/extended/geometry/transforms.
> 
   Readme of the example does not explain enough the underlying motivations for the this exercise. 
   Let me try to do it here.

   1 - There are 2 constructors to place volumes :
      - G4PVPlacement ( G4Transform3D( rotmA, transl), ... 
      - G4PVPlacement ( rotmB, transl, ...
   rotmA and rotmB must be mutually inverse. 
   The question is : what is exactly the definition of rotmA (and therefore rotmB).
   This is what the first two methods try to explicit : rotmA is what I call direct matrix. It is the usual  definition of the matrix of a linear operator in a given frame, or the matrix of passage from a frame to another (mother --> daughter). Indeed it is the same matrix.
   rotmB is its inverse.

  2- Operators AxialRotation. The function rotateY (or Z) build a direct matrix, e.g. rotmA
      Its inverse can be calculated as : rotmA_inv (theta) = rotmA(-theta)    (Lie group ....)
      Therefore :  inv [ rotateZ(phi) * rotateY(theta) ] = rotateY(-theta) * rotateZ(-phi) 

     This is what we wanted to illustrate in PlaceWithAxialRotations(). The first object is placed with rotmA, the second object with rotmB

   3- Unfortunatly, constructor of rotation matrix with Euler angles choose the opposite convention : 
       the constructor G4RotationMatrix(phi, theta, psi) build a rotmB matrix  (inconsistency in clhep  or deliberate choice ?)  but I guess  Euler angles constructor is not frequently used..

   4- my personal choices :
        - use explicit definition of rotation matrix whenever possible.
        - use operators AxialRotation only if you are sure of what you are doing
        - avoid Euler angles, unless you are archi sure of what you do ... 

   Hope this can help.        Michel

    I attach the geometry of example transforms 
    Attachment:
       http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2015/04/04/08.29-55156-rotm.jpg

 Add Message Add Message
to: "Re: Direction of rotation - clockwise or counterclockwise"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]