Trap Shape as Texture
From Ultrafractal Wiki
also see Texture - mt5.ucl, Monniers SFBM II Texture
Yvonne asked:
There are still a lot of things I don't understand in the generic colouring. For instance why shapes can also be used as texturing when they're obviously not. But maybe that's the way these PlugIns are written?
***
This is an excellent question. Let me give some background...
- Mathematically, a trap shape and a texture do the same thing. The code using them (the "calling code") provides a complex number, and the trap shape/texture give back a single (real, not complex) value. The only difference is how that number is interpreted. For a trap shape, the value is the "distance" to the trap. For a texture, it is a texture value. The difference isn't in the trap shape/texture class itself, it's entirely in how the "calling code" uses it.
- While the common.ulb framework was being developed, we debated this exact point, arguing the merits of making textures and trap shapes two different kinds of things. Good arguments were made for both cases. In the end, we opted to make them the same kind of object so that mixing and matching can be done.
- It does indeed seem like it would be nonsensical to use a Trap Shape as a texture, but let me offer some suggestions as to why it is nice to be able to do so.
- It works the other way, too; you can use textures as trap shapes. In fact, the older Orbit Traps does this with the fBm "trap shape."
- Although most trap shapes don't look very interesting when applied as textures by themselves, because textures are TrapShape objects, you can replace the texture with a TrapShape Block, and then use Trap Tiling to make an ordinary Trap Shape repeat. Now you have a geometric texture using any trap shape you want.
- You can replace the texture Trap Shape with a TrapShape Merge and mix geometric textures from (b) with more familiar textures.
Part of the challenge to learning to use UF5 effectively is that before you had the "kitchen sink" approach: everything was already in place, you only had to find the right knob and twist it. UF5 is more of a "tinker toys" approach: you have a big collection of little pieces that can fit together in countless ways, but you don't get pre-assembled pieces--you have to figure out how they go together.
That's what Ron's challenges aim to address.
Where does texture end, and where does shape start? In other words, is this still a texture one? I shall try to make a second, more texture like.
Ed
***
Ed, set the texture amount to zero on both layers and you will see the trap shape. Texture should add patterns to the shape without altering the essence of the shape. Of course, if your intent is to alter the shape with your texturing, that is a different matter, and artistically that may sometimes be the right thing to do. For this challenge, however, I want the submitters to try to control the texturing so that it doesn't substantially change the shape.
Ron Barnett
***
Ed,
Some more comments on your challenge image, and this may be useful for everyone. The two textures you chose normally require size adjustments using Trap Position, and you didn't do any size adjustments, so consequently you didn't get much texture even with a texture amount of 0.4. Also, as I mentioned in the tutorial, some textures don't blend all that well, so some changes to Trap Transfer may also be needed. Take a look at the last example in the tutorial.
I made some modifications to your submission as an example for everyone to look at. Note that the texture amount is now 0.005, and yet there is considerably more texture on the image (probably too much). I didn't do much to try too optimize the appearance, so these changes are for illustrations only, and not for their artistic? content :-}.
REB_Challenge4-ea+REB {
::lsqrfgn2t35SvNOOSc87BIfHE81FtjEpoeMD0hp7dwAMY7ZHMTweaBCUspj1GZJNSyd68tfo
ok8jOR2SiV1HWUHCgtErivJ/VMG8/my4V1xp/wt3YZVnUnKjW8H/8Hf4TbjTTlZPJd/gM+fo
eyCrXSWXvNyz12arM5pt1RCHmVa8ryyqIWj5rKlrTqrUOIPz6jxlZy66f0x+O2dMb7gf8nXb
9TpPVGfyjONhh3xVP//24I1rWc7NaXrLXriLqTyziW8vaekFfhVeR8qk6Xjcstt2JLfSuLft
Mabc560mi2t3sLuoIJ7pWzlZ1yyoPYv02NI03z2xm76IuzeJnxFuCOnp+q1u4nyiYslchwL0
KO7JVbxH88WqMgf7NbyL3tPNW7wdxfNpxjqc32qQWuarc1zR5b2YtJR1oFvT1IWKfc5+N7WY
py8yXjW8r7TTi/YcSa++6FNOp4hvoa5aqWOLVe5haZVdkqao+4jtJT7/mXV4EpKrcHWTZ22l
7Lu9mksqk1y2uty4sqNqyTWem82bUWe4VrlqkpanYHTU1fVWfS58PrjzWra3WufVquc1Ve/F
ZmsMZ1vUGvOR9oPlnmXqaQ7K6r6+6nSjrUd4r39/EL3n+4P8P/8v+w/u8xk67LjLqukRL/yD
P1mF6Ox3+2+v386Bsvrsd9UqKfPk3UsqbKWXL9beQnMZqcV93U3aqW/p+FLumlnXBHbqjrzL
HZ6bqUnUQHjRF6vomZ3M8NuZOlqzT9VrjffxIdSVdcZd0YzyupLj13PnUM+UnmnrS9Pze30X
cS6r3WKr2mnuWNbSMszbnpomuHtYV+ud5Z6e/me+77fziRY9Y7/P1gjZ9oNZflscGmdeFdkm
12Y2tcq9dT2md5fRWpWla82tuMZT90yqqVxqFudGvBl516h+R2T3mqaZxUsr6Z5LTN9TNPir
K0rHchpPbjL63iSN0uZ/e9CbNP+eVLeeay+LNGXb/oXfrLxHzYHbnJk86+C0YsrQ/xoXlVXL
lrTqqrftpZ4nesyqW1fme1acsahDnLmiKFCxlGf35nHr+Sc6ImIomm9+rBJLXcdbn2KQ60fI
bngBFT0IFPTpMe9anoRn6ROn+EnzGpz3sPbleyfaSmMucc5QuazvJU+VJfSVgW3P2agaw0FH
JpJjfLFznVP+Tp5VKqzFX24xOMqLtHyzpk4XSq3ec75xYZP9TzXX1WPGyO1yiH35/deraL0K
1KMrv8ES5Xr3XKfz8R9imfuJEkFX14RPh8QyH5imvjB6oiGnVFPcMEqdJZJ72vb0GVlvvclM
S1oUsvWueM219pZYpqL8F5uCV8MjonqfH0mGDHVwOPqmAex9F6t7kVqde/u7PmmvSHo6zLmg
vmav/3Y7EHKMk1PqK7PPDXMIbsuhYKAyjw7Hbq0efGtXDyWrd4VReHnL7Yv1ucUk0jukWAub
Pwhrd71B4nlPHBg/49ri9X73rGAw4dpab42hryolmOD4YkAaXe9QImpPvK+/Eq+PL1+9Fo9H
glRV0LafelQYugH7iuZXteR7Pf/D/e7k+iV5lZ33a3i57ZjWGfwQiaP3Tn56r4I+S77U/ZQ5
ZrK6GbhBOYX8Xf4wBJprQVRcrNzzZbyciqSy2qXBYuugFVHnZkH4NFCj8gbfZYmTNOLGQdr6
4DE86++kRzafb2GNnFDJEbdfWMmtDpuegmjwpHjBtdiHAeTHiXXdGmCHDoCXfMutFu08nMu4
1FAcrDthwdNtetr7DQrXXA0AV8uWA2vT8GsZGvBDw4NYGsRFzo4NYmHvBD14NYQHvBD+4NY4
EvBDn4NYIEvBDp4NYwHvBbExb4AiHNJcDGShbwAOcDGChbwAPcD2Qhb852+8S1GAzKaDGQRb
wua0GG4uXi/SzPegkMpFzkqnqXYf5j7TlZrkt4On1SCUj4p5ySduAVz675ZT258y+GjW9WPf
W/wJdB/n8y8s8EU6DO7J41h8NZDe9On9E9pp/py4VPnKRMXa+3juq9nfFO5QS2XUQHTnkdK5
hCZPuWtde2ZnajsMNJ73yTqk4P67QJ4714wTzwvTjIPml5rqjbAn8/ekZFN/K3U7Y3swS3v7
mNInlNndUyaZW93j6XlUuOyhxdFe+YucSVdSqqPTg5oSVu0+fqWgXe00e5EJcCEchvDu5DLK
w2n54DdHzmS5ftX9gXv4vStZ564d57zqN1vnUAbZ9mvrMrAhxZYyA+MMZQfGmMMODTGonhJD
2zwkB6ZYyu2ZYK/ahxFPDODTGwnhJD2zwkByZYy7ODzJe6KcAPCTuB0YcjAr4mfEmcUPCTO0
HhJH+jwkjzRYyx5IM5IcEmckOCTO8HhJ/6HhpDIO0kTwkj0JYyB+EM5IcCmcwPBT+5ng5pLb
3Olvbt7fPPJrex8dtRriD6ZYOo7KaXkLJr2w1NePS3fbfa68Id5AT6yhm09dcYmq2+GS3xjd
4OPsDXAxOcNYArrRYHumjd4iK2hL0YHuwjd4iD2hLOYHuIgd4iE2hL8YHuQjd4iA2hLSYHuA
jd4iA2hL4YHu4hd4CE2hLsYHuIgd4iI2hLwYHuQjd4CO2hYeYHCAxOEGMgVYE2hwcsDBqYHC
oxOEwjdIwB7QgD2hABsDBSYHC4xOEQjdIQA7QgE2hAYsDBCYHCwxOE4hdIAC7QAL2hABsDBi
YHCgxOEQjdIAH7wbeYHeAid4ZwAWPjwO8MH7wDVsDPoxO8gH7wDHsDPcwO8QA7wDJsDP4xO8
gG7wDBsDPkwO8AG7wDBsDPwxO8wD7wDIsDPYxO8QA7wDRsDPgxO8gG7wDcsD/5hd4DI2hvBD
Y9NC7w3csDfUxO8hG7wHesDfcwO8xB7wHBsDfkwO8hH7wHasDfEwO8RC7wHYsDfEwO8BH7wH
PsDfgwO8hF7wHBsDfExO8BG7wHasDfwxOCmH2RAgYHBGMgNwIsjAzxOCQF7IAasjA4xOCwB7
IAHsjAEwOCQC7IAesjAoxOCQA7IAJsjAgxOCQA7IAcsjA8wOCAC7IAWsjAEwOCQE7IAYsjAo
xOCAH7IceYHhAidEawA2QjwOCNH7IEVsjQoxOChH7IEHsjQcwOCRA7IEJsjQ4xOChG7IEBsj
QkwOCBG7IEBsjQwxOCxD7IEIsjQYxOCRA7IERsjQgxOChG7IEcsDH75xd4YPI4huksaS3642
mcf1ab29OuNAX842DCfobM2b4NPu9g0Htt1zpNbI8DtHn1t5t9g8HtbWM3bJc7BBQg2v90Ct
cNz66HfEOde3/42Dyg0uU6cuAytHECptldyQID6xy2VFqn1FQ+oc6cudvHs+/c7W8vAuDhsU
GX1ebsMjLhc7BRR0u8eDQRO33ntu+cuogtHkIpbHZHg8XLVX+cQS+meoTZS6D9c+MJvx5GL7
E2DSl0ihCiH7wS6jQcAskD6sSzNJyxNPf/1GPKKL1lysnq1XF8X6ug/gEK+WhFqX0H/D5FVU
r+nNW8kTS/ZFgxaUveB1/oSVxbkGX8w+sDtgyWZCqX7JbFYU1QS1nrauaG3VkKtUv9V9dpjV
f6WuwqaXeuql9VZl1BJn7DtqWYS2a5XVlGhlOTjc5c3gA3+nLC7eujjtrw3t/FMuXb2rfnyE
fWoT3748ejcF8QfH/un/B/uHHyCDcE+3eTnWqqrJdlxs8uUbfQpVZCxFkkV2ZSyKJ/qk8rSy
vKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvK
J/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/
qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk
8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8r
SyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSyvKJ/qk8rSy
vKJ/qk8rSyvKJ/q/fg8r2LWquBnojqMuXo9RxXl709iAXmjw+wzDdOIkqOO2nqjrcWQvv889
9VWNJRW9v554wGI=
}
Hi,
Not relevant for the challenge but just as a point to note - "MMF Smooth Orbit Traps (Gradient)" in mmf.ulb is basically the same as Damien's Orbit Trap formula except with some extras such as allowing trap types that need smoothing.
The reason I mention this is that Smooth Orbit Traps also has an extra option for the trap texturing - there's a parameter that gives you the option of having the texture calculated purely from the location rather than from the trap values - giving texturing similar to using a separate layer of a pixel formula and a texture colouring (except for the caveat that it will still tend to deform the trap shape).
bye Dave
Hi Ron,
Initially, my confusion *and frustration* came from having too many instances of the same term ie. "shape trap" and not realizing which "trap shape" you wanted to become the "Trap Block Merge." After I read your note saying how Trap Block Merge wrapped around other settings that included trap shape I realized that I wouldn't select Trap Block Merge each time I found "Trap Shape."
It looks like there are at least three different uses for "trap shape." Perhaps if all these "trap shapes" refer to the same thing, rather than having their use indicated by indentation and vertical lines, it would be easier (for the user) to change the interface window so that the separate aspects of the formula were separated in boxes with headings such as "Overall Shape," "Overall Texture," Optional Parameters 1, Optional Parameters 2, etc. (I'm not sure what the best headings would be since I don't fully grasp what they are for.)
Using boxes rather than indentations would also mean that terms would not have to be truncated which is disconcerting even though a mouseover shows what they are. I would also like to see a way to reset the default settings on the Generic Coloring (Gradient).
This new system provides an excellent way for formula writers to work together, but with the current user interface, it seems far more complex. I really hope the interface on the generic coloring formulas can be adjusted for easier use. Maybe there could be basic and expert views as there are for other formulas. *For me*, having so many more setting choices, also makes it more difficult because so many change the image drastically and unpredictably. Although I will work on this, I suspect the older coloring formulas will continue to be much more pleasant to use.
Diane
***
Hi Diane,
Trap shapes have more than one use, which is determined by the user, not by the programmer, so there is no way beforehand to know how it is going to be used or what parameters are going to be changed.
Concerning resetting a class/object or formula, If it is at the top level, e.g. a ucl like Generic Coloring (gradient) you reset the parameters just like you did with UF4 - click the little triangle on the properties tag and click "reset parameters". If you do this on Generic Coloring (gradient), its default settings use "Smooth (Mandelbrot) for coloring rather that Orbit Traps, so you probably don't want to reset it for this challenge. If you want to reset the parameters for Orbit Traps Gradient back to their defaults right click the browse button next to Orbit Traps Gradient and you will see an option for resetting the parameters. This same option is available for any of the browse buttons next to a plug-in.
Ron
