On paper or a blackboard, mathematicians (as opposed to engineers, physicists, etc.) typically draw 3D plots is with:
- axes origin is at (0, 0, 0) and axes are drawn emanating from there;
- the positive y-axis points due east, the positive z-axis points due north, and the positive x-axis pointing southwest (as if pointing forward, out of the paper); and
- the positive ends of these axes have arrowheads (just plain 2D arrowheads, not conical or similar quasi-3D objects.
In other words, the way that's shown in this image from https://en.wikipedia.org/wiki/Three-dimensional_space#/media/File:Coord_planes_color.svg:
What is the best way to arrange this for Plot3D
and the family of related functions (ParametricPlot3D
, SphericalPlot3D
, etc.)?
I'm aware of using options Boxed -> False
, AxesOrigin -> {0,0,0}
, Axes -> True
, which accomplishes (1). But how best accomplish (2) and (3)?
More specifically:
- For (3), is there some better way than the awkward method of using
Show
to combine thePlot3D
with aGraphics3D
consisting of three commands such asArrow[{{0,0,0}, {1,0,0}}]
? - For (2), is there some better way than effecting a geometric transformation on each geometric object created?
ViewPoint
(which can be used inPlot3D
). $\endgroup$ViewMatrix
- during my quick testing however, I have unfortunately failed to do so... For (3), I think you'll have to draw the arrows yourself. You might want to useCharting`ScaledTicks[{Identity, Identity}]
to get the tick marks and manually draw them as well. (That might yield a cleaner result) $\endgroup$