Parametric Curves trap shape plug-in

1 view
Skip to first unread message

Morgen

unread,
Jun 6, 2009, 8:16:52 PM6/6/09
to UFBeta
Hello there,

I've just uploaded mhb-test.ulb to the files section of the group, and
would love it if anybody wanted to try using it. This is my first
attempt at making a trap plug-in, and I really don't have much idea
what I'm doing, but so far it seems to be working.

Parametric Curves started life as a coloring method, but with the new
plug-in system in UF5, it made much more sense to turn it into a trap
shape instead. It has some similarities to a couple of existing
coloring methods, but I'm hoping that it's different enough to be a
useful addition.

The basic idea is that it uses lissajous and roulette curves as orbit
traps. It can either generate a series of points, or can join the
points with line segments to make a continuous curve. Small numbers of
dots, when joined, will make angled lines; larger numbers of points
can produce a smooth-looking curve, but will slow down the
calculation. I've also gotten some nice texture effects by using
reducing the number of points to make clouds of fairy-dust,
starfields, etc.

Any feedback would be welcome. Does it have a useful number of
options? If I wrote an official help file, what questions would need
to be answered? Do any combinations of settings/values do something
weird that needs to be fixed?

Thanks!
Morgen

Ron Barnett

unread,
Jun 8, 2009, 8:32:32 PM6/8/09
to UFB...@googlegroups.com
Cool trap shape!
 
I do have a suggestion. To see the glory of the trap shape I usually need to decrease the Trap Threshold to some very small value, such as 0.001, from the default 0.25. I would recommend adding a parameter to control the size of the lines/dots independent of the trap threshold. One way to do this is shown in the following code snippets:
 
...
    r = (sqrt(r) * cabs(c2 - c1))*@size
    if ( r < rmin )
     rmin = r
    endif
...
 
and
 
...
    r = ((x[i] - real(pz)) * (x[i] - real(pz)) + (y[i] - imag(pz)) * (y[i] - imag(pz)))*@size
    if ( r < rmin )
     rmin = r
    endif
...
 
A default value for size of 50-100 seems t work fairly well. 

--
Ron Barnett
fracta...@gmail.com
http://hiddendimension.com
If life is a bowl of cherries why do I always get the pits?
^^^^^^^^^^^^^^^^^^^^^^^^

Morgen

unread,
Jun 9, 2009, 4:43:49 PM6/9/09
to UFBeta
Thanks for having a look!

Hm, I seem to remember that one of my earlier versions of the coloring
had a "Thickness" parameter. Can't remember now why I removed it, but
I'll put it back in.

Morgen

Morgen

unread,
Jun 9, 2009, 4:50:40 PM6/9/09
to UFBeta
Ok, the version with the thickness parameter has been uploaded.

Ron Barnett

unread,
Jun 9, 2009, 10:49:48 PM6/9/09
to UFB...@googlegroups.com
Here is an image using the new version.


On Tue, Jun 9, 2009 at 4:50 PM, Morgen <locus.o...@gmail.com> wrote:

Ok, the version with the thickness parameter has been uploaded.



CycloidWhimsy.jpg

Morgen Bell

unread,
Jun 10, 2009, 1:41:43 AM6/10/09
to UFB...@googlegroups.com
Hooray, it looks like it's working!

I also tried making some changes to my older non-object-oriented version
of the coloring, so that it would work like the plug-in, and have
uploaded it in mhb-test.ufm. It's slower, but has a couple of things
that I haven't been able to figure out how to implement using the new
system. The option called "angle to points" is the main difficulty; with
the plug-in, I don't know how to pass the right piece of information to
any of the existing angle-based coloring methods. However, if I've got
things working properly, it can be used on its own layer, given the same
parameter values as the plug-in, and everything should line up.

It can also be used by anyone who doesn't have UF5.

I've attached an image that uses both versions of the coloring.

prettybeads.jpg
Reply all
Reply to author
Forward
0 new messages