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: