Intersection of Three Polygonal Cylindrical Surfaces

Using the Wolfram Language built-in functions RegionFunction and MeshFunctions, we can construct cylindrical surfaces with pipe connections.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The right cylindrical surfaces are centered along the , and coordinate axes.
The cross sections of the cylinders are regular polygons.
The radii of the cross sections are , and .
The number of vertices of the cross sections is , and . If , we get a circular cylinder.
The offset rotations around the axis of the cylinders are , and .
Each cylinder can intersect two other perpendicular cylinders.
A realistic presentation of the three cylinders must include the holes cut into each cylinder at the cross section with its two neighboring cylinders.
This is achieved using RegionFunction: for each cylinder, its RegionFunction regioFn defines the incisions cut by the other two cylinders perpendicular to its axis; regioFn takes the following arguments: is the coordinate along the cylinder's axis and is the coordinate along one of its perpendicular axes; , and are the number of vertices, the radius and the rotation of the intersecting cylinder.
Similarly, to define the boundary of the cylinder incisions, MeshFunctions is needed. This meshFn is regioFn with the Boolean Greater replaced by the operator Subtract.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.