Here's how you can manipulate the figure that appears above. If you click on a point in the figure, you can usually move it in some way. Source files are available on the page. It intersects the opposite side at its foot. The following illustration shows the Nine-Point circle.
Source code is available on the page.
It stores exactly 3 edges per point and 2 pointers per edge, yet supports all the standard operations. This applet illustrates it. Inc. All rights reserved.