Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upRandomize Design #278
Comments
mancoast
added
ENHANCEMENT
REQUESTED
labels
Apr 2, 2017
mancoast
added this to the 2.16 milestone
Apr 2, 2017
mancoast
added
the
USABILITY
label
Apr 2, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Have you seen Mutagen in JWildfire program? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mancoast
Apr 2, 2017
Collaborator
I havevt seen it, but I like the name.
Maybe we can call it 'transmutate' button
|
I havevt seen it, but I like the name. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mclarekin
Apr 3, 2017
Collaborator
|
Apohysis also has a mutagen type thing.
I would suggest that Mandelbulber is much more complex for the simplified
approach used in other programs
The working range of a specific parameter is sometimes very dependent on
other parameter settings.
There :
- may have to be a selection of formula related mutagens, constructed from
a working knowledge of the formula specific parameters.
- may require both a Basic and an Advanced option.
I consider it to be low priority at the moment.
…On Mon, Apr 3, 2017 at 9:00 AM, mancoast ***@***.***> wrote:
I havevt seen it, but I like the name.
Maybe we can call it 'transmutate' button
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#278 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMLZHOFbXX5z31E-w0Lz1I84P05_VIa7ks5rsAx9gaJpZM4Mw4qB>
.
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
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.
|
Reference mandelbulb 3D source code: This enables beginners to immediately dive in and make original content. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
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?
|
@buddhi1980 Can we 'pseudo' implement this feature by simply loading a random example, then randomizing the color palette, and randomizing the camera target? |
referenced
this issue
Apr 13, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
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':
- take a random parameter and change by random amount
- 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?
|
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
the heuristics can be managable by the user and may include
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). |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mclarekin
Apr 14, 2017
Collaborator
|
a) I think we would need to make several randomizers. Basic (controlled
limited randomization) to Complex (suitable for an experienced user.)
. basic is UIs that will cover the situations that are most likely to
produce good results. Maybe a few analytical linear and log ones. OpenCL
implementation makes this feasible .
The heuristics control with bad DE may need to take into account the
proportion of fractal surface in the image.
b) There are so many different methods ( to find good settings I use to
test the combinations by making morphing animations )
We can use groupboxes or populate a table like we do for animation table
i.e. add_parameter to the Randomizer UI table,
The user can randomize parameter between either, a coded default max &
min, or user defined.
For a basic UI the choice of transforms would be restricted to ones that
will work well together.
- the most basic is to do a randomization on a single formula's
parameters. This could be done by adding an enable group box , with
parameters set up to randomize between either, coded default max & min,
or user defined. Enable/disable individual parameters to randomize.
- another basic method is a controlled randomization of formulas and
transforms in the slots. This method includes randomizing stop, start,
number of repeat iterations, and weight.
- then we can make much more complex methods, involving multiple slots and
transforms. together with a complex table(, that can also be used as a
mega hybrid table.)
I would suggest trialling some basic methods once we have openCL speed.
c) Apophysis had a 2 way approach.
First you could load a random batch ie 50. These were displayed as a
column of thumbnails. You would look at them at see that maybe only 1
looked interesting. The batch was all randomly constructed from a user
defined preference list of transforms. (An experienced used could get a
better success rate,)
Secondly, you could then mutate the chosen random image. The original
image was in the UI center , and surrounded by 8 different mutated images.
You could then tweak a parameter and see the way that parameter interacted
with the mutations. There were quite a lot of user controls for the two
stage process, however Apophysis is much simpler than Mandelbulber.
…On Fri, Apr 14, 2017 at 9:22 PM, Sebastian Jennen ***@***.***> wrote:
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?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#278 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMLZHBmnkI6HQwQ7vFs39fJplrq8sFb3ks5rvzrugaJpZM4Mw4qB>
.
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
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. |
mancoast
modified the milestones:
2.14,
2.16
May 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mancoast
May 21, 2017
Collaborator
The ability to randomize that enables everyone to instantly create.
|
The ability to randomize that enables everyone to instantly create. |
mancoast commentedApr 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.