Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Python Getting started tutorial #362

Merged
merged 2 commits into from
Jan 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions tutorials.md.in
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
75 changes: 75 additions & 0 deletions tutorials/pythongetstarted.md
Original file line number Diff line number Diff line change
@@ -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:<path to your workspace>/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()
```