Today’s guest tutorial comes to you courtesy of X.

Two-dimensional geometry comes into play whenever we use Corona's display objects.

This is largely done at a high level and comes quite naturally. Assuming our code works, we rarely give statements like circle.x = 10 or image.rotation = 30 more than a passing thought.

We might find ourselves wanting to do more, however. A broader knowledge of geometry then becomes useful, even necessary. This series aims to explore several of the fundamental ideas: how to come up with them in the first place, and then put them to work.

Table of contents

Before getting too deep, we need to establish some basic details like lines and space, along with some of the arithmetic we will be using:


With the preliminaries mastered, we can take on triangles:

Triangle basics

Triangle area

Angle relationships


Similar triangles

Triangles will open the way for circles:

Circle basics

Adding angles


Full circle (NOTE:this is probably going to be split in two)

Circle boundaries

The Law of Cosines

The Law of Sines

Once we have a feel for triangles and circles, we can tackle vectors:

Vector basics

Vectors and area (NOTE: this and the next two are tentative)

Coordinate systems

Vector intersections

The following "extra" articles continue a trend begun in the Law of articles, but may be read apart from the material on vectors.

The circumcircle

The incircle

The excircles

Some quick notes

The target audience is a reader with at least a basic grasp of arithmetic (distributive law, powers, roots). Some familiarity with algebra might also be helpful.

(NOTES:Necessary arithmetic developed in Preliminaries)

The material is arranged so that later sections build upon earlier ones. This will also be true from one article to the next, as the series progresses. Naturally, there is going to be a lot to absorb! Many concepts might require several rereads, as well as a bit of time—and perhaps some experimentation in Corona?—before finally sinking in, especially for someone new to it all.

For the most part, the various links are simply "further reading": alternative proofs, additional points of view, visualizations, even some history.

Similarly, some sections end with an EXERCISES block. These exercises are optional as well, but working them out might offer interesting insights. While digressionary, these more closely follow the material in the text.

The MathJax toolkit is used to render mathematical expressions like ${1 \over x}.$ As in this example, punctuation characters such as periods and commas are rolled into such expressions whenever they immediately follow them; this makes the characters stand out a bit, especially when their unadorned counterparts are nearby, but eliminates some occasional formatting weirdness.

This repository contains the various small programs, along with a few support modules, used to generate most of the figures in these articles. The mathematical ideas under discussion naturally tend to appear in the corresponding code, so it might be worth an occasional look. Be aware, however, that more advanced concepts sometimes show up as well.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>