|
|
"Kenneth" <kdw### [at] gmailcom> wrote:
> Success! Random-colored hexagons. I didn't have to use the 'brick' pattern, just
> cells.
Pretty damned impressive, my friend. :)
"Whenever possible, let POV-Ray do the heavy lifting."
Very nice work applying the [warped] cells pattern.
> So the distance between opposite POINTS or vertices is 2.0 units, and the
> distance between opposite EDGES is 2*sin(60), or 2*.8660254 units. The cells
> patterns are scaled and translated so that they fully overlap each full hexagon
> (but the overlaps aren't seen.)
Excellent. I wouldn't have guessed that the squares would work well with the
hexagons, but --- lookitthat!
> The links that Bald Eagle provided were quite helpful with the hexagon math
> details. (Thanks!)
Any time. You've managed to get a good grasp on intertwining pigment patterns,
and I'd like to make a few suggestions for improvement so that it's usable for
experienced and new users alike.
> Instead of fully random colors, the pigment_maps could have 4 or 7 or however
> many 'segregated' colors, which was the original idea.
1. Declare this as a standalone texture for use in an include file.
That way perhaps we can start a NewPatterns_v1.inc or something.
#declare FullHexagon = texture {....}
and obviously remove the finish {} block so that it can be applied by the
end-user.
2. Just a little nitpicky kinda thing: .8660254 is a "magic number" - it has no
meaning to someone looking at the code itself [and it has no leading zero
:( ]. #declare Edge2Edge = 2 * sin (60); and then use that in your code.
Better still, since that still leaves out the implies "unit length of a side",
make it
#declare SideLength = 1;
#declare Edge2Edge = 2 * SideLength * sin (60);
and then scale <3, 1, (3 * Edge2Edge)>
Maybe include a way to specify dimensions based on different metrics: edge to
edge, point to point, etc.
3. I, and likely anyone else who'd like to use this (OP), would probably enjoy a
simple mechanism by which to specify between 1 and N colors for the hexagons. I
haven't dabbled with the code yet, but having a few easily understood #declares
that parameterize the pattern would make it a lot easier.
I'm trying to get my car repaired - AGAIN - and so I'm gonna be AFK for a while.
If there's a way to tie in the numeric pattern that I applied to crackle{} and
wood{}, that would help the use choose/modify the color pattern without a lot of
guessing.
.... and I see an obvious tie-in with the recently posted solution to the digital
camo! :D
4. Having just the outlines of the hexagons - a hexagonal grid (perhaps with
boxed{} or another pattern with a gradient or something? would be an obvious
extension of this. Obviously some pattern would give hexagons with "holes"
rather than clean lines, but it's grid-like nonetheless.
Once again - super work, and super FAST! :O
Post a reply to this message
|
|