Message Boards Message Boards

Native support for drawing & labeling Euclid-Elements-style figures?

GROUPS:

Here are examples of the kinds of figures I want to generate in Mathematica:

from Joyce's online Elements

from Mathworld

In particular, I want to label various points, line segments, and angles. I also want to show X and Y axes, so I'm assuming I should be using Graphics[] rather than Graph[] (but I am a novice at this).

I know how to draw the circles and triangles; but I find no native way to add the labels. Have I missed it? Or do I need to calculate the x and y coordinates for each label myself, and then place some text at those coordinates? Have I overlooked native Mathematica functionality designed for this task?

POSTED BY: Joe Donaldson
Answer
12 days ago

Use Graphics. If you're just drawing lines and circles you will never have to use Show or Plot, Graph is almost an entirely different subject. Use the Text statement for labeling. You can just draw one thing after another.

Another useful set of Mathematica routines are the Geometry routines. I've designed a small palette that gives access to them and the documentation. They have routines such as InfiniteLine that will automatically extend the line to your current PlotRange. I'm attaching the palette if you wish to try it out.

I also have two applications that I can give you the links to if your are interested. One is Presentations. If you want to add curves to your diagrams it has Draw statements similar to the Mathematica Plot statements but treats them a graphical primitives. So again, you don't have to use Show or Plot. You again just draw one thing after another. It has many other features such as freestanding scales, a routine for marking angles between lines and CirclePoint, which draws points with boundarys of various sizes all in one statement. There is also a PlaneGeometry section that shows step-by-step how to draw dynamic geometrical diagrams using DynamicModules.

The second application is on Grassmann algebra/calculus. Grassmann algebra was primarily designed to be the algebra of geometry. It is immensely powerful and extendable. The application comes with a number of introductory notebooks including one on PlaneGeometry. Also a notebook on ApolloniusCircles and one on Archimedes calculation of the limits of pi done the way he did it.

Attachments:
POSTED BY: David J M Park Jr
Answer
11 days ago

Thanks. I have been proceeding with Graphics, and it is not as laborious as I had feared. I appreciate the full control it gives me over the layout, as I try to tune the appearance. The resources you link to sound very interesting.

POSTED BY: Joe Donaldson
Answer
11 days ago

Group Abstract Group Abstract