Trap Shape as Texture

From Ultrafractal Wiki

Jump to: navigation, search

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...


  1. 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.
  2. 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.
  3. 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.
    1. 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."
    2. 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.
    3. 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.

Damien Jones


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

Personal tools