# PEARL Procedures: pearl-vector-operations.ipf File Reference

pearl-vector-operations.ipf File Reference
ARPES package

basic vector geometry operations. More...

Go to the source code of this file.

## Namespaces

| PearlVectorOperations
| basic vector geometry operations.

## Functions

variable | rotate2d_x (variable xx, variable yy, variable angle)
| rotate a 2D cartesian vector and returns its x component. More...
variable | rotate2d_y (variable xx, variable yy, variable angle)
| rotate a 2D cartesian vector and returns its y component. More...
wave | create_rotation_matrix_free ()
| create a free matrix wave which represents the 3-vector identity. More...
wave | set_rotation_x (wave matrix, variable angle)
| calculate a matrix representing a 3-vector rotation around the x axis. More...
wave | set_rotation_y (wave matrix, variable angle)
| calculate a matrix representing a 3-vector rotation around the y axis More...
wave | set_rotation_z (wave matrix, variable angle)
| calculate a matrix representing a 3-vector rotation around the z axis More...
variable | rotate_x_wave (wave inout, variable angle)
| rotate a wave of 3-vectors about the x axis. More...
variable | rotate_y_wave (wave inout, variable angle)
| rotates a wave of 3-vectors about the y axis More...
variable | rotate_z_wave (wave inout, variable angle)
| rotates a wave of 3-vectors about the z axis More...

## Detailed Description

basic vector geometry operations.

this procedure file contains basic vector geometry functions, such as rotations.

Author
  matthias muntwiler, matth.nosp@m.ias..nosp@m.muntw.nosp@m.iler.nosp@m.@psi..nosp@m.ch

Copyright
  2011-17 Paul Scherrer Institut
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Definition in file pearl-vector-operations.ipf.

## Function Documentation

## create_rotation_matrix_free()

wave create_rotation_matrix_free | ( |  | ) |

create a free matrix wave which represents the 3-vector identity.

the matrix is initialized as identity.

Returns
  3x3 identity matrix in a free wave.

Definition at line 73 of file pearl-vector-operations.ipf.

## rotate2d_x()

variable rotate2d_x | ( | variable | xx,
|  | variable | yy,
|  | variable | angle
| ) |  |

rotate a 2D cartesian vector and returns its x component.

Parameters

  xx | x coordinate.
  yy | y coordinate.
  angle | rotation angle in degrees.

Returns
  x coordinate of the rotated vector.

Definition at line 45 of file pearl-vector-operations.ipf.

## rotate2d_y()

variable rotate2d_y | ( | variable | xx,
|  | variable | yy,
|  | variable | angle
| ) |  |

rotate a 2D cartesian vector and returns its y component.

Parameters

  xx | x coordinate.
  yy | y coordinate.
  angle | rotation angle in degrees.

Returns
  y coordinate of the rotated vector.

Definition at line 60 of file pearl-vector-operations.ipf.

## rotate_x_wave()

variable rotate_x_wave | ( | wave | inout,
|  | variable | angle
| ) |  |

rotate a wave of 3-vectors about the x axis.

this function rotates multiple vectors.

Parameters

  [in,out] | inout | wave with dimensions (M, N), M >= 3 (x, y, z), N >= 1. the result will be in same wave. only the first three rows of dimension 0 are used, extra rows are left unchanged.
  [in] | angle | rotation angle in degrees.

Returns
  none

Definition at line 175 of file pearl-vector-operations.ipf.

## rotate_y_wave()

variable rotate_y_wave | ( | wave | inout,
|  | variable | angle
| ) |  |

rotates a wave of 3-vectors about the y axis

this function rotates multiple vectors.

Parameters

  [in,out] | inout | wave with dimensions (M, N), M >= 3 (x, y, z), N >= 1. the result will be in same wave. only the first three rows of dimension 0 are used, extra rows are left unchanged.
  [in] | angle | rotation angle in degrees.

Returns
  none

Definition at line 203 of file pearl-vector-operations.ipf.

## rotate_z_wave()

variable rotate_z_wave | ( | wave | inout,
|  | variable | angle
| ) |  |

rotates a wave of 3-vectors about the z axis

this function rotates multiple vectors.

Parameters

  [in,out] | inout | wave with dimensions (M, N), M >= 3 (x, y, z), N >= 1. the result will be in same wave. only the first three rows of dimension 0 are used, extra rows are left unchanged.
  [in] | angle | rotation angle in degrees.

Returns
  none

Definition at line 231 of file pearl-vector-operations.ipf.

## set_rotation_x()

wave set_rotation_x | ( | wave | matrix,
|  | variable | angle
| ) |  |

calculate a matrix representing a 3-vector rotation around the x axis.

the function calculates the matrix elements of a rotation about the x axis.

Parameters

  [in,out] | matrix | 3x3 wave to receive the rotation matrix elements. the function calculates only the 2x2 block of the rotation. the other elements must be initialized by the caller, e.g. set to the identity matrix.
  [in] | angle | rotation angle in degrees.

Returns
  rotation matrix. this is the same wave instance as the matrix input.

Definition at line 92 of file pearl-vector-operations.ipf.

## set_rotation_y()

wave set_rotation_y | ( | wave | matrix,
|  | variable | angle
| ) |  |

calculate a matrix representing a 3-vector rotation around the y axis

the function calculates the matrix elements of a rotation about the y axis.

Parameters

  [in,out] | matrix | 3x3 wave to receive the rotation matrix elements. the function calculates only the 2x2 block of the rotation. the other elements must be initialized by the caller, e.g. set to the identity matrix.
  [in] | angle | rotation angle in degrees.

Returns
  rotation matrix. this is the same wave instance as the matrix input.

Definition at line 120 of file pearl-vector-operations.ipf.

## set_rotation_z()

wave set_rotation_z | ( | wave | matrix,
|  | variable | angle
| ) |  |

calculate a matrix representing a 3-vector rotation around the z axis

the function calculates the matrix elements of a rotation about the z axis.

Parameters

  [in,out] | matrix | 3x3 wave to receive the rotation matrix elements. the function calculates only the 2x2 block of the rotation. the other elements must be initialized by the caller, e.g. set to the identity matrix.
  [in] | angle | rotation angle in degrees.

Returns
  rotation matrix. this is the same wave instance as the matrix input.

Definition at line 148 of file pearl-vector-operations.ipf.