def test_vector_rotate(): from pyglet_helper.util import Vector vec1 = Vector([1.0, 0, 2.0]) vec2 = Vector([0, 1.0, 1.0]) vec3 = vec1.rotate(angle=1.0, axis=vec2) assert abs(vec3[0] - 2.73032198493) < 0.01 assert vec3[3] == 1.0 vec3 = vec1.rotate(angle=1.0) assert vec3[2] == 3.0 assert vec3[3] == 1.0
def material_matrix(self): """ Creates a transformation matrix scaled to the size of the axial object :return: the transformation matrix :return: pyglet_helper.util.Tmatrix """ out = Tmatrix() out.translate(Vector([.0005, .5, .5])) out.scale(self.scale * (.999 / max(self.scale.x_component, self.scale.y_component * 2))) out_vector = Vector([0, 1, 0]) out_vector = out_vector.rotate(angle=.5*pi) out = out * out_vector return out
def material_matrix(self): """ Creates a transformation matrix scaled to the size of the axial object :return: the transformation matrix :return: pyglet_helper.util.Tmatrix """ out = Tmatrix() out.translate(Vector([.0005, .5, .5])) out.scale( self.scale * (.999 / max(self.scale.x_component, self.scale.y_component * 2))) out_vector = Vector([0, 1, 0]) out_vector = out_vector.rotate(angle=.5 * pi) out = out * out_vector return out