Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] intersection of polygons in 3d space

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] intersection of polygons in 3d space


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] intersection of polygons in 3d space
  • Date: Tue, 30 Aug 2011 08:52:25 +0200

For the moment there is nothing to directly get the intersection
of two 3D polygons.

If I understand correctly your problem, you have special polygons.
They are made of two edges that project onto your 2D network and two edges that are perpendicular to the plane of the network.

A simple solution is to compute the arrangement of all segments to get
the intersection points of the 2D segments. Then construct the perpendicular line going through each point. By Linear interpolation you
can get the two z-coordinate of the lifted point in 3D for the two
edges for each polygon. For each polygon you get a z-interval.
If two z-intervals overlap then the corresponding polygons intersect
and the intersection is given by the intersection of the z-intervals.

Sebastien.

On 08/03/2011 08:22 PM, Mount, Jerry wrote:
Hello everyone,

I am trying to calculate the intersection of polygons in 3D space. Sorry
for the non-technical and somewhat GIS-based description that follows:

I am looking at pedestrian movement through a 3D network based on
polylines. I am looking at all simple, near-shortest paths within a time
constraint to determine the minimum and maximum times required to reach
the nodes in the network. After that, I build 3d polylines that connect
the min and max time to reach the nodes to the end nodes for that edge -
time is represented as a z-value. The result is that I have an upper and
lower edge representing the time-to-reach those nodes. I can build a
polygon that represents the network edge by connecting the from-node
min/max and the to-node min/max. Ok, all of this works - but now I want
to examine (if) or (where/when) tracks from multiple agents intersect.

Since I can build the polygons (which resemble straight ribbons with the
lower edge representing the min time to reach and the upper edge
representing the max time to reach) - I've written a function calculates
the intersection points for comparing tracks that use the same network
edge. However, I was wondering if there is an intersect function that
works on polygons in 3D space. I found the section in the manual -18.2.3
Polygons in 3D Space - and found CGAL::intersection but this seems to be
only for 2D. Is there any CGAL function that can calculate the
intersection of polygons in 3D space?

Thanks for any information,

Jerry





Archive powered by MHonArc 2.6.16.

Top of Page