This is a post in our “equations and shapes” category, where we post articles explaining the relations between equations and the shapes they define. 

At school, lines and circles are some of the first geometrical objects you encounter. Later, you also learn that they may be described by equations defining points in a coordinate system. In this post, we review this relationship between lines and circles in 2d and equations briefly with a focus on implicit equations.

In subsequent posts, we will use this to go into 3d space, and explain equations for planes and spheres (i.e., surfaces of balls), and later even for much more involved shapes such as the famous Barth sextic world record surface.

Straight lines

From school, we know how to interpret equations such as y=2x-1 in an x/y-coordinate system. It defines a line with slope 2 meeting the vertical axis in the point (0,1).

What you see above is not a static image, but an interactive app! Feel free to play with the parameters a and b to adapt the equation. Via the white point in the top right grid, you may change both a and b at the same time!

Side note: It is beyond the scope of this post to explain how and why the parameters are linked to the line. Just very briefly: chaning the constant term moves the line up and down, the factor in front of the x is the slope of the line. If you are interested in more background on this, just send me a message, and I will try to write a post on this in the future.

Have you noticed that it is posssible to define a horizontal line in this way, e.g. y=1 (x does not appear), but that it is not possible to define a vertical line by a formula of the type y=ax+b in an x/y-coordinate system? This is because the slope a has to be “infinity” (\infinity) for this special case. But we wish to avoid \infinity at this point. One way to do this is to note that a vertical line contains exactly those points which have a common x-coordinate. So, we may describe all points on a vertical line with x-coordinate 1 by the equation: x=1. In such an equation, y does not appear.

In order to be able to treat even such cases without having to think about “infinity”, we may add another parameter in front of the y, say c\cdot y, which may be zero or not. The complete equation now reads: c\cdot y = a\cdot x + b. For c\neq 0, we get non-vertical lines as before, and for c=0, we usually get vertical lines.

An even more special case occurs if c=0 and a=0. For b=0, this yields the equation 0=0 which is true no matter which values of x and y we choose because these variables do not appear at all, so all points (x,y) in the plane satisfy this equation! And for b\neq 0, say b=1, we get an equation of the kind 0=1 which is not true, no matter how we choose x and y.

All these cases may be experienced by playing with the parameters in the following app:


Similarly, for a polynomial of degree 2 in one variable x, say f(x)=ax^2+bx+c, we may consider the graph. It will be a so-called parabola. You may try to understand the effect of the parameters a, b, c. In some cases, it is not difficult. E.g., changing c will move the graph up and down. Can you describe the effect of parameter a? The exact effect of parameter b is much more difficult to understand, I think.

Side note: As above, we are not able to go into details about this here because this is standard school material und thus considered as basics for the purpose of this blog. But again, if you are interested in the basics behind this, just send me a message, and I will try to write a post on these basics in the future.


In contrast to most of the curves above – but similar to vertical lines – circles may not be defined as a graph of a function of the form y=f(x) for some polynomial f in one variable x because for many values x there are two different corresponding values of y. But we may still describe any circle by a single polynomial equation thanks to the Pythagorean theorem:

Theorem (usually called “Pythagorean theorem” – to be discussed and proved in a subsequent post):
A triangle with edges a, b, c is rectangular with longest edge c if and only if a^2+b^2 = c^2.
(In other words, the sum of the areas of the squares over the edges a and b is the same as the area of the square over c.)

How can we use this now in order to find an equation describing all points on a circle? Let us start with the simplest case where the center of the circle is the origin (0,0) of the x/y-coordinate system. Point A in the picture has x-coordinate a and y-coordinate b – at least when A is in the upper-right part of the coordinate system; otherwise, one or both coordinates will have an additional minus-sign. But in any case, we may use the Pythagorean theorem to conclude that a^2+b^2=c^2.  Now, as (-a)^2=a^2 and (-b)^2=b^2, it follows for any point (x,y) on the circle that x^2+y^2=c^2, and c is the radius of that circle.

In order to generalize this to the case of a circle of radius c with a center (a,b) not necessarily at the origin (0,0), note that for any point (x,y), we may consider the translated point (x,y)-(a,b)=(x-a,y-b). For the center (a,b) of the circle, this will be the origin (0,0). For any point on the circle around (a,b), the translated point (x-a,y-b) will be a point on a circle around the origin, of the same radius c. Conversely, any point satisfying (x-a)^2+(y-b)^2 = c^2 lies on a circle of radius c around (a,b).


In subsequent posts in the “equations and shapes” category, we will use equations for lines, parabolas, and circles as described above for three dimensional objects.

This will go far beyond planes and spheres. One natural class of objects involving the equation of a circle are surfaces of revolution such as hyperboloids, vases, etc.

I hope in the future I will be able to extend my app cwp to allow me to realize some interesting problems you may solve directly within your browser.

Apart from the mathematics, another focus in this category of posts will be the fascinating people and historical developments behind some of the equations and shapes.

Software used

This post uses our own software cwp to visualize curves with parameters. It is based on the javascript library CindyJS. See for details. Other widgets have been created using pure javascript/CindyJS programming, without using our cwp app.