Because I don’t have a 3D drawing app, I did it in Mathematica. And because I’m new to Mathematica, I fumbled around a bit before figuring out what to do. I decided to write up what I learned so I could refer to it later, and I decided to post it here in case it’s of any value to anyone else.
The key function when creating 3D images (that aren’t plots) is Graphics3D. As you can see from the linked documentation, it can take an enormous number of arguments and options. The main argument is a list of the objects to be drawn, which in the drawing above consisted of the boxy representation of an iPhone and three arrows representing the x, y, and z axes (I added the axis labels “by hand” in Acorn).
One of the first things I learned was to create the objects separately instead of trying to build them within the call to Graphics3D. It’s certainly possible to make this image entirely within Graphics3D, but the function call becomes really long and confusing if you do it that way. I started by defining variables with the dimensions of the phone (in millimeters):
In case you’re wondering, b is commonly used in my field for the width of objects—it’s short for breadth. We avoid w because we like to use it for weight.