This tutorial explains how to use the Vector
classes from Ignition Math library.
C++ example
Compile the code
To compile the code, go to ign-math/examples
and use cmake
:
When the code is compiled, run:
The ouput of the program:
Code
Create a Vector2
called vec2
of doubles using the typedef Vector2d
. The initial x and y values are zero. The x and y component of vec2
can be set at anytime.
The Vector2
class is a template, so you can also create a Vector2
using ignition::math::Vector2<double>
:
It's also possible to set initial values. Here we are using a Vector2
of floats:
We can output the contents of each vector using std::cout
.
You can also get access to each component in the vector using the X()
, Y()
accessors or the []
operator, The operator is clamped to the range [0, 1]
.
The Vector2
class overloads many common operators, such as:
There are also many useful function such as finding the distance between two vectors.
There are more functions in Vector2. Take a look at the API
Ruby examples
This example will only work if the Ruby interface library was compiled and installed. Modify the RUBYLIB
environment variable to include the Ignition Math library install path. For example, if you install to /usr
:
Execute the examples:
Code
Create a Vector2
of doubles using the typedef Vector2d
. It's possible to set initial values or use another object to create a identical copy.
You can get access to each component in the vector using the X()
, Y()
accessors.
The Vector2
class overloads many common operators, such as:
There are also many useful functions, such as finding the distance between two vectors or normalizing a vector.
You can create vectors with 3 dimensions using the typedef Vector3d
:
You can also get access to each component in the vector using the X()
, Y()
and Z()
accessors: