Пересечения 3D-полигонов в python

Существуют ли какие-либо инструменты или библиотеки с открытым исходным кодом (в идеале на python), доступные для выполнения множества пересечений с 3D-геометрией, считываемых из шейп-файла ESRI? Большинство тестов будут простыми сегментами линий против полигонов.

Я просмотрел OGR 1.7.1 / GEOS 3.2.0, и пока он правильно загружает данные, результирующие пересечения неверны, и большинство других доступных инструментов, похоже, основываются на этой работе.

Хотя CGAL был бы альтернативой, лицензия не подходит. Общая библиотека геометрии Boost выглядит фантастически, но api огромна и, похоже, не поддерживает wkt или wkb-читателей из коробки.

    Немного поздно, но моя программа pvtrace для оптического поиска pvtrace делает именно это. Это будет работать следующим образом:

    1) Определите многоугольник с aa списком точек и сделайте объект Polygon

    points = [[0,0,0],[0,0.1,0],[0.1,0.1,-0.03],[0.1,0,-0.03]] polygon = Polygon(points) 

    2) Получить точку пересечения с объектом Рэй

     ray = Ray(position=(0,0,0), direction=(0,0,1)) print polygon.intersection(ray)