6

I would like to create procedural paisleys. For my purposes a paisley is a curled teardrop shape (google image search) composed of multiple shells. I think it best to exclude the ones that have spiral tails.

My first attempt was to use (piecewise) a semicircle for the head and two simple spirals for the sides of the tail. I consider my first attempt a failure, because the junction between the tail and the head has a sharp angle (I guess you could say that the derivative of the function was discontinuous on the theta coordinate when expressed in radial coordinates).

enter image description here

What are some better formulas to generate the shells of a an object that would be recognized as paisley-shaped?

(p.s. feel free to give this question relevant tags, I'm just guessing)

2 Answers2

2

I have had success developing teardrop (or paisley) shapes with the Joukowsky (or Joukowski) transform. The transform is described in detail in Wikipedia's Joukowsky transform article. In a nutshell, it is a conformal mapping of a circle in the complex plane to a curved, cusped shape. Historically, it has been used in the development of airfoils. However, it lends itself nicely to the paisley problem. There are three parameters that allow you to adjust the length, width, and curvature of the teardrop.

My simplified three-parameter version of the transform is shown here:

Parameters: $C, m, \delta$

$\zeta_1 = m e^{i\delta}$

a = $|\zeta_1-C|$

$\zeta = \zeta_1 +a e^{i\theta}; \theta = [0,2\pi]$

$z = \zeta + C^2/\zeta$

You can see that $\zeta$ is a circle of radius $a$, centered at $\zeta_1$ that passes through the point $C$ on the real axis. $m$ is distance from the origin to $\zeta_1$. $z$ is the transformed circle, i.e., the teardrop.

Bearing in mind that this is not a simple problem, the parameter $C$ primarily controls the length of the teardrop, parameter $m$ the width, and $\delta$ the curvature (this angle should be in the $2^{nd}$ quadrant). A good parameter set to start experimenting with is $[C, m, \delta] = [1, 1/2, 2\pi/3]$. (NOTE: if $\delta$ is in the $3^{rd}$ quadrant the teardrop will 'bend' in the opposite direction; for example $\delta = 4\pi/3$ gives the conjugate of $\delta = 2\pi/3$.)


I've had some further thoughts on paisley shapes. Basically, you can take any yin-yang construct and use only half of it. In reality, take any antisymmetric spiral (think Cornu or Fermat, for example) and run a connecting semicircle or ellipse connecting the ends. You can get pretty fancy by allowing the spirals to curl up as well, if that suits your needs. Here's an example of such a yin-yang construct with a $6^{th}$-order polynomial spiral. I have developed all manner of yin-yang constructs with various functions, some of which can be found here: http://web.calstatela.edu/curvebank/waldman5/waldman5.htm.

A yin-yang construct with a $6^{th}$-order polynomial spiral.

user642796
  • 52,188
Cye Waldman
  • 7,524
  • 1
    @arjafi Is there any way to contest a down vote? This was applied to an original posting (actually, my first one ever) and when the reason was explained to me, I revamped and provided full details. In a word, this answer provides two solid mathematical solutions to the question that was posed. If you see anything wrong with this, please tell me so that I can better understand what is expected. Thanks. – Cye Waldman Apr 08 '17 at 20:18
1

For now I have kludged a fix using cubic Bezier curves. Since the control points of the Bezier make it relatively easy to control the tangent, they are a convenient way to bridge from the spiral to the semicircle.

The next task is to align graphical elements at different insets, but that is a rabbit hole for another question which I may return to another day.