 # N - Raytracing Reference

## Noise

A noise function is nothing but a random number generator used to produce effects of scattering, roughness or turbulence. However, the output of simple pseudo-random number generators is usually too harsh and discontinuous to look natural in modelling, say, a rough surface or a cloud. Therefore more specialized noise functions are used. One of these is Perlin noise (after Ken Perlin) which adds the outputs of several seeded pseudo-random generators to produce a natural-looking turbulent or fractal pattern.

## Normal

The normal to a surface is a line perpendicular to it at a given point (the words 'normal' and 'perpendicular' may be used interchangeably). In other words, a normal is at right angles to the tangent (line/plane) to the surface at the point. For a surface represented by the equation f(x, y, z) = 0, the normal vector in its generic form has the components (df/dx, df/dy, df/dz), where the df/d... quantities are the partial derivatives (i.e. differentiate treating all but one variable as constant) of f(x, y, z) with respect to x, y, z respectively. To evaluate the normal at a particular point, we substitute the coordinates of the point in the expressions for the partial derivatives. In many cases, simpler solutions are available. E.g. for a sphere, the normal vector at point P is merely (P - centre).

## NURBS

NURBS stands for Non-Uniform Rational B-Splines. Non-uniform implies that the knot vector may have values with uneven spacing. A rational spline (rational functions are ratios of two polynomials) uses weighting values to modify the simple spline basis functions and then scales the coordinates generated by the sum of the weighted basis functions. NURBS curves and surfaces are highly flexible and can be used to precisely model polynomials (including quadrics) and even other splines such as Bezier curves. They are widely used in CAD applications, where they encapsulate different types of curves into a single formulation.