A computer-implemented method of producing a wavy shape, comprising: separating a shape into at least one individual original line and at least one individual original Bezier curve, wherein the at least one original line is a straight non-horizontal line and the at least one original Bezier curve is a smooth Bezier curve; for each individual original line: dividing the individual original line into one or more wavelet and transforming the original line into a wavy line using a first bounding region associated with a first endpoint of each wavelet and a second bounding region associated with a second endpoint of each wavelet to constrain an amount of waviness produced in the original line, wherein transforming the original line into a wavy line includes for each of the one or more wavelet: transforming the wavelet from an original coordinate space into a separate coordinate space to process the one or more wavelet as a horizontal line; moving a first control point of the first endpoint of the horizontal wavelet from a first initial point to a first position within the first bounding region; moving a second control point of the second endpoint of the horizontal wavelet from a second initial point to a second position within the second bounding region; and transforming the one or more horizontal wavelets from the separate coordinate space back into the original coordinate space; for each original Bezier curve: transforming the original Bezier curve into a wavy Bezier curve using a third bounding region associated with a third endpoint of the original Bezier curve and a fourth bounding region associated with a fourth endpoint of the original Bezier curve to constrain an amount of waviness produced in the original Bezier curve; and presenting the wavy shape in a user interface of a diagramming application. for each individual original line: dividing the individual original line into one or more wavelet and transforming the original line into a wavy line using a first bounding region associated with a first endpoint of each wavelet and a second bounding region associated with a second endpoint of each wavelet to constrain an amount of waviness produced in the original line, wherein transforming the original line into a wavy line includes for each of the one or more wavelet: transforming the wavelet from an original coordinate space into a separate coordinate space to process the one or more wavelet as a horizontal line; moving a first control point of the first endpoint of the horizontal wavelet from a first initial point to a first position within the first bounding region; moving a second control point of the second endpoint of the horizontal wavelet from a second initial point to a second position within the second bounding region; and transforming the one or more horizontal wavelets from the separate coordinate space back into the original coordinate space; transforming the wavelet from an original coordinate space into a separate coordinate space to process the one or more wavelet as a horizontal line; moving a first control point of the first endpoint of the horizontal wavelet from a first initial point to a first position within the first bounding region; moving a second control point of the second endpoint of the horizontal wavelet from a second initial point to a second position within the second bounding region; and transforming the one or more horizontal wavelets from the separate coordinate space back into the original coordinate space; for each original Bezier curve: transforming the original Bezier curve into a wavy Bezier curve using a third bounding region associated with a third endpoint of the original Bezier curve and a fourth bounding region associated with a fourth endpoint of the original Bezier curve to constrain an amount of waviness produced in the original Bezier curve; and presenting the wavy shape in a user interface of a diagramming application. transforming the original Bezier curve into a wavy Bezier curve using a third bounding region associated with a third endpoint of the original Bezier curve and a fourth bounding region associated with a fourth endpoint of the original Bezier curve to constrain an amount of waviness produced in the original Bezier curve; and presenting the wavy shape in a user interface of a diagramming application.