9. A computer-implemented process for determining whether a computer user is a human or a computer program, comprising: using a computer for: generating a string of characters; arranging the characters spatially; tearing the characters into torn pieces by cutting an image of the arranged string characters into slices and dividing each of the slices into one or more parts, wherein the characters are arranged in a single line and characters are cut into upper and lower slices and wherein the upper and lower slices are based on a roughly horizontal curve defined by a set of cutting points; applying a conformal or nearly conformal transformation to an image of the characters of the string that preserves the angles of any two crossing lines of any character of the string of characters to create a human interactive proof of the string where the characters of the string are displayed in a foreground of the human interactive proof; requiring a computer user to identify the characters of the human interactive proof; comparing the computer user's identification of the characters of the human interactive proof to the string of characters; and determining whether the computer user is a human or a computer program by using the comparison of the computer user's identification of the characters of the human interactive proof to the string of characters.
10. The computer-implemented process of claim 9 , wherein applying a conformal or nearly conformal transformation to the image of the characters of the string to create the human interactive proof, further comprises: selecting a coordinate system with an origin and a polar axis; applying the conformal or nearly conformal transformation to each point in the coordinate system.