From 1c4a9f7e19e06ee6ea7566b5ae590d19c10c5a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez=20Cordero?= Date: Fri, 7 Jan 2022 18:16:30 +0100 Subject: [PATCH] Added Python Getting started tutorial (#362) Signed-off-by: ahcorde --- tutorials.md.in | 11 ++--- tutorials/pythongetstarted.md | 75 +++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 tutorials/pythongetstarted.md diff --git a/tutorials.md.in b/tutorials.md.in index 31e220980..50ffc7771 100644 --- a/tutorials.md.in +++ b/tutorials.md.in @@ -9,11 +9,12 @@ Ignition @IGN_DESIGNATION_CAP@ library and how to use the library effectively. 1. \subpage install "Installation" 2. \subpage cppgetstarted "C++ Get Started" -3. \subpage vector "Vector example" -4. \subpage angle "Angle example" -5. \subpage triangle "Triangle example" -6. \subpage rotation "Rotation example" -7. \subpage color "Color example" +3. \subpage pythongetstarted "Python Get Started" +4. \subpage vector "Vector example" +5. \subpage angle "Angle example" +6. \subpage triangle "Triangle example" +7. \subpage rotation "Rotation example" +8. \subpage color "Color example" ## License diff --git a/tutorials/pythongetstarted.md b/tutorials/pythongetstarted.md new file mode 100644 index 000000000..81593dea0 --- /dev/null +++ b/tutorials/pythongetstarted.md @@ -0,0 +1,75 @@ +\page pythongetstarted Python Get Started + +Previous Tutorial: \ref cppgetstarted + +## Overview + +This tutorial describes how to get started using Ignition Math with Python. + +**NOTE**: If you have compiled Ignition Math from source, you should export +your `PYTHONPATH`. + +```bash +export PYTHONPATH=$PYTHONPATH:/install/lib/python +``` + +We will run through an example that determines the distance between two +points in 3D space. Start by creating a bare-bones main file using the +editor of your choice. + +```python +def main(): + pass + +if __name__ == "__main__": + main() +``` + +The easiest way to include Ignition Math is through `import ignition.math`. + +At this point your main file should look like + +```python +import ignition.math + +def main(): + pass + +if __name__ == "__main__": + main() +``` + +Now let's create two 3D points with arbitrary values. We will use the +`ignition.math.Vector3` class to represent these points. Ignition Math provides +some `Vector3` types which are: `Vector3d` (Vector3 using doubles), `Vector3f` (Vector3 using floats) +and `Vector3i` (Vector3 using integers). The result of this addition will be a +main file similar to the following. + +```python +from ignition.math import Vector3d + +def main(): + point1 = Vector3d(1, 3, 5) + point2 = Vector3d(2, 4, 6) + +if __name__ == "__main__": + main() +``` + +Finally, we can compute the distance between `point1` and `point2` using the +`ignition.math.Vector3.distance()` function and output the distance value. + +```python +from ignition.math import Vector3d + +def main(): + point1 = Vector3d(1, 3, 5) + point2 = Vector3d(2, 4, 6) + + distance = point1.distance(point2); + + print("Distance from {} to {} is {}".format(point1, point2, distance)) + +if __name__ == "__main__": + main() +```