Sign in to follow this  
MadJik

Computer generated Kaleidoscopes (ymd:100714)

Recommended Posts

KaleidGen: Computer generated Kaléidoscopes

 

 

What's this?

This is a plugin under Effect/Render menu.

Kaleidoscope generator based on http://sprott.physics.wisc.edu/pickover/ekscop.html

 

Thanks to Dr. Cliff Pickover for this article.

 

Thanks to Nemerle http://www.developpez.net/forums/member.php?u=25295

who gave me this link...

_________________

How does it works?

1. I define and draw a random triangle.

kaleid02.jpg

 

2. Then I draw the same triangle using the symmetries horizontal, vertical and oblique (+/-45°) to have 8 triangles.

 

kaleid03.jpg

3. Etc with a lot of other triangles...

_________________

Download the DLL:

Plug-in KaleidoGen.dll

ar.pngHere is the DLLal.png

 

The MadJik's All plugins package is available !
http://forums.getpaint.net/index.php?showtopic=7186

 

_________________

The User Interface:

This plug-in is added to the menu Effects, submenu Renders.

kaleidogen_UI.png

Quantity of shapes (1,500, dft 5)

__you choose the quantity of triangles you want as model to be copied. It means for an amount of 1 will result in 8 copied triangles.

Drawing area width (1,5000, dft 100)

__For the first piece to draw it's the maximum value for the width. As this piece has many reflections it's a bit confusing to explain.

Drawing area height (1,5000, dft 100)

__Same as width but for the height of the first piece.

Overlay amount (1,5000, dft 100)

__This amount gives the possibility to have the shapes to be superimposed by overflowing on the close parts.

Reseed (1,10000, dft 1000)

__Initial value for the randomizer. Each value is a start of a new sequence of random numbers. So if you're happy with an image, recall the amount!

__Click the button with (?) to get a random amount.

Transparency level (0,255, dft 128)

__This is the alpha value used to draw the shapes and borders.

Choose the shapes

__You could choose to have triangles, rectangles, ellipses or Bezier curves, or a mix of all. Rectangles and Ellipses are drawn horizontally or vertically... You could also choose the maximum size of the width for the Bezier curves.

Anti-Alias (dft checked)

__As it says!

Gradient (dft unchecked)

__Shapes are filled with a random solid color. If you check Gradient, then the shapes (except the Bezier curves) will be filled with a gradient from 2 points of the shape.

Borders (dft unchecked)

__Add a border to the triangles, rectangles or ellipses.

Grey colors (dft unchecked)

__Use only grey colors.

Nota: As the shapes are drawn one at a time, if you choose Gradient or

Border, you will have some overwriting that will corrupt the symmetries...

To reduce this problem, set the transparency to 128.

TIP: Set the quantity to 1, it allows you to test and accept one set of shapes at a time...

_________________

Voilà !

_________________

Some examples:

 

kaleid04.jpg

 

kaleid1078.jpg

 

kaleidoscope.jpg

 

 

For your information, you could also find here:

http://forums.getpaint.net/index.php?showtopic=3428

the kaleidoscope for picture... to make this:

kalei.jpg

Edited by MadJik
refresh UI and rehosted images

Share this post


Link to post
Share on other sites

does this replace the other Kaleidoscope effect or is this something different?

If replacing does this overwrite the other file or am I required to delete that first then add this plugin?

OMA

Share this post


Link to post
Share on other sites
does this replace the other Kaleidoscope effect or is this something different?

If replacing does this overwrite the other file or am I required to delete that first then add this plugin?

OMA

forget that post its something different I see didn't delet old one and am amazed by results ...especially when I used both effects one after another.

great plug in. thanks for sharing with us all.

Share this post


Link to post
Share on other sites

This will come in handy for some excellent abstract backgrounds. Thank you MadJik.

Also, do you have something with triangles? Kaleidoscope Generator, Light Rays... :P

Share this post


Link to post
Share on other sites

I appreciate all your thanks... :D

This will come in handy for some excellent abstract backgrounds. Thank you MadJik.

Also, do you have something with triangles? Kaleidoscope Generator, Light Rays... :P

You mean mathematical geometry?

Once you've understand how to use a formula to create a plugin, the hardest thing is to find and understand other formulas to create other plugins... :P

Share this post


Link to post
Share on other sites

wow, I wasn't sure what to expect with this, but this just draws random triangles and what not, and they look cool! This is my favorite plugin from you, well and light rays which is useful as well.

ONE Request for all your plugins.

Make the cancel button work, when I hit escape, most plugins like the built in ones cancel out. Hitting esc does nothing in your plugins.

You can add this line in the Form.Designer

this.CancelButton = this.cancelButton; <- your cancel button, whatever name you called it.

Share this post


Link to post
Share on other sites
...

ONE Request for all your plugins.

Make the cancel button work, when I hit escape, most plugins like the built in ones cancel out. Hitting esc does nothing in your plugins.

You can add this line in the Form.Designer

this.CancelButton = this.cancelButton; <- your cancel button, whatever name you called it.

Thanks for this tip!

Now I need to update a lot of plugins... :roll:

...Ok I won't update all (8-9) topics, but all DLL are updated

and concerned DLL are grouped in this zip:

Here is the zip for the updated DLLs

Share this post


Link to post
Share on other sites

Great thanks, that was a good way to make get all your plugins lol. I was too lazy to figure out which I didn't have. ESC works yay!

...

ONE Request for all your plugins.

Make the cancel button work, when I hit escape, most plugins like the built in ones cancel out. Hitting esc does nothing in your plugins.

You can add this line in the Form.Designer

this.CancelButton = this.cancelButton; <- your cancel button, whatever name you called it.

Thanks for this tip!

Now I need to update a lot of plugins... :roll:

...Ok I won't update all (8-9) topics, but all DLL are updated

and concerned DLL are grouped in this zip:

Here is the zip for the updated DLLs

Share this post


Link to post
Share on other sites

I almost always start working on a new image with either Clouds or Gradient Bars. This plugin is probably going to change that. Thanks, MadJik!

Share this post


Link to post
Share on other sites
MadJik, would it be hard to include an option to have more than just triangles generated? (e.g., circles/ovals and squares.)

Just wondering...

Shouldn't be difficult, I will see...

Good idea!

(I'm not really happy with the colors too, but I haven't found a good way yet to solve this)

Share this post


Link to post
Share on other sites

Kaleidoscope generator based on http://sprott.physics.wisc.edu/pickover/ekscop.html

Thanks to Dr. Cliff Pickover for this article.

Thanks to Nemerle http://www.developpez.net/forums/member.php?s=de428a11138f7d0dcb6c474af5d673aa&u=25295

who gave me this link...

_________________

How does it works?

1. I define and draw a random triangle.

kaleid02.jpg

2. Then I draw the same triangle using the symmetries horizontal, vertical and oblique (+/-45°) to have 8 triangles.

kaleid03.jpg

3. Etc with a lot of other triangles...

_________________

Download the DLL:

Plug-in KaleidoGen.dll

Here is the zip for the DLL

_________________

The User Interface:

This plug-in is added to the menu Effects, submenu Renders.

pdnv320001.png

Quantity of shapes (1,50, dft 5)

__you choose the quantity of triangles you want as model to be copied. It means for an amount of 1 will result in 8 copied triangles.

Drawing area width (1,1000, dft 100)

__For the first piece to draw it's the maximum value for the width. As this piece has many reflections it's a bit confusing to explain.

Drawing area height (1,1000, dft 100)

__Same as width but for the height of the first piece.

Overlay amount (1,1000, dft 100)

__This amount gives the possibility to have the shapes to be superimposed by overflowing on the close parts.

Reseed (1,10000, dft 1000)

__Initial value for the randomizer. Each value is a start of a new sequence of random numbers. So if you're happy with an image, recall the amount!

__Click the button with (?) to get a random amount.

Transparency level (0,255, dft 128)

__This is the alpha value used to draw the shapes and borders.

Choose the shapes

__You could choose to have triangles, rectangles, ellipses or Bezier curves, or a mix of all. Rectangles and Ellipses are drawn horizontally or vertically... You could also choose the maximum size of the width for the Bezier curves.

Anti-Alias (dft checked)

__As it says!

Gradient (dft unchecked)

__Shapes are filled with a random solid color. If you check Gradient, then the shapes (except the Bezier curves) will be filled with a gradient from 2 points of the shape.

Borders (dft unchecked)

__Add a border to the triangles, rectangles or ellipses.

Grey colors (dft unchecked)

__Use only grey colors.

Nota: As the shapes are drawn one at a time, if you choose Gradient or

Border, you will have some overwriting that will corrupt the symmetries...

To reduce this problem, set the transparency to 128.

TIP: Set the quantity to 1, it allows you to test and accept one set of shapes at a time...

_________________

Voilà !

_________________

Some examples:

kaleid04.jpgkaleid1078.jpg

kaleidosgen.png

Share this post


Link to post
Share on other sites

I got this error message while randomy changes some values; I forgot which one it was when the crash happened.

File: C:\Program Files\Paint.NET\Effects\KaleidoGen.dll
     Effect Name: KaleidoGen.KaleidoGen
     Full error message: PaintDotNet.WorkerThreadException: Worker thread threw an exception ---> System.InvalidOperationException: Object is currently in use elsewhere.
  at System.Drawing.Graphics.set_SmoothingMode(SmoothingMode value)
  at KaleidoGen.KaleidoGen.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length)
  at PaintDotNet.Effects.BackgroundEffectRenderer.RendererContext.RenderImpl()
  --- End of inner exception stack trace ---
  at PaintDotNet.Effects.BackgroundEffectRenderer.Join()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Abort()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Start()
  at PaintDotNet.Menus.EffectMenuBase.<>c__DisplayClassb.b__8(Object sender, EventArgs e)

Share this post


Link to post
Share on other sites

Sorry for the trouble...

I can't reproduce it.

Could you give me more details:

*PDN version

*Picture size

*Settings

etc...

Share this post


Link to post
Share on other sites

Ya, well, I can't reproduce it either. All I remember is that I was using the effect on a selection. Using v3.36. When I posted the error message, I hoped that the error message itself would tell you what you needed to know in order to fix. I'm sorry I can't supply more details.

Share this post


Link to post
Share on other sites
I got this error message while randomy changes some values; I forgot which one it was when the crash happened.

File: C:\Program Files\Paint.NET\Effects\KaleidoGen.dll
     Effect Name: KaleidoGen.KaleidoGen
     Full error message: PaintDotNet.WorkerThreadException: Worker thread threw an exception ---> System.InvalidOperationException: Object is currently in use elsewhere.
  at System.Drawing.Graphics.set_SmoothingMode(SmoothingMode value)
  at KaleidoGen.KaleidoGen.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length)
  at PaintDotNet.Effects.BackgroundEffectRenderer.RendererContext.RenderImpl()
  --- End of inner exception stack trace ---
  at PaintDotNet.Effects.BackgroundEffectRenderer.Join()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Abort()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Start()
  at PaintDotNet.Menus.EffectMenuBase.<>c__DisplayClassb.b__8(Object sender, EventArgs e)

new.jpg

I think this bug is fixed now...

Look at the first post of this topic for the lastest version of the KaleidoGen plugin.

Share this post


Link to post
Share on other sites
I got this error message while randomy changes some values; I forgot which one it was when the crash happened.

File: C:\Program Files\Paint.NET\Effects\KaleidoGen.dll
     Effect Name: KaleidoGen.KaleidoGen
     Full error message: PaintDotNet.WorkerThreadException: Worker thread threw an exception ---> System.InvalidOperationException: Object is currently in use elsewhere.
  at System.Drawing.Graphics.set_SmoothingMode(SmoothingMode value)
  at KaleidoGen.KaleidoGen.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length)
  at PaintDotNet.Effects.BackgroundEffectRenderer.RendererContext.RenderImpl()
  --- End of inner exception stack trace ---
  at PaintDotNet.Effects.BackgroundEffectRenderer.Join()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Abort()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Start()
  at PaintDotNet.Menus.EffectMenuBase.<>c__DisplayClassb.b__8(Object sender, EventArgs e)

new.jpg

I think this bug is fixed now...

Look at the first post of this topic for the lastest version of the KaleidoGen plugin.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this