# Q: How is the surface normal and insertion point of surfaces calculated?

A: Precise surface equations for each surface in a room model are essential for all computations in a program such as Odeon. The surface equation Ax + By + Cz + D = 0 of a surface plane is based on an insertion point as well as a surface normal.

If all corners of each surface would be exactly in one plane and there were no limits to numerical precision of computers, there would not be a problem. Neither is the case, so in Odeon these equations are fitted from all points on the perimeter of the surface weighting their contribution relative to the area of the surface which the two closest edges describe – that is, very close neighboring points has little weight whereas distant neighboring points carry height weight. Consequently Odeon can handle surfaces with perimeter points that derivates quite a bit from the perfect plane. In early versions of Odeon such error would often lead a substantial loss of rays or plane equations which described the geometry poorly – the geometry had to be corrected over and over again.

Note that Odeon doesn’t mind which order the perimeter points of a surface is given (clockwise or counterclockwise) both sides of the surface is automatically described in one go.

Also note that Odeon allows concave surfaces, surfaces with shapes such as U,O,L,H are allowed to be described by just one surface (sequence of points), no need for surface subdivision.

Although these are features are hidden, it does mean that modeling is made much easier by Odeon.