Xhin Posted September 7, 2019 Share Posted September 7, 2019 (edited) 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. 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: 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. 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. Pieces set to 10 and 2 respectively. Here's some Piece fine-tuning: Pieces set to 2 and Fine-Tuning set to 0.5, for an effective 2.5-piece kaleidoscope. What it looks like when you Zoom Out. Here's what this effect normally looks like -- all the pieces smoothly reflect into one another. This has Piece Reflect set to "Wrap", which highlights the "spokes" This has Zoom Reflect set to Wrap, highlighting the circles. 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 September 29, 2019 by Xhin 5 2 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.