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 RegionFunctionregioFn 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.