Xhin

Polar Kaleidoscope

Recommended Posts

Distort > Polar Kaleidoscope

 

This is an interesting effect I came across while attempting to replicate Madjik's Polar Transformation plugin:

 

https://forums.getpaint.net/topic/9364-polar-transformations-plugin-ymd100718/?tab=comments#comment-152963

 

What it basically does is it takes an image, does a polar transformation of it, and then reflects that in a kaleidoscope-like way. You end up with a kaleidoscope that uses a warped version of the entire image rather than just a triangular piece. The image will mirror itself around the circle and also along various "spokes". In any case, let's take a look at it.

 

kc1JEML.png

 

  • Pieces -- The number of times the image reflects around the circle. If this is set to 1, then there will be one point of reflection, or if "Full Transform" is on, it'll just be a polar transformation of the image. If this is set to 0, you'll end up reflecting the first pixel along every point in the y axis around the circle. While even numbers make sense and odd numbers are at least smooth, they don't necessarily do what you'd expect. The below setting can help in those cases.
  • Piece Fine-Tuning -- Because of how this plugin works, you can have partial kaleidoscopes. If Pieces is set to 4 and Fine-Tuning is set to 0.5, then your kaleidoscope has 4.5 pieces. This effectively means that you get 4 full pieces and two half pieces. Piece Fine-Tuning also helps you tweak odd-numbered pieces to get what you want.
  • Zoom Out -- Allows you to zoom in or out. As you zoom out, you'll see more spoke reflections, and since pieces are more spread out, higher piece numbers tend to look better.
  • Piece Reflect -- By default, pieces placed around a circle will reflect each other, creating a smooth appearance. If you set this to "Wrap" you'll instead get edges. This is similar to the regular Kaleidoscope's "Reflective Mode" setting.
  • Zoom Reflect -- Similarly, pieces which radiate out from the center will reflect each other. If you set this to "Wrap", you'll instead get edges between different pieces.
  • Full Transform -- This fixes odd numbered pieces -- you'll get the exact number of pieces you're expecting. Unfortunately, all this does is a normal polar transformation, so there's a good likelihood you'll have an "edge" on the left where the ends meet.
  • Quality -- This helps prevent sharp edges, but it's basically a lie. I'm working on a better solution, but this should at least help for the time being.

 

In any case, let's look at these settings individually:

 

OF0Vb1Q.png

 

Here's an initial image. I've outlined each edge so you can see how everything transforms, however I'll show off the smoothness of the effect later in this post.

 

pXxjUj8.png

 

This is the basic setting. 6 pieces, a decent amount of zoom, everything reflecting. Notice that the purple and green edges don't touch, nor do the red and yellow edges. Everything's getting mirrored so the basic effect is smoother.

 

abjdMha.png

PSHHJ82.png

 

Pieces set to 10 and 2 respectively.

 

H4Uj7n8.png

 

Here's some Piece fine-tuning: Pieces set to 2 and Fine-Tuning set to 0.5, for an effective 2.5-piece kaleidoscope.

 

6WGBsNv.png

 

What it looks like when you Zoom Out.

 

WFU64zA.png

 

Here's what this effect normally looks like -- all the pieces smoothly reflect into one another.

 

JtzsmnP.png

 

This has Piece Reflect set to "Wrap", which highlights the "spokes"

 

kFSn0y2.png

 

This has Zoom Reflect set to Wrap, highlighting the circles.

 

qpkg6Du.png

 

Here's what "Full Transform" and Pieces=1 looks like. If you zoom in a bit it looks like Madjik's polar transformation rotated to a -90 degree angle, though there seem to be some subtle differences in the warping algorithms even then.

 

Things still to do

  • Get quality working better
  • Allow you to rotate and/or move the resulting image around
  • Clean the code and release the source code

 

Download Link

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

Edited by Xhin
  • Like 5
  • Upvote 2

Share this post


Link to post
Share on other sites

This is really neat.   Polar Inversion fans are going to love it 

 

I started off with different centred orbs, on their own layers

 

polar-kal.png

  • Like 4
  • Upvote 1

Share this post


Link to post
Share on other sites

Hi there @Xhin and Welcome back :)

 

Nice work on the Plugin/s :star: So many variations too.

 

peacocks-4.png

  • Like 3

Share this post


Link to post
Share on other sites

Nice plugin @Xhin!  Your to-do list would be great.  Right now, it seems the Quality slider just blurs the image a bit.

Thank you for the plugin!  <3 :star:

 

Sand-Art anyone?

 

polarkaleidoscope_01.png

 

  • Like 4

Share this post


Link to post
Share on other sites

I enjoy playing with this plugin ... a typical layman question ... how difficult would adding an offset function be ?  I think that would add an interesting option for patterns ?

 

torment-toruses.png

  • Like 1

Share this post


Link to post
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.

Guest
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.