3

Typically when drawing a 3D figure on paper (or a black/white board), a mathematician draws the z-axis to point due north on the page, the y-axis to point due east, and the x-axis to point due southwest (as if coming out of the page). And then the 3D objects are drawn on that; e.g., when a sphere is drawn on those axes, it looks head-on like a circle, without distortion, so that its cross-section in the yz-plane is a perfect circle.

In the answer https://tex.stackexchange.com/a/447401/13492 by @Max to my question Draw lower (southern) hemisphere and great semicircle with "mathematician's" axes orientation, he shows how to create a 3d set of axes that look like that, using a Cabinet projection.

However, when the Cabinet projection is applied to a sphere, it distorts the sphere's shape, as he shows.

Is there a way to create with TikZ a 3D drawing that does draw the axes as I've described, but does not distort solid object such as a sphere?

3
  • 2
    You can create your own coordinate system using \pgfsetxvec, \pgfsetyvec and \pgfsetzvec, but it is up to you to get the lengths right. (Is this called a left-handed or right-handed coordinate system? I can't remember.) Aug 27, 2018 at 14:51
  • 1
    Can you prove that such a coordinate system exists? I believe I can prove that it doesn't. You want to have something that preserves the shape, so you want to do an orthogonal transformation followed by a projection. So you can write the three vectors as columns of an orthogonal matrix. Demanding that the truncated y and z are what you want them to be already fixes the rotation in such a way that the projection of x vanishes. Do you agree?
    – user121799
    Aug 27, 2018 at 16:13
  • 1
    Of course if you just want a cartoon you can draw an x axis into any direction you like. That is, you use either an orthographic projection from Max' answer or use tikz-3dplot and draw a vector that you like and label it x.
    – user121799
    Aug 27, 2018 at 16:30

1 Answer 1

4

No, TikZ cannot do that. However, that's not the fault of TikZ.

enter image description here

\documentclass[fleqn]{article}
\usepackage{amsmath,marvosym}
\begin{document}
You wish to have a coordinate system that 
\begin{enumerate}
 \item preserves shapes and\label{preserve}
 \item has $\vec e_y$ point east, $\vec e_z$ point north and $\vec e_x$ point
 south west.\label{directions}
\end{enumerate}
The first requirement means that the coordinate axes are orthogonal,
\begin{equation}\label{eq:orthogonality}
 \vec e_x\cdot \vec e_y~=~\vec e_x\cdot \vec e_z~=~\vec e_y\cdot \vec e_z
~=~0\;.
\end{equation}
So we wish to find a two--dimensional projection of these vectors that fulfill
the requirement \ref{directions}. Decompose the vectors in two--dimensional
projections on the paper plane $\vec e_i^{(\|)}$ and the orthogonal complements
$\vec e_i^{(\perp)}$. Clearly, the $\vec e_i^{(\perp)}$ are just
one--dimensional objects, which we will just call $e_i^{(\perp)}$. Requirement \ref{directions} implies that
\begin{equation}
 \vec e_x^{(\|)} \cdot \vec e_y^{(\|)}~=~
\vec e_x^{(\|)} \cdot \vec e_z^{(\|)}~=:~\xi~\ne~0\;.
\end{equation}
Due to the orthogonality relations \eqref{eq:orthogonality}, this means that
\begin{equation}
 e_x^{(\perp)} \cdot e_y^{(\perp)}~=~
 e_x^{(\perp)} \cdot e_z^{(\perp)}~=~-\xi~\ne~0\;.
\end{equation}
None of the $e_i^{(\perp)}$ may vanish as otherwise there won't be an $x$--axis,
and
\begin{equation}
e_y^{(\perp)}~=~e_z^{(\perp)}~=~-\frac{\xi}{e_x^{(\perp)}}\;. 
\end{equation}
However, requirement \ref{directions} 
implies that $\vec e_y^{(\|)} \cdot \vec e_z^{(\|)}=0$, so
\begin{equation}
 \vec e_y\cdot \vec e_z~=~\vec e_y^{(\|)} \cdot \vec e_z^{(\|)}
 +e_y^{(\perp)} \cdot e_z^{(\perp)}~=~0+\left(\frac{\xi}{e_x^{(\perp)}}\right)^2
 ~\ne~0\;.\qquad \text{\Huge\Lightning}
\end{equation}
\end{document}
2
  • 4
    That seems mathematically impeccable. And yet mathematicians do draw the kind of figures I describe. So they are not really "projections", but meaningful (mis)interpretations of what one would actually see in 3D!
    – murray
    Aug 27, 2018 at 19:26
  • 2
    @murray Fully agree, I am also doing this. Simple reason: on a blackboard it is much easier to draw vertical, horizontal and diagonal lines. And there is nothing wrong with that. And there is nothing wrong with just choosing the projection such that the projection of \vec e_x vanishes and draw a fantasy vector and label it x. At least not for the spheres you are currently playing with. And apart from this masterpiece all TikZ projections I know are not entirely correct anyway, yet you can use asymptote if you are a purist.
    – user121799
    Aug 27, 2018 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.