# Rotating a regular tetrahedron so it looks like an egyptian pyramid?

I have been able to easily create a mesh of a regular tetrahedron thanks to this answer:

However, as you can see, it looks like it's sitting on one of its edges, what I was looking for was for it to be orientated like an egyptian pyramid, i.e. sitting on one of its faces:

But as @YiFan cleverly pointed out, a pyramid is a pentahedron ! So my picture showing an egyptian pyramid is in fact wrong.

Back to my tetrahedron, I can correct somehow the orientation manually but it's imprecise, I rotate on X axis by ~35 degrees and on Z axis by 45 degrees.

Question:

How can I rotate a regular tetrahedron so it has the same orientation as an egyptian pyramid, so it looks like sitting on the floor ?

• What do you mean by "the same orientation" ? Do you mean "the same aspect" ? – Jean Marie Feb 15 at 23:31
• I have added a better picture that shows the initial orientation when using the formula in the link I've posted. – Aybe Feb 15 at 23:35
• @Aybe by orientation do you mean you'd like it to be rotated so that one of the faces is parallel with the horizontal plane (XZ plane) according to your program? – Andrew Feb 15 at 23:46
• Basically, you can see that by looking at the orientation widget at top-right, the pyramid looks like it's sitting on one of its edges. What I would like is to rotate it so it looks like it's sitting on one of its face instead. Hope it's clearer now :) – Aybe Feb 15 at 23:54

I don't know what software that is nor how to use it, but your request is impossible since the shape of the Egyptian pyramids are not regular tetrahedra. They have $$5$$ vertices! That is called a pentahedron, and a pentahedron one of whose faces lie on the $$xy$$-plane can be given by the coordinates for vertices $$(-1,-1,0),(-1,1,0),(1,-1,0),(1,1,0)$$ and $$(0,0,1)$$.

• I see ... definitely makes sense, the shape I've shown is not correct :) – Aybe Feb 15 at 23:57
• Okay now thanks to your answer I just figured out that it's much simpler to orientate such shape properly, by -90 degrees on the X axis and we're set! – Aybe Feb 16 at 0:19
• @YiFan I don't agree. Lateral views give you four vertices at a time in general, not five. See the figure in my "Answer" – Jean Marie Feb 16 at 0:19
• @YiFan forgot to mention, while indeed your answer shows that I've used the wrong example, a pyramid, would you still have an idea about rotating a tetrahedron instead ? – Aybe Feb 16 at 0:55
• Okay, give me a few minutes please! – Aybe Feb 16 at 1:10

This is not an answer. It is just a demand of clarification with a scientific wording.

Here is an imaginary view of a tetrahedron (resting on one of its faces) and of an egyptian pyramid as seen from an observer at the ground level.

The question of how to rotate "in the best way" these two solids around their vertical axis in order that "they look the same" needs to be precised in the following way.

We have to transform this "best way" into an objective criteria. I propose for example to minimize the gap between the resp. apparent angles BAC and B'A'C', on one side and angles CAD and C'A'D' on the other. Is it a good criteria ? Are there other parameters ?

• My interpretation of the OP's question was that they wanted to find the exact angles to rotate the tetrahedron so that it exactly overlaps with the pyramid. It's a reasonable question, if not for the fact that they are different shapes. This is a good answer, but I don't think it's what the OP was looking for. – YiFan Feb 16 at 0:23
• @YiFan Indeed, exact overlap is illusory... A rather good approximation is maybe possible but I doubt that the illusion can last a long time... – Jean Marie Feb 16 at 0:27
• Honestly I don't understand everything in your request by lack of knowledge ... let me edit my question further a bit, doing some better screen caps. – Aybe Feb 16 at 0:31
• I have seen that you have said now in your text "same orientation" : thus, if the summital angles BAC $\approx$ B'A'C' and CAD $\approx$ C'A'D' , ($\approx$ meaning "approximately equal") as seen by an observer from the ground level, would you be satisfied ? – Jean Marie Feb 16 at 0:35
• I have edited my question with a video which definitely explains the problem better, hopefully. – Aybe Feb 16 at 0:50

Currently I've found a way on how to solve my problem though I didn't figure out the math involved by myself, rather, a simple idea that ended up working:

A quaternion that rotates from/to and then transform all the points with it.

For the tetrahedron it is:

Quaternion.FromToRotation(Vector3.one, Vector3.up)


While it does work I would have loved to achieve it by myself!

I am posting this solely as a reference and not accepting my own answer, while indeed it solves the problem it doesn't really explain how :)

Thanks for anyone who took the time to help me out!