1. A system for modifying a virtual object in a virtual environment, the system comprising: a haptic interface device; a memory for storing code that defines a set of instructions; and a processor for executing the set of instructions to: (a) generate a virtual object in a virtual environment; (b) determine a position of a virtual tool in the virtual environment in response to a location of the haptic interface device in real space, wherein the virtual tool comprises a plurality of discrete point locations for sensing penetration into the virtual object; and (c) reposition the virtual tool substantially tangent to a surface of the virtual object substantially at the start of a modification of the virtual object.