3 #pragma IgorVersion = 6.1 4 #pragma ModuleName = PearlVectorOperations 15 return xx * cos(angle * pi / 180) - yy * sin(angle * pi / 180)
23 return xx * sin(angle * pi / 180) + yy * cos(angle * pi / 180)
30 make /n=(3,3)/free matrix
40 variable si = sin(angle * pi / 180)
41 variable co = cos(angle * pi / 180)
56 variable si = sin(angle * pi / 180)
57 variable co = cos(angle * pi / 180)
72 variable si = sin(angle * pi / 180)
73 variable co = cos(angle * pi / 180)
90 make /n=3/d/free w_temp_rotate_x
92 nvec = max(DimSize(inout, 1), 1)
93 for (ivec = 0; ivec < nvec; ivec += 1)
95 w_temp_rotate_x = inout[p][ivec]
96 matrixop /free w_temp_rotate_x_result = m_rotation_x x w_temp_rotate_x
97 inout[][ivec] = w_temp_rotate_x_result[p]
108 make /n=3/d/free w_temp_rotate_y
110 nvec = max(DimSize(inout, 1), 1)
111 for (ivec = 0; ivec < nvec; ivec += 1)
113 w_temp_rotate_y = inout[p][ivec]
114 matrixop /free w_temp_rotate_y_result = m_rotation_y x w_temp_rotate_y
115 inout[][ivec] = w_temp_rotate_y_result[p]
126 make /n=3/d/free w_temp_rotate_z
128 nvec = max(DimSize(inout, 1), 1)
129 for (ivec = 0; ivec < nvec; ivec += 1)
131 w_temp_rotate_z = inout[p][ivec]
132 matrixop /free w_temp_rotate_z_result = m_rotation_z x w_temp_rotate_z
133 inout[][ivec] = w_temp_rotate_z_result[p]
wave set_rotation_x(wave matrix, variable angle)
variable rotate_x_wave(wave inout, variable angle)
variable rotate2d_x(variable xx, variable yy, variable angle)
wave set_rotation_z(wave matrix, variable angle)
variable rotate_y_wave(wave inout, variable angle)
variable rotate2d_y(variable xx, variable yy, variable angle)
variable rotate_z_wave(wave inout, variable angle)
wave create_rotation_matrix_free()
wave set_rotation_y(wave matrix, variable angle)