IMP logo
IMP Reference Guide  2.6.0
The Integrative Modeling Platform
algebra/geometry.py

IMP.algebra provides a set of geometric primitives and basic operations on them.

1 ## \example algebra/geometry.py
2 # IMP.algebra provides a set of geometric primitives and basic operations
3 # on them.
4 
5 from __future__ import print_function
6 import IMP.algebra
7 import sys
8 
9 IMP.setup_from_argv(sys.argv, "geometry")
10 
11 # we can create some spheres
12 s = []
13 for i in range(0, 10):
14  s.append(IMP.algebra.Sphere3D(
15  IMP.algebra.get_random_vector_in(IMP.algebra.get_unit_bounding_box_3d()), .1))
16 
17 # we can compute a sphere which contains them all
19 
20 print(enclosing.get_contains(s[0]))
21 
22 print(IMP.algebra.get_distance(s[0], s[1]))
23 # or between the centers
24 print(IMP.algebra.get_distance(s[0].get_center(), s[1].get_center()))
25 
26 # create a cylinder
28  IMP.algebra.Segment3D(s[0].get_center(), s[1].get_center()), 1)
29 print(c)
30 
31 # manipulate bounding boxes
33 for si in s: