Пример #1
0
 def initialize_composite_transformation(self):
     self.transformation_context = "composite transformation"
     right_angle = math.pi / 2.0
     self.start_position_coordinates = (1.0, 100.0, 200.0, 300.0)
     delta_position = Position.from_xyz((2.0, 3.0, 4.0))
     self.stop_position_coordinates = (1.0, 297.0, 102.0, 204.0)
     self.start_direction_coordinates = (0.0, math.sqrt(0.4), math.sqrt(0.5), math.sqrt(0.1))
     self.stop_direction_coordinates = (0.0, math.sqrt(0.1), math.sqrt(0.4), math.sqrt(0.5))
     first_transform = Transformation.rotation_about_x_axis(right_angle)
     second_transform = Transformation.translation_by_position(delta_position)
     third_transform = Transformation.rotation_about_z_axis(right_angle)
     self.transformation_under_test = first_transform.compose(second_transform).compose(third_transform)
Пример #2
0
 def initialize_translation(self):
     self.transformation_context = "translation"
     self.start_position_coordinates = (1.0, 20.0, 30.0, 40.0)
     self.stop_position_coordinates = (1.0, 22.0, 33.0, 44.0)
     delta_position = Position.from_xyz((2.0, 3.0, 4.0))
     self.start_direction_coordinates = (0.0, math.sqrt(0.4), math.sqrt(0.5), math.sqrt(0.1))
     self.stop_direction_coordinates = self.start_direction_coordinates
     self.transformation_under_test = Transformation.translation_by_position(delta_position)
Пример #3
0
 def initialize_rotation_in_z(self):
     self.transformation_context = "rotation in z"
     angle = math.pi / 6.0
     cosine_of_angle = math.cos(angle)
     sine_of_angle = math.sin(angle)
     self.start_position_coordinates = (1.0, 100.0, 200.0, 300.0)
     self.stop_position_coordinates = (
         1.0,
         100.0 * cosine_of_angle - 200.0 * sine_of_angle,
         200.0 * cosine_of_angle + 100.0 * sine_of_angle,
         300.0,
     )
     x = math.sqrt(0.4)
     y = math.sqrt(0.5)
     z = math.sqrt(0.1)
     self.start_direction_coordinates = (0.0, x, y, z)
     self.stop_direction_coordinates = (
         0.0,
         x * cosine_of_angle - y * sine_of_angle,
         y * cosine_of_angle + x * sine_of_angle,
         z,
     )
     self.transformation_under_test = Transformation.rotation_about_z_axis(angle)