Jump to content
How to Install Plugins ×

Self Spiral


Recommended Posts

Polar > Self-Spiral


This plugin twists the entire image around itself and reflects it outwards.


It's similar to a Droste effect but doesn't have edges, uses the entire image, and also disappears in the center of the image. You can also get some non-spiral geometry due to the way the mirroring algorithm works.


I don't know about you, but my Distort menu is crammed full. I'm going to start moving almost all of my past and future distort plugins to the "Polar" menu instead, since they're all variations of the same polar framework.


Anyway, let's take a look at this plugin:



  • Clockwise -- By default the spiral happens counterclockwise from the center. This is also the default orientation for paint.net's spiral gradient. By clicking this you can instead get it to flow clockwise from the center.
  • Spiral Size -- Changes the size of the spiral, or rather the distance between each layer of it.
  • Intensity -- Changes how much complexity there is inside of each fold of the spiral. It's a bit like a "Source Zoom" in some of my other plugins, except it works quite a bit differently.
  • Zoom -- Lets you zoom in or out from the rendered spiral. Should be self-explanatory.
  • Source Pan -- Lets you pick a different part of the image to radiate outwards.
  • Rotate -- Lets you rotate the rendered image. This is usually the first thing that gets cut from my plugins to save screen space, but you're dealing with spirals so it makes sense to have the option this time.
  • X Skew / Y Skew -- A bit difficult to explain. This basically stretches the spiral horizontally or vertically though this sometimes has unintended effects.
  • Use X Skew for Both -- If this is checked, the X Skew slider will also be the setting for the Y Skew slider, so you'll get a kind of diagonal stretching.
  • Dest Pan -- Lets you move around the rendered image.


Now, let's look at what the plugin actually does:




This time I've decided to use the earth as a source image so you get a better sense of what happens to objects.




Here's what your default settings look like. Note how the entire earth is spiraling outwards. Note also how you have a reflected version of the earth on either side of the spiral -- this means that the effect is 100% seamless.




If you choose the Clockwise setting instead. Basically exactly the same but everything is flipped vertically.




Increasing the Spiral Size. If you Zoomed out you could see more of the much larger spiral now, but right now all you get is a little arc up at the top.




Back to default size settings and increased the Intensity instead. The spiral is the same size as the original example, but now there's more happening between each fold.




I took the last example and Zoomed out. The Zoom effect here is a Destination Zoom, so you're zooming in or out of whatever you're rendering in the plugin as a whole. I have however put it near the top of the settings because you're probably going to be adjusting Size/Intensity/Zoom a lot to get the right effect.




Same as last example, but I moved the Source Pan to the left slightly. Now a different part of the earth is being spiralled outwards.




Same as that but I've increased the X Skew. This is now distorting things horizontally quite a lot. If you had used Y Skew instead it would be distorting it vertically, and if you had "Use X Skew for Both" checked, it would distort it diagonally.


I figure Dest Pan is pretty self-explanatory -- you're just moving around whatever the rendered image is.


Still to do

  • Some kind of quality slider would be nice. There's not much of a point until I figure out a good algorithm for upscaling though, so the quality update will be released at the same time as the quality update for my Polar Reflection plugin. I've also noticed that the quality update with my other plugins has made them significantly slower (even on quality = 1), so I'll be working on that as well.
  • Sometimes things mildly break on the far right side. I have no idea what's causing this specifcally yet, so I'll be working on it.
  • I've been trying to get the centerpoint also reflecting rather than clamping so this effect turns into more of a legitimate droste effect, but that's evidently going to take more work to figure out. Oddly my Polar Singularity plugin is doing something like that, so I'll probably start there.
  • Adding a Skew Rotation slider is probably a better option than having separate x/y sliders and that "use both" checkbox. So this will probably happen in a later update.
  • Releasing the source code.


Download Link

https://github.com/Xhin23/Paint.net-Plugins/blob/master/Self Spiral.dll

Edited by Xhin
  • Like 2


Link to comment
Share on other sites

  • 2 weeks later...
On 11/20/2019 at 7:38 PM, Xhin said:

I'm going to start moving almost all of my past and future distort plugins to the "Polar" menu instead, since they're all variations of the same polar framework.


Please keep me appraised of these changes so can update the Plugin Index. Thanks!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...