|
|
Greetings to all.
With all the ongoing talk on requested new features in POV 3.5 , I
thought I could share my ideas, too. I am starting a new thread as
this is OT from the "POV 3.5 Ideas" thread started May 27 by Chris
Huff.
The first request I have is for a new pattern types. It should work in
a way similar to crackle, but the user should be able to explicitly
position the centers of attraction. These points must lie within the
unit cube and this 3D pattern will be tiled in 3D to fill up the whole
space. For example, if you specify these points:
<0,0,0>, <0.5,0.5,0.5>
you should get a pattern similar to a body-centered cubic crystal
lattice (like that of Fe, iron). These:
<0,0,0>, <0.5,0.5,0>, <0.5,0,0.5>, <0,0.5,0.5>
should give a face-centered cubic lattice.
If you take a look at my Biofractal picture I posted a couple of weeks
ago, you will see a rather weird application of the crackle pattern.
There's media inside the julia fractal with a crackle density, the
color map of which has a very slim opaque band from 0 to 0.05 and the
rest is clear. You can clearly notice the crackle pattern "lattice".
It can sometimes be useful to have this done in a non-random,
user-specified way, for example in modeling crystalline structures.
This pattern should have a 2D version, too. It should consist of
"prisms" that extend parallel to one of the coordinate axes, say z,
just like wood, marble, image_map are actually 2D patterns extended
along the z axis.
I suggest the names lattice3 and lattice2 respectively. I can also
suggest syntax, but I want to see if this idea will get anywhere at
all.
The next request I have is for a new warp type - the "twist" or
"twirl" or "whirlpool" warp. Basically, it will create a local
whirlpool effect on a pattern. The center of the whirlpool should be
specified by the user, as well as an optional repeat vector and
turbulence, as in the black_hole warp. Next the vector normal to the
plane of "whirling" should be specified. The maximum angle of
displacement (when distance to the whirlpool center approaches zero)
should be specified, too. The radius of influence, identical to that
of the black_hole warp, should be specified, as well as the strength
falloff function. A pseudo-code formula is provided below:
distance = vlen (currentPoint-whirlCenter);
if ( distance <= whirlRadius )
realPatternValue = getPatternValue ( vaxisrotate (currentPoint -
whirlCenter, whirlNormalVector, whirlMaxAngle * falloffFunction (
distance ) ) + whirlCenter );
If this is unclear (it is messy for sure), please feel free to ask me.
The last (for now) request I have is for a new pattern modifier. It
should specify the falloff function of any property that falls off
with distance. This light intensity throughout the cross-section of a
spotlight or cylindrical light, black_hole strength falloff, light
falloff, light attenuation by distance or media and fog, rainbow
falloff angle, and any others that I can't think of from the top of my
head.
Any continuous function should be a valid falloff function. In halos
we had linear, cubic and poly, but sin, cos, exp, log, pow and others
should be allowed, too. Some functions may require additional
modifiers, such as log base or sine frequency multiplier and phase.
Any number of falloff function modifiers could be used, the final
result being the product of the individual results of all of them.
I think there are many possible uses for this modifier. For example, a
radial pattern with a twist warp and falloff functions sin and linear
will result in something looking like a Mayan sun. Or, if two point
light sources use sine functions for their distance falloff, we can
observe an interference pattern on a screen. The artistic applications
of this may exceed the scientific and/or photorealistic ones, but art
is a major application of POV (as well as having fun :) )
As usual, any suggestions, comments, criticism etc. are welcome.
Best regards to all.
Peter Popov
ICQ: 15002700
Post a reply to this message
|
|