File: pythongetstarted.md

package info (click to toggle)
ignition-math 6.10.0%2Bds3-7
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,252 kB
  • sloc: cpp: 28,553; python: 7,309; ansic: 1,463; ruby: 910; sh: 63; makefile: 18
file content (75 lines) | stat: -rw-r--r-- 1,759 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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()
```