1#pragma TextEncoding = "UTF-8"
4#pragma IgorVersion = 6.1
5#pragma ModuleName = PearlVectorOperations
50 return xx * cos(angle * pi / 180) - yy * sin(angle * pi / 180)
65 return xx * sin(angle * pi / 180) + yy * cos(angle * pi / 180)
75 make /n=(3,3)/free matrix
97 variable si = sin(angle * pi / 180)
98 variable co = cos(angle * pi / 180)
125 variable si = sin(angle * pi / 180)
126 variable co = cos(angle * pi / 180)
153 variable si = sin(angle * pi / 180)
154 variable co = cos(angle * pi / 180)
183 duplicate /free inout, out
186 for (j = 0; j < 3; j += 1)
187 out += m_rotation[p][j] * inout[j][q]
212 duplicate /free inout, out
215 for (j = 0; j < 3; j += 1)
216 out += m_rotation[p][j] * inout[j][q]
241 duplicate /free inout, out
244 for (j = 0; j < 3; j += 1)
245 out += m_rotation[p][j] * inout[j][q]
variable rotate_z_wave(wave inout, variable angle)
rotates a wave of 3-vectors about the z axis
variable rotate2d_y(variable xx, variable yy, variable angle)
rotate a 2D cartesian vector and returns its y component.
wave create_rotation_matrix_free()
create a free matrix wave which represents the 3-vector identity.
wave set_rotation_z(wave matrix, variable angle)
calculate a matrix representing a 3-vector rotation around the z axis
wave set_rotation_x(wave matrix, variable angle)
calculate a matrix representing a 3-vector rotation around the x axis.
variable rotate2d_x(variable xx, variable yy, variable angle)
rotate a 2D cartesian vector and returns its x component.
variable rotate_x_wave(wave inout, variable angle)
rotate a wave of 3-vectors about the x axis.
variable rotate_y_wave(wave inout, variable angle)
rotates a wave of 3-vectors about the y axis
wave set_rotation_y(wave matrix, variable angle)
calculate a matrix representing a 3-vector rotation around the y axis