Example #1
0
        def single_vector():
            vec = numpy.array( [ 1.0, 1.0, 1.0 ] )
            length = 2.0
            result = vector.set_length( vec, length )

            current_length = numpy.array(
                [ math.sqrt( numpy.sum( vec ** 2 ) ) ]
                )
            expected = (vec / current_length) * 2.0

            self.assertTrue(
                numpy.array_equal( result, expected ),
                "Vector length not set correctly"
                )
Example #2
0
        def batch_vector():
            vec = numpy.array( [ 1.0, 1.0, 1.0 ] )
            length = 2.0
            batch = numpy.tile( vec, (3,1) )
            result = vector.set_length( batch, length )

            current_length = numpy.array(
                [ math.sqrt( numpy.sum( vec ** 2 ) ) ]
                )
            expected = (vec / current_length) * 2.0
            expected = numpy.tile( expected, (3,1) )

            self.assertTrue(
                numpy.array_equal( result, expected ),
                "Vector length not set correctly"
                )
Example #3
0
    def _set_velocity_for_speed_and_direction(self, speed: float, direction: float):
        # get the heading
        dx = self.model.target_x - self.model.ball.x
        dy = self.model.target_y - self.model.ball.y

        # direction is meaningless if we're already at the target
        if (dx != 0) or (dy != 0):

            # set the magnitude
            vel = vector.set_length([dx, dy, 0.0], speed)

            # rotate by direction around Z-axis at ball position
            rot = matrix33.create_from_axis_rotation([0.0, 0.0, 1.0], direction)
            vel = matrix33.apply_to_vector(rot, vel)

            # unpack into ball velocity
            self.model.ball_vel.x = vel[0]
            self.model.ball_vel.y = vel[1]
            self.model.ball_vel.z = vel[2]
Example #4
0
 def length(self, length):
     self[:] = vector.set_length(self, length)
Example #5
0
File: base.py Project: RazerM/Pyrr
 def length(self, length):
     self[:] = vector.set_length(self, length)