New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Randomize Design #278

Open
mancoast opened this Issue Apr 2, 2017 · 9 comments

Comments

Projects
None yet
5 participants
@mancoast
Collaborator

mancoast commented Apr 2, 2017

We love the randomize color palette option.
How about another option for the fractal solid voxels.
Please implement a random button that selects from the different formulas and transforms and populates parameter data.
Each click of the new "Randomize Design" button uses pseudo-random number generators to assure creation of unique content.

@mancoast mancoast added this to the 2.16 milestone Apr 2, 2017

@mancoast mancoast added the USABILITY label Apr 2, 2017

@buddhi1980

This comment has been minimized.

Show comment
Hide comment
@buddhi1980

buddhi1980 Apr 2, 2017

Owner

Have you seen Mutagen in JWildfire program?

Owner

buddhi1980 commented Apr 2, 2017

Have you seen Mutagen in JWildfire program?

@mancoast

This comment has been minimized.

Show comment
Hide comment
@mancoast

mancoast Apr 2, 2017

Collaborator

I havevt seen it, but I like the name.
Maybe we can call it 'transmutate' button

Collaborator

mancoast commented Apr 2, 2017

I havevt seen it, but I like the name.
Maybe we can call it 'transmutate' button

@mclarekin

This comment has been minimized.

Show comment
Hide comment
@mclarekin

mclarekin Apr 3, 2017

Collaborator
Collaborator

mclarekin commented Apr 3, 2017

@mancoast

This comment has been minimized.

Show comment
Hide comment
@mancoast

mancoast Apr 3, 2017

Collaborator

Reference mandelbulb 3D source code:
https://github.com/thargor6/mb3d/blob/master/mutagen/MutaGen.pas

This enables beginners to immediately dive in and make original content.

Collaborator

mancoast commented Apr 3, 2017

Reference mandelbulb 3D source code:
https://github.com/thargor6/mb3d/blob/master/mutagen/MutaGen.pas

This enables beginners to immediately dive in and make original content.

@mancoast

This comment has been minimized.

Show comment
Hide comment
@mancoast

mancoast Apr 8, 2017

Collaborator

@buddhi1980 Can we 'pseudo' implement this feature by simply loading a random example, then randomizing the color palette, and randomizing the camera target?

Collaborator

mancoast commented Apr 8, 2017

@buddhi1980 Can we 'pseudo' implement this feature by simply loading a random example, then randomizing the color palette, and randomizing the camera target?

mancoast referenced this issue Apr 13, 2017

@zebastian

This comment has been minimized.

Show comment
Hide comment
@zebastian

zebastian Apr 14, 2017

Collaborator

my five cents on this topic:

its hard / impossible to make educated guesses about a fractal formula parameter and its effect in the first place. A fine tuned Trial and error machine could help:

A randomizer could be implemented the following way
iterate till 'cool':

  1. take a random parameter and change by random amount
  2. apply heuristics and check if result is better than before (than keep changes) else discard

the heuristics can be managable by the user and may include

  • render time
  • amount bad DE
  • color diversity (areas of same color and areas of changing color)
  • distance diversity (close points and far away points)
  • ...
    there should be reasonable ways to measure these heuristics and the user should be able to weigh each heuristic.

with this hill climbing (https://en.wikipedia.org/wiki/Hill_climbing) algorithm it should be possible to find interesting absolutely new settings. This way all possible parameters are taken into account (though there should be a blacklist of parameters which should not be taken into account like stereoscopic rendering).
Should be moderate programming effort. How well this will work i dont know.
What do you think?

Collaborator

zebastian commented Apr 14, 2017

my five cents on this topic:

its hard / impossible to make educated guesses about a fractal formula parameter and its effect in the first place. A fine tuned Trial and error machine could help:

A randomizer could be implemented the following way
iterate till 'cool':

  1. take a random parameter and change by random amount
  2. apply heuristics and check if result is better than before (than keep changes) else discard

the heuristics can be managable by the user and may include

  • render time
  • amount bad DE
  • color diversity (areas of same color and areas of changing color)
  • distance diversity (close points and far away points)
  • ...
    there should be reasonable ways to measure these heuristics and the user should be able to weigh each heuristic.

with this hill climbing (https://en.wikipedia.org/wiki/Hill_climbing) algorithm it should be possible to find interesting absolutely new settings. This way all possible parameters are taken into account (though there should be a blacklist of parameters which should not be taken into account like stereoscopic rendering).
Should be moderate programming effort. How well this will work i dont know.
What do you think?

@mclarekin

This comment has been minimized.

Show comment
Hide comment
@mclarekin

mclarekin Apr 14, 2017

Collaborator
Collaborator

mclarekin commented Apr 14, 2017

@taurus66

This comment has been minimized.

Show comment
Hide comment
@taurus66

taurus66 Apr 21, 2017

I use random fields for several values. They are currently generated in a simple spread sheet. They depend on the initial value and the amount of variation. So in this case an additional input slot would be needed for the wanted variation - maybe global within the measurement module.
With the following simple calculation, I make sure, to get a randomized value (or vector), that has a range of initial value +- variation: p--initial value; v--variation; r--random number between 0 and 1
p(new)=p-v+2vr
Easy to see that at r 0-0.5 -> new value below initial and r 0.5-1 -> new value above initial.
As I was pretty happy with Mandelbulber v1, I don't need any slider to input variation. A float with enough digits would do much better for me. I hope it is not a problem, that some values (like rotations or constant multiplier) only accept values, with a limited number of digits.
I also do not need a full featured module like the mutagen in m3d 1.91. I need full control and not that slider ease of use - not a popular point of view, but my humble opinion.

taurus66 commented Apr 21, 2017

I use random fields for several values. They are currently generated in a simple spread sheet. They depend on the initial value and the amount of variation. So in this case an additional input slot would be needed for the wanted variation - maybe global within the measurement module.
With the following simple calculation, I make sure, to get a randomized value (or vector), that has a range of initial value +- variation: p--initial value; v--variation; r--random number between 0 and 1
p(new)=p-v+2vr
Easy to see that at r 0-0.5 -> new value below initial and r 0.5-1 -> new value above initial.
As I was pretty happy with Mandelbulber v1, I don't need any slider to input variation. A float with enough digits would do much better for me. I hope it is not a problem, that some values (like rotations or constant multiplier) only accept values, with a limited number of digits.
I also do not need a full featured module like the mutagen in m3d 1.91. I need full control and not that slider ease of use - not a popular point of view, but my humble opinion.

@mancoast mancoast modified the milestones: 2.14, 2.16 May 21, 2017

@mancoast

This comment has been minimized.

Show comment
Hide comment
@mancoast

mancoast May 21, 2017

Collaborator

The ability to randomize that enables everyone to instantly create.

Collaborator

mancoast commented May 21, 2017

The ability to randomize that enables everyone to instantly create.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment