A cube has an edge length of $24$ units. It is tilted and rotated about one of its base vertices (vertex $A$), such that its four parallel edges that were vertical intersect the horizontal $xy$ plane passing through vertex $A$, at the points $A,B,C$ and $D$. If the coordinates of point $B$ are $(20, -15, 0)$, and point $C$ is $12$ units away from the base, what are the coordinates $(x,y,z)$ of the lowest point of the cube (vertex $E$)?

enter image description here

The only thing I could come up with, is the distance between point $B$ and the base. Using the distance $AB$ and the Pythagorean theorem, the distance between $B$ and the base is $7$ units.

Any hints, or solutions of this problem are appreciated.

  • 3
    $\begingroup$ I'd consider this rotation as a product of two rotations: first about one of the horizontal edges so that BC is parallel to the base (and |EC|=7). After that the cube must be rotated around AB until one gets |EC|=12. Hope this helps. $\endgroup$
    – blamocur
    Jul 27 at 1:37
  • $\begingroup$ I am not sure I understand how your suggestion works. Can you elaborate on that in an answer? $\endgroup$
    – Hosam H
    Jul 29 at 10:24
  • $\begingroup$ Are vectors $\vec{AB}$ and $\vec{BC}$ perpendicular? $\endgroup$
    – bb_823
    Jul 29 at 10:38
  • $\begingroup$ @bb_823 No, they're not. $\endgroup$
    – Hosam H
    Jul 29 at 11:15
  • $\begingroup$ I'm new to the field of analytical geometry (and math in general, lol), but here is my rough idea. Let's say that $F$ is the closest vertex to $B$. (Maybe?) we could find plane on which $B,C,E$ and $F$ are on (using the fact that that plane and vector $\vec{AB}$ are at an angle $\arcsin(\frac{24}{25})$, if that is enough information). Once we find that plane then the sphere with center $A$ and radius $24$ should touch that plane at exactly one point and it will be point $F$. From there we should be able to find $E$. Are there any worng assumptions, or is there not enough info for this to work? $\endgroup$
    – bb_823
    Jul 29 at 12:28

1 Answer 1


Using the Rodrigues formula for rotation $(\theta)$ around an axis $\vec k$

$$ p^{\theta} = p\cos\theta+\vec k\times p\sin\theta+(\vec k\cdot p)\vec k(1-\cos\theta) $$

the rotated cube around $(A,\vec k)$ can be obtained calculating

$$ p^{\theta}_k = p_k\cos\theta+\vec k\times p_k\sin\theta+(\vec k\cdot p_k)\vec k(1-\cos\theta) $$

because $A=(0,0,0)$.

Now regarding the rotated edge containing $C$ we have

$$ \frac 12(p^{\theta}_t+p^{\theta}_b)\cdot(0,0,1)=0 $$

where $p^{\theta}_t,p^{\theta}_b$ are respectively the rotated edge extrema. Regarding the point $B$ we need to determine $0\le \lambda\le 1$ such that

$$ \lambda p^{\theta}_t+(1-\lambda)p^{\theta}_b= B $$

where $p^{\theta}_t,p^{\theta}_b$ are respectively the corresponding rotated edge extrema, and finally, the normalization condition $\|\vec k \|=1$. This gives us four conditions and five unknowns $(\vec k, \theta,\lambda)$. This can be solved as a minimization procedure as follows

$$ \min_{\vec k,\theta,\lambda}\|\lambda p^{\theta}_{t_1}+(1-\lambda)p^{\theta}_{b_1}- B\| \ \ \text{s. t}\ \ \ \cases{0\le \lambda\le 1\\ \|\vec k\| = 1\\ \frac 12(p^{\theta}_{t_2}+p^{\theta}_{b_2})\cdot(0,0,1)=0} $$


$$ \vec k = (0.130848,-0.447689,0.884564), \theta = -0.751834, \lambda = 0.708333, E = (31.7616, 3.94883, -11.2963) $$

In blue the original cube, in red, rotated and in black the point $C$

enter image description here

Follows a MATHEMATICA script to perform this minimization

k = {kx, ky, kz};
p1b = {0, 0, 0};
p2b = {24, 0, 0};
p3b = {24, 24, 0};
p4b = {0, 24, 0};
p1t = {0, 0, 24};
p2t = {24, 0, 24};
p3t = {24, 24, 24};
p4t = {0, 24, 24};
p0 = {20, -15, 0};
rot[p_, k_, theta_] := p Cos[theta] + Cross[k, p] Sin[theta] + k (k.p) (1 - Cos[theta])
rp2b = rot[p2b - p1b, k, theta];
rp2t = rot[p2t - p1b, k, theta];
rp3b = rot[p3b - p1b, k, theta];
rp3t = rot[p3t - p1b, k, theta];
equs1 = lambda rp2b + (1 - lambda) rp2t - p0;
equs2 = 1/2 (rp3t + rp3b).{0, 0, 1};
equs3 = k.k - 1;
sol = NMinimize[{equs1.equs1, 0 < lambda < 1, equs2 == 0, equs3 == 0}, {kx, ky, kz, theta, lambda}]
  • $\begingroup$ May I ask, how did you perform the minimization? $\endgroup$
    – Hosam H
    Jul 29 at 16:14
  • $\begingroup$ Attached the MATHEMATICA script which solves the minimization. $\endgroup$
    – Cesareo
    Jul 29 at 16:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .