Equation of a Triangle 

An ellipse can be expressed as the locus of points with orthogonal coordinates (x,y) such that (x/a)^{2} + (y/b)^{2} = 1 for some constants a,b. However, it's more difficult to give a succinct description of a piecewise linear curve, e.g., a triangle. We seek a function f() such that f(x,y) = 0 if and only if the point (x,y) is on the perimeter of a given triangle. It's not hard to see that no such function exists if we restrict ourselves to functions definable in terms of a finite number of basic arithmetical operations, i.e., additions, subtractions, multiplications, and divisions. 

This raises the question of what other operation could be adjoined to the four basic operations that would enable us to define a general polygon. One possibility is the familiar "absolute value" function, defined as 

_{} 

This function permits us to express a square as x + y = 1. More general quadrilaterals can be expressed in the form 

_{} 

Two of the four vertices of this quadrilateral are on the x axis at the points x = 1/(AB) and x = 1/(A+B), while the other two are on the y axis at the points y = 1/(CD) and y = 1/(C+D). This nearly enables us to define a triangle by setting one of these vertices to zero; we can come arbitrarily close to zero using finite coefficients, but we can't quite define a true triangle. 

A brute force approach would be to define three rays through the origin of the coordinate system: 

_{} 

These divide the plane into six regions. We can then construct a function that reduces to one of three lines, depending on the region. The point (x,y) is above or below the line y = ax depending on whether the sign of y  ax is positive or negative. Therefore, a Boolean variable indicating whether (x,y) is above the line y = ax can be expressed as 

_{} 

Obviously the complement of this function 

_{} 

is a Boolean variable indicating whether (x,y) is below the line y = ax. However, these functions are undefined for points on the line, because then y  ax = 0. One way of removing this ambiguity is to express Q and q in terms of a function that is arguably even simpler than the absolute value, namely, the sign function 

_{} 

With this function we can define Q and q as 

_{} 

where now Q signifies that (x,y) is above or on the line y = ax. 

Using these Boolean operators we can construct a function that reduces at any given point to the equation of one of the three edge lines of a triangle, depending on the relation of that point to the other two edge lines. For example, consider a triangle whose vertices fall on the three rays shown below 


The edge line connecting the vertices on rays a and b should be invoked whenever (x,y) is on or above the relines a and b. The edge line connecting a and c should be invoked when (x,y) is below both of the relines a and c. The edge line connecting b and c should be invoked when (x,y) is on or above reline c and below reline b. Thus, if the equations for the individual edge lines are A_{1}x + B_{1}y = 1, A_{2}x + B_{2}y = 1, and A_{3}x + B_{3}y = 1, then the overall equation for the triangle can be expressed in the form 

_{} 

To illustrate, if we take the triangle given by the rays 

_{} 

with the edge lines 

_{} 

then equation (1) is satisfied by the points on the perimeter of the triangle shown below. 


This figure assumes we have defined Q and q in terms of the "sign" function. Another way of dealing with the singularity of the absolute value versions of Q and q would be to multiply through equation (1) by the factor 4y  axy  bxy  cx. Letting R,S,T and r,s,t denote respectively the values and the absolute values of y  ax, y  bx, and y  cx, this gives the nonsingular function 

_{} 

This is equivalent to (1) except that it is also satisfied by the points on any of the three rays. Thus the solution of equation (2) is as illustrated below. 


One interesting aspect of this "triangle function" is that we don't need to restrict our attention to just the points (x,y) that satisfy the equation. Instead, we can assign a color to every point on the plane depending on how close it comes to satisfying the equation. This results in some striking images, such as the "stealth fighter" shown below. 

