|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi there,
I would like to use some digital camouflage in a scene. As it turns out, the
design philosophy behind digital camouflage is very interesting and
sophisticated. According to the Wikipedia entry, "Digital camouflage is a type
of camouflage pattern combining micro- and macro patterns, often with a
pixellated look created with computer assistance. The function is to provide
military camouflage over a range of distances, or equivalently over a range of
scales, in the manner of fractals."
So far I have set up the scene but used a simple random selection of three
colors to create the digital camo grid (which is represented by a 2-dimensional
array where each entry indicates one of the three possible colors). Now it is
time to fine-tune the camo. I don't have any idea how to approach this task!
I have attached a demonstration picture showing what appears to be
professionally produced digital camouflage that I would like to try to emulate
and also my simple version which I generated with POV-Ray. It's very obvious
that the algorithm used to create the "real" camo is far superior to simple
random selection. The difference becomes even more obvious in the
thumbnail-sized images.
So I'm curious if this happens to be of interest to anyone who may want to make
a suggestion, or who may have accomplished something similar to this in the
past. This may be beyond my ability due to my limited math skills but I will
give it a try...
PS - The .jpg version of the sample picture produced a larger file size than the
..png version so I posted the .png.
Post a reply to this message
Attachments:
Download 'camodemo.png' (102 KB)
Preview of image 'camodemo.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
By the way, I posted the POV-Ray source code for this project in the
povray.binaries.scene-files area, in case anyone wants to take a look at it and
possibly try inserting a fractal function in the appropriate location...
Regards,
Dave Blandston
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Hi there,
>
> I would like to use some digital camouflage in a scene. As it turns out, the
> design philosophy behind digital camouflage is very interesting and
> sophisticated. According to the Wikipedia entry, "Digital camouflage is a type
> of camouflage pattern combining micro- and macro patterns, often with a
> pixellated look created with computer assistance. The function is to provide
> military camouflage over a range of distances, or equivalently over a range of
> scales, in the manner of fractals."
>
> So far I have set up the scene but used a simple random selection of three
> colors to create the digital camo grid (which is represented by a 2-dimensional
> array where each entry indicates one of the three possible colors). Now it is
> time to fine-tune the camo. I don't have any idea how to approach this task!
>
> I have attached a demonstration picture showing what appears to be
> professionally produced digital camouflage that I would like to try to emulate
> and also my simple version which I generated with POV-Ray. It's very obvious
> that the algorithm used to create the "real" camo is far superior to simple
> random selection. The difference becomes even more obvious in the
> thumbnail-sized images.
>
> So I'm curious if this happens to be of interest to anyone who may want to make
> a suggestion, or who may have accomplished something similar to this in the
> past. This may be beyond my ability due to my limited math skills but I will
> give it a try...
>
> PS - The .jpg version of the sample picture produced a larger file size than the
> ..png version so I posted the .png.
>
I'd start with a slightly turbulant cells pattern.
Next, overlay it with another similar pattern scalled smaller. That
second pattern should use filtering pigments, or transmiting if you prefer.
Maybe something like this (neutral grey on average) :
#declare ColourBase = color_map{[1/3 rgb 0.1][1/3 rgb 0.5][2/3 rgb
0.5][2/3 rgb 0.9]}
#declare ColourFilter = color_map{[1/3 rgb 0.1 filter 1][1/3 rgb 0.5
filter 1][2/3 rgb 0.5 filter 1][2/3 rgb 1 filter 1]}
#declare Camo = texture{cells color_map ColourBase warp{turbulece 0.3}}
texture{cells warp{turbulece 0.5} color_map ColourFilter scale 1/4}
texture{cells warp{turbulece 0.8} color_map ColourFilter scale 1/10}
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alain <kua### [at] videotronca> wrote:
> I'd start with a slightly turbulant cells pattern.
> Next, overlay it with another similar pattern scalled smaller. That
> second pattern should use filtering pigments, or transmiting if you prefer.
>
> Maybe something like this (neutral grey on average) :
> #declare ColourBase = color_map{[1/3 rgb 0.1][1/3 rgb 0.5][2/3 rgb
> 0.5][2/3 rgb 0.9]}
> #declare ColourFilter = color_map{[1/3 rgb 0.1 filter 1][1/3 rgb 0.5
> filter 1][2/3 rgb 0.5 filter 1][2/3 rgb 1 filter 1]}
>
> #declare Camo = texture{cells color_map ColourBase warp{turbulece 0.3}}
> texture{cells warp{turbulece 0.5} color_map ColourFilter scale 1/4}
> texture{cells warp{turbulece 0.8} color_map ColourFilter scale 1/10}
>
>
> Alain
Thanks for the suggestion! If I used your code correctly (had to make a couple
adjustments) then the results are a very nice traditional-looking camo pattern
(render attached). What I'm attempting is the trendy pixelated "digital" style
camo pattern similar to Marine Pattern (MARPAT) or Universal Camouflage Pattern
(UCP). These patterns are generated using fractal functions in order to maintain
the similar pattern appearance at short and far distances. I find that this is
well beyond my ability! I have been reading about camouflage design and it's
very interesting and scientific, but requires more math skill than I possess.
Regards,
Dave Blandston
Post a reply to this message
Attachments:
Download 'cellcamo.jpg' (123 KB)
Preview of image 'cellcamo.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Alain <kua### [at] videotronca> wrote:
>> I'd start with a slightly turbulant cells pattern.
>> Next, overlay it with another similar pattern scalled smaller. That
>> second pattern should use filtering pigments, or transmiting if you prefer.
>>
>> Maybe something like this (neutral grey on average) :
>> #declare ColourBase = color_map{[1/3 rgb 0.1][1/3 rgb 0.5][2/3 rgb
>> 0.5][2/3 rgb 0.9]}
>> #declare ColourFilter = color_map{[1/3 rgb 0.1 filter 1][1/3 rgb 0.5
>> filter 1][2/3 rgb 0.5 filter 1][2/3 rgb 1 filter 1]}
>>
>> #declare Camo = texture{cells color_map ColourBase warp{turbulece 0.3}}
>> texture{cells warp{turbulece 0.5} color_map ColourFilter scale 1/4}
>> texture{cells warp{turbulece 0.8} color_map ColourFilter scale 1/10}
>>
>>
>> Alain
>
> Thanks for the suggestion! If I used your code correctly (had to make a couple
> adjustments) then the results are a very nice traditional-looking camo pattern
> (render attached). What I'm attempting is the trendy pixelated "digital" style
> camo pattern similar to Marine Pattern (MARPAT) or Universal Camouflage Pattern
> (UCP). These patterns are generated using fractal functions in order to maintain
> the similar pattern appearance at short and far distances. I find that this is
> well beyond my ability! I have been reading about camouflage design and it's
> very interesting and scientific, but requires more math skill than I possess.
>
> Regards,
> Dave Blandston
>
Let see...
First, change the uniform pigments for the checkers pigment :
#declare ColourBase = color_map{[1/3 checkers rgb 0 rgb 0.5][1/3
checkers rgb 0.35 rgb 0.7 scale 0.5][2/3 checkers rgb 0.35 rgb 0.7 scale
0.5][2/3 checkers rgb 0.55 rgb 0.98 scale 0.25]}
#declare ColourFilter = color_map{[1/3 checkers rgb 0 rgb 0.5 filter
1scale 0.4][1/3 checkers rgb 0.35 rgb 0.7 filter 1 scale 0.2][2/3
checkers rgb 0.35 rgb 0.7 filter 1 scale 0.2][2/3 checkers rgb 0.55 rgb
1 filter 1 scale 0.1]}
Next, place the warp{turbulence} blocks BEFORE the pigments so that the
turbulence don't affect them :
#declare Camo = texture{cells warp{turbulece 0.3} color_map ColourBase}
texture{cells warp{turbulece 0.5} color_map ColourFilter scale 1/4}
texture{cells warp{turbulece 0.8} color_map ColourFilter scale 1/16}
This way, the cells pattern get the turbulencs, but, the checkers
pattern should remain undisturbed.
The various scales will make pixels of various sizes.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alain <kua### [at] videotronca> wrote:
> Let see...
> First, change the uniform pigments for the checkers pigment :
> #declare ColourBase = color_map{[1/3 checkers rgb 0 rgb 0.5][1/3
> checkers rgb 0.35 rgb 0.7 scale 0.5][2/3 checkers rgb 0.35 rgb 0.7 scale
> 0.5][2/3 checkers rgb 0.55 rgb 0.98 scale 0.25]}
> #declare ColourFilter = color_map{[1/3 checkers rgb 0 rgb 0.5 filter
> 1scale 0.4][1/3 checkers rgb 0.35 rgb 0.7 filter 1 scale 0.2][2/3
> checkers rgb 0.35 rgb 0.7 filter 1 scale 0.2][2/3 checkers rgb 0.55 rgb
> 1 filter 1 scale 0.1]}
>
> Next, place the warp{turbulence} blocks BEFORE the pigments so that the
> turbulence don't affect them :
>
> #declare Camo = texture{cells warp{turbulece 0.3} color_map ColourBase}
> texture{cells warp{turbulece 0.5} color_map ColourFilter scale 1/4}
> texture{cells warp{turbulece 0.8} color_map ColourFilter scale 1/16}
>
> This way, the cells pattern get the turbulencs, but, the checkers
> pattern should remain undisturbed.
> The various scales will make pixels of various sizes.
>
>
> Alain
Using the checker pigment sounds promising to get the pixelated appearance but
the color_map code generates an error. The POVRay documentation explains "You
may use color_map with any patterns except brick, checker, hexagon, object and
image_map." Darn!
What I'm searching for is a function (fractal in nature) that accepts an (x, y)
location as input and returns a color index value. After researching further it
appears this is a topic of extensive scientific research and effort. It only
_sounds_ simple!
I have decided to cheat by extracting the color index values from a photo of
digital camouflage. This will guarantee accurate reproduction of the camouflage
pattern even though I am unable to do so algorithmically.
Thanks for the suggestions. I have used camouflage in various scenes over the
years and your first camo code is very unique and useful.
Regards,
Dave Blandston
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Dave Blandston" <nomail@nomail> wrote:
> What I'm searching for is a function (fractal in nature) that accepts an (x, y)
> location as input and returns a color index value. After researching further it
> appears this is a topic of extensive scientific research and effort. It only
> _sounds_ simple!
Indeed - I looked up "digital camouflage" and "camouflage algorithm" and got a
lot of hits on Guy Cramer and HyperStealth.
My thought was to use crackle on top of crackle, although maybe what you might
try is using crackle as a base pigment to scan with eval_pigment(), and then
overlay a randomized / turbulent cells or other blocky pattern "on top" of that.
I didn't have time to code anything up, but I'd say it's something that would
need to be iterative, rather than a straight-through one-time function evaluated
based on <x, y>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Bald Eagle" <cre### [at] netscapenet> wrote:
> Indeed - I looked up "digital camouflage" and "camouflage algorithm" and got a
> lot of hits on Guy Cramer and HyperStealth.
>
>
> My thought was to use crackle on top of crackle, although maybe what you might
> try is using crackle as a base pigment to scan with eval_pigment(), and then
> overlay a randomized / turbulent cells or other blocky pattern "on top" of that.
>
> I didn't have time to code anything up, but I'd say it's something that would
> need to be iterative, rather than a straight-through one-time function evaluated
> based on <x, y>
Yes, I believe the function would need to be iterative in order to produce a
fractal pattern. Apparently one of the goals in camouflage design is to create a
pattern that works at a range of distances. You can see that this actually works
by reducing the size of sample images to simulate longer distance. This is a
really interesting concept to me.
I did in fact decide to cheat and use a sample picture. I used the eval_pigment
() function to obtain and reproduce the pattern for my use. I have attached an
image of the final result, which will be a background for a bumper sticker.
Regards,
Dave Blandston
Post a reply to this message
Attachments:
Download 'temp.jpg' (205 KB)
Preview of image 'temp.jpg'
|
|
| |
| |
|
|
|
|
| |