NAME

Math::Shape::Vector - A 2d vector object in cartesian space

VERSION

version 0.01

METHODS

new

Create a new vector. Requires two numerical arguments for the origin and magnitude.

my $vector = Math::Shape::Vector->new(3, 5);

add_vector

Adds a vector to the vector object, updating its x & y values.

$vector->add_vector($vector_2);

subtract_vector

Subtracts a vector from the vector object, updating its x & y values.

$vector->subtract_vector($vector_2);

negate

Negates the vector's values e.g. (1,3) becomes (-1, -3).

$vector->negate();

is_equal

Compares a vector to the vector object, returning 1 if they are the same or 0 if they are different.

$vector->is_equal($vector_2);

multiply

Multiplies the vector's x and y values by a number.

$vector->multiply(3);

divide

Divides the vector's x and y values by a number.

$vector->divide(2);

RESPOSITORY

https://github.com/sillymoose/Math-Shape-Vector.git

THANKS

The source code for this object was inspired by the code in Thomas Schwarzl's 2d collision detection book http://www.collisiondetection2d.net.

AUTHOR

David Farrell <sillymoos@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by David Farrell.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.