1. A method of computer-aided-design (CAD) using a CAD system including one or more electromechanical input devices, a storage device and a graphical display device, comprising the steps of: (a) using the one or more electromechanical input devices, entering design instructions and specifications into the CAD system to specify a surface under design, the CAD system displaying on the graphical display device a three-dimensional representation of the surface in response to the design instructions and specifications, the surface stored in the storage device in the form of surface data specifying a non-uniform rational B-spline (NURBS) including a plurality of parameters, the surface data initially being a current state of the data; (b) using the CAD system, automatically reconfiguring the surface to avoid an obstacle in a common frame of reference with the surface, the automatic reconfiguring comprising the steps of: (1) calculating the cost of the current surface data based on primary and secondary cost functions according to a simulated annealing technique, wherein said primary cost functions comprise a function which measures the distance from the surface to the obstacle and a function which penalizes an expansion of the surface area of the surface, and the secondary cost functions comprise a function which penalizes non-uniformity between variations in the parameters and spacial variations in the surface, and a function which penalizes non-orthogonality of tangent vectors to the surface at different points; (2) using the CAD system, randomly perturbing the current state of the surface data to generate perturbed surface data; (3) using the CAD system, calculating the cost of the perturbed surface data based on the primary and secondary cost functions according to the simulated annealing technique; (4) using the CAD system, comparing the cost of the perturbed surface data to that of the cost for the current state and setting the current state equal to the perturbed surface data if one or more first predetermined criteria are met; (5) repeating steps (2) through (4) until one or more second predetermined criteria are met wherein the current state is accepted as the final optimized reconfigured state and storing the data for the final optimized reconfigured state in the storage device; and (c) graphically displaying a three-dimensional representation of the final optimized reconfigured state of the surface on the graphical display device and using the one or more electromechanical input devices, entering design commands and specifications into the CAD system to specify one or more further design alterations to the final optimized reconfigured state of the surface to produce a CAD system description of a surface useful for the implementation or production of a physical system, physical object or device in accordance therewith.