1. A method of dynamically adjusting a scanner in measuring three-dimensional (3D) coordinates of a surface, the method comprising: providing the scanner having a light source, a mirror, a first motor, a second motor, a first angle measuring device, a second angle measuring device, a distance meter, and a processor, the light source emitting a light beam, the first motor rotating the mirror about a first axis, the second motor rotating the mirror about a second axis, the mirror having a mirror face, the first axis and the second axis intersecting at an origin of a first coordinate system at the mirror face, wherein the light beam is sent from the light source toward the origin, the light beam being reflected from the mirror face to the surface, reflected off the surface back toward the origin at the mirror face, and reflected from the mirror face to the receiver which produces a first electrical signal in response to the light beam reflected off the surface, and wherein the first angle measuring device measures a first angle of rotation about the first axis, the second angle measuring device measures a second angle of rotation about the second axis, the distance meter measures a first distance based at least in part on a speed of the light beam in air and the first electrical signal, and a gray-scale value is determined based at least in part on the first electrical signal; launching with the light source the light beam; rotating the mirror about the first axis at a first angular speed and about the second axis at a second angular speed and, in response, intersecting the surface with the light beam at a plurality of first points; measuring the first angle of rotation, the second angle of rotation, and the first distance for each of the plurality of first points; determining with the processor 3D coordinates of the plurality of first points based at least in part on the measured first angle of rotation, the measured second angle of rotation, and the measured first distance of the plurality of first points; and determining the gray-scale values of the plurality of first points; calculating with the processor a quality measure based at least in part on a portion of the measured first distances and a parameter selected from the group consisting of: a change in the determined 3D coordinates of the plurality of first points, a statistical measure of variation in the determined 3D coordinates of the plurality of first points, the determined gray-scale values of the plurality of first points, nominal characteristics of the surface, a computer-aided-design (CAD) model of the surface, and an angle of incidence of the light beam to the surface; determining with the processor a third angular speed and a fourth angular speed based at least in part on the quality measure; rotating the mirror about the first axis at the third angular speed and about the second axis at the fourth angular speed and, in response, intersecting the surface with the light beam at a plurality of second points; measuring the first angle of rotation, the second angle of rotation, and the first distance for each of the plurality of second points; determining with the processor 3D coordinates of the plurality of second points based at least in part on the measured first angle of rotation, the measured second angle of rotation, and the measured first distance of the plurality of second points; and determining the gray-scale values of the plurality of second points; storing the determined 3D coordinates of the plurality of second points; and storing the determined gray-scale values of the plurality of second points.