1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Simple geometry problem

  1. May 24, 2012 #1

    I stumbled upon something I need to implement my problem in a computer. Because I think its actually fun to puzzle on, I thought it might be nice to post it here. The problem is this:

    If you have a 4D hypercube, [itex](a_1,b_1)\times(a_2,b_2)\times(a_3,b_3)\times(a_4,b_4)[/itex], what is an easy algorithm to find a set of max 4+1 points that encompasses the hypercube?

    For 2D, ie [itex](a_1,b_1)\times(a_2,b_2)[/itex], its easier, as you can find 2+1 points by taking the points [itex](a_1-|a_1-b_1|,a_2), (b_1+|a_1-b_1|,a_2)[/itex], and the point that is the intersection of the lines defined by the points [itex](a_1-|a_1-b_1|,a_2), (a_1, b_2)[/itex] and [itex](b_1+|a_1-b_1|,c), (b_1,b_2)[/itex], respectively (if you draw this it becomes clear immediately =P). If you expand this procedure to 4D, things get complicated fast. Is there a simple way to find a set of max 5 points that encompasses my hypercube?

    Edit: I noticed I say 'cube', but as [itex]a_i, b_i \in ℝ[/itex], it doesn't need to be a cube at all of course.
    Last edited: May 24, 2012
  2. jcsd
  3. May 24, 2012 #2
    I am trying to see what you are asking, but I have some questions.

    By ## (a_1, b_1)\times (a_2,b_2) ## do you mean the parallelogram induced by these two vectors, with one coordinate being the origin, the other as ## (a_1+a_2, b_1 +b_2)##?

    By encompass (in the 2-d example) are you trying to find a triangle which simply covers the parallelogram?

    I do not know what ## (a_1,b_1) \times (a_2, b_2) \times (a_3, b_3) \times (a_4, b_4) ## means if ## a_i, b_i \in \mathbb{R} ##
  4. May 24, 2012 #3


    Staff: Mentor

    I believe the OP means the rectangle {(x, y) | a1 < x1 < a2, b1 < x2 < b2}
    I believe it means the 4D box whose description is similar to the rectangle I described above (but in R4).
  5. May 24, 2012 #4
    Of course that's what he means, thanks! Though just one minor correction, ## \left\{ (x,y) : a_1 \leq x \leq b_1 , a_2 \leq y \leq b_2 \right\}##

    I don't think you will find the algorithm you're looking for (this is my guess). This is because the geometry of cubes in ##\mathbb{R}^n## and the geometry of the ##n+1## simplex changes drastically with ## n ##.

    You can always find such a simplex though, that's easy. Take any simplex and just scale it up until it covers your set.

    This reminds me of an old problem by originally posed by Borsuk. If you start with a set in ##\mathbb{R}^n ## of diameter ##1##, can you find a partition of the set into ##n+1## pieces, each having diameter less than ##1##? The answer is yes for balls, but false for general sets in high dimensions.
  6. May 24, 2012 #5


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    I think your construction generalises easily enough.
    Pick a dimension, 4 say, for the "tent pole".
    To form the base, expand the 3D cube [a1,b1]×[a2,b2]×[a3,b3]×[a4] by uniform magnification, preserving the centre:
    [a1-s(b1-a1),b1+s(b1-a1)]×[a2-s(b2-a2),b2+s(b2-a2)]×[a3-s(b3-a3),b3+s(b3-a3)]×[a4] for some s > 0.
    Form a straight line through the vertex (a1-s(b1-a1), a2-s(b2-a2), a3-s(b3-a3), a4) of the new cube and the vertex (a1, a2, a3, b4) of the old hypercube. Similarly for the other 7 vertices of the new cube: (b1+s(b1-a1), a2-s(b2-a2), a3-s(b3-a3), a4) to (b1, a2, a3, b4) etc. (Each line relates to one of the 8 choices (x, y, z, t) where each of x, y, z can be a or b.)
    By similarity, the eight lines must intersect in a single point. I think you can calculate the coordinates of this point using any two of the lines. (Works in 3D.)
  7. May 25, 2012 #6
    Now that I reread, I am sorry for how poor this question was phrased. What I mean is indeed the four-dimensional box:

    [itex] \{(x_1,x_2,x_3,x_4)\in ℝ^4|a_1\leq x_1 \leq b_1, a_2\leq x_2 \leq b_2, a_3\leq x_3 \leq b_3, a_4\leq x_4 \leq b_4\}[/itex]

    And what I meant is not the cross product of the points [itex] (a_i, b_i)[/itex], but of the intervals [itex] [a_i, b_i][/itex], where [itex]a_i\leq b_i[/itex].

    And I wonder if you can find a simple formula or algorithm for 5 points in ℝ4 that contain the box.

    Haruspex, thank you for your answer! But if I understand it correctly, you give a method to find 8 points that together contain the box completely? I think I need to puzzle on this some more =)

    EDIT: But, repeating, indeed your method reduced from 8+1 for the 'tent pole' to 4+1+1 to 2+1+1+1=5. I will work it out. Thank you haruspex.
    Last edited: May 25, 2012
  8. May 25, 2012 #7


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    No, I constructed 8 points from one of the 3D faces of the hypercube. Then 8 lines, each containing one of these points and one point from the opposite 3D face. These 8 lines intersect in the 9th point.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook