Results 1 to 1 of 1

Thread: Intersection of a plane and a cube

  1. #1

    Thread Starter
    Only Slightly Obsessive jemidiah's Avatar
    Join Date
    Apr 2002
    Posts
    2,431

    Intersection of a plane and a cube

    Summary: Given a plane and a cube, what are all possible intersections of the two? The rest of this post are my musings on the subject. The problem itself is interesting, and playing around with computing such intersections might interest some people here, which is mostly why I ask.



    Some example figures appear on this page. In general, the resulting polygon is convex (since the cube and plane are themselves convex) and can have between 3 and 6 sides. You can make an equilateral triangle, square, or regular hexagon; I'm unsure if you can make a regular pentagon. [You can also make some trivial intersections--the empty set, a single point, an edge, or a face; I'm not really interested in these so I ignore them.]


    The 2D analog of this question is much easier. Given a square and a line, what are all possible intersections of the two? Any intersection will just be a line segment. You can get line segments of width 0 through sqrt(2)--the length of the diagonal.


    In 3D, I think the triangular intersection case goes like this, though I haven't completely verified it. A triangle arises from the plane cutting three mutually adjacent edges containing each of the three vertexes. We can take these to be the +x, +y, and +z axes. We can pick points on these axes arbitrarily and form a plane passing through them, so all triangular intersections are congruent to the triangle formed by (x, 0, 0), (0, y, 0), (0, 0, z) for x, y, and z each between 0 and 1.

    At this point, I want a method to parameterize an arbitrary convex polygon. For instance, with the triangle in 3D space, I could give all 9 coordinates of its three vertexes, which would be sufficient, but inefficient since I'm only interested in triangles up to congruence. I could then find the plane containing those three 3D vertexes and make a 2D coordinate system out of that plane. This would give three sets of 2 coordinates. But again, this is inefficient. Really it suffices to give each of the three angles and the area of the triangle--4 numbers--due to AAA similarity.

    In general, I'm thinking you can specify an arbitrary convex polygon as an ordered list of angles, along with the figure's area. But I'm not certain; and given such a representation, how does one reconstruct the polygon? You can be a bit less stingy but much more certain by just specifying the side lengths and angles, in order, so an n-gon can be parametrized by 2n numbers. For convenience, I'll use the equivalent set of parameters given by (edge length, dot product of current edge with previous edge). The angle can be computed from this.

    If we use this representation, what 6 parameters produce the above triangles? Take the edges in the following order: x->y, y->z, z->x. Edge 1 is then (0, y, 0) - (x, 0, 0) = (-x, y, 0); edge 2 is (0, -y, z), and edge 3 is (x, 0, -z). Edge length 1 is then sqrt(x^2 + y^2), edge length 2 is sqrt(y^2 + z^2), and edge length 3 is sqrt(z^2 + x^2). Dot product 1 is (-x, y, 0) dot (x, 0, -z) = -x^2; dot product 2 is -y^2, and dot product 3 is -z^2. So we have parameters given by

    ((sqrt(x^2 + y^2), -x^2), (sqrt(y^2 + z^2), -y^2), (sqrt(z^2 + x^2), -z^2)), for x, y, and z between 0 and 1.

    Does this parameter domain form some nice figure (in 6 dimensional space, I suppose)? In this particular case, the dot products alone are sufficient to compute the other three parameters, so let's just look at them. They are (-x^2, -y^2, -z^2) = -(x^2, y^2, z^2), for x, y, and z between 0 and 1. This shape is just, somewhat ironically, a unit cube. So, all triangle intersections can be parametrized by a unit cube.

    The question is, what about the more complicated figures--the 4, 5, and 6 sided shapes? And if those go well, can something be said about the higher dimensional analogs of this question?



    [Actually computing the intersection of a plane and cube is at least relatively easy. Just intersect each edge with the cube, throw out intersections outside the cube, and you have a list of vertexes. The intersection is the convex hull of this list.]
    Last edited by jemidiah; May 30th, 2011 at 05:12 AM.
    The time you enjoy wasting is not wasted time.
    Bertrand Russell

    <- Remember to rate posts you find helpful.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width