|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
OK ... I've finally got some sunshine so I'm going to go soak up some
rays, but as Stephen pointed out the tiling doc section could use some help.
Here's the deal I'll work on the narrative but I'd like some one to come
up with a scene file that would make experimentation a bit more user
friendly.
From the current doc passage I came up with this crude example (applied
to a ground plane) using obvious colors to better illustrate what's
going on.
#declare TilingPattern = 22;
#declare TileTypes = 3;
texture {
pigment {
tiling TilingPattern
color_map {
[0/TileTypes Red]
[0.75/TileTypes Red]
[0.75/TileTypes White]
[1/TileTypes White]
[1/TileTypes Green]
[1.75/TileTypes Green]
[1.75/TileTypes Yellow]
[2/TileTypes Yellow]
[2/TileTypes Blue]
[2.75/TileTypes Blue]
[2.75/TileTypes Black]
[3/TileTypes Black]
}
}
}
I'd like something that would allow just changing the Pattern/Type
values and have the color_map automatically generated.
Any ideas? If someone would like to take this on speak up so we don't
end up stepping on each other toes.
Oh yeah, whoever steps up to do this I'd need your permission (as per
new license) to include your work in the distribution.
Jim
Post a reply to this message
Attachments:
Download 'work.png' (114 KB)
Preview of image 'work.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jim Holsenback <jho### [at] povrayorg> wrote:
> OK ... I've finally got some sunshine so I'm going to go soak up some
> rays, but as Stephen pointed out the tiling doc section could use some help.
>
> Here's the deal I'll work on the narrative but I'd like some one to come
> up with a scene file that would make experimentation a bit more user
> friendly.
>
> From the current doc passage I came up with this crude example (applied
> to a ground plane) using obvious colors to better illustrate what's
> going on.
>
> #declare TilingPattern = 22;
> #declare TileTypes = 3;
>
> texture {
> pigment {
> tiling TilingPattern
> color_map {
> [0/TileTypes Red]
> [0.75/TileTypes Red]
> [0.75/TileTypes White]
> [1/TileTypes White]
> [1/TileTypes Green]
> [1.75/TileTypes Green]
> [1.75/TileTypes Yellow]
> [2/TileTypes Yellow]
> [2/TileTypes Blue]
> [2.75/TileTypes Blue]
> [2.75/TileTypes Black]
> [3/TileTypes Black]
> }
> }
> }
>
> I'd like something that would allow just changing the Pattern/Type
> values and have the color_map automatically generated.
>
> Any ideas? If someone would like to take this on speak up so we don't
> end up stepping on each other toes.
>
> Oh yeah, whoever steps up to do this I'd need your permission (as per
> new license) to include your work in the distribution.
>
> Jim
Jim, I haven't tried it on all the pattern types, but how about something like
this:
#declare TilingPattern = 22;
#declare TileTypes = 3;
#declare Grout = 0.85;
plane { y, -3
texture {
pigment {
tiling TilingPattern
#local clr =
array[TileTypes*2] {Red, White, Green, Yellow, Blue, Black}
#local nClr = -1;
#local n = 0;
color_map {
#while (n < TileTypes)
#local nClr = nClr + 1;
[n/TileTypes clr[nClr]]
[(n+Grout)/TileTypes clr[nClr]]
#local nClr = nClr + 1;
[(n+Grout)/TileTypes clr[nClr]]
#local n = n + 1;
[n/TileTypes clr[nClr]]
#end
}
}
}
}
Cheers,
Rob
-------------------------------------------------
www.McGregorFineArt.com
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 04/03/2011 17:54, Robert McGregor nous fit lire :
> Jim Holsenback <jho### [at] povrayorg> wrote:
>> OK ... I've finally got some sunshine so I'm going to go soak up some
>> rays, but as Stephen pointed out the tiling doc section could use some help.
>>
>> Here's the deal I'll work on the narrative but I'd like some one to come
>> up with a scene file that would make experimentation a bit more user
>> friendly.
Does it have to be short or not ?
Attached is source from the current doc illustration.
Feel free about it.
>>
>> From the current doc passage I came up with this crude example (applied
>> to a ground plane) using obvious colors to better illustrate what's
>> going on.
I'm afraid to be no better.
>>
>> #declare TilingPattern = 22;
>> #declare TileTypes = 3;
#declare Co1 = rgb <0.25,0.75,0.25> ;
#declare Co2 = rgb <0.75,0.75,0.25> ;
#declare Co3 = rgb <0.25,0.75,0.75> ;
#declare Co4 = rgb <0.25,0.25,0.75> ;
#declare Co5 = rgb <0.75,0.25,0.25> ;
#declare Co6 = rgb <0.75,0.25,0.75> ;
#declare ii=TilingPattern; // colour rotation
#declare num=TileTypes;
#declare Co=array[6]{Co1,Co2,Co3,Co4,Co5,Co6};
pigment_map {
#local i=0;
#while(i<num)
[i/num Co[mod(i+ii,6)]]
[(2*i+1)/(2*num)-0.1/num Co[mod(i+ii,6)]]
[(2*i+1)/(2*num)-0.1/num rgb<1,1,1>-Co[mod(i+ii,6)]]
[(2*i+1)/(2*num)+0.1/num rgb<1,1,1>-Co[mod(i+ii,6)]]
[(2*i+1)/(2*num)+0.1/num Co[mod(i+ii,6)]]
[(i+1)/num-0.1/num Co[mod(i+ii,6)]/2]
[(i+1)/num-0.1/num Black]
[(i+1)/num Black]
#local i=i+1;
#end
}
Post a reply to this message
Attachments:
Download 'tiling.pov.txt' (3 KB)
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 03/04/2011 12:54 PM, Robert McGregor wrote:
>
> Jim, I haven't tried it on all the pattern types, but how about something like
> this:
Rob .. thanks for getting the ball rolling, I had a reply all crafted
then I noticed that Le_Forgeron (he added the feature) has posted a code
fragment that I think what I'm going to do is include that frag in a
pre-formatted text block rather than go the scene file route.
Again thanks everyone for pitching in to help make the docs better, I'll
try to get those changes posted soon so they make it into the release.
Jim
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jim Holsenback <jho### [at] povrayorg> wrote:
> Here's the deal I'll work on the narrative but I'd like some one to come
> up with a scene file that would make experimentation a bit more user
> friendly.
....
> I'd like something that would allow just changing the Pattern/Type
> values and have the color_map automatically generated.
Hey Jim, here's my take on it.
It reproduces the example you posted, and is flexible enough for all tile types.
Some of the extra options might be removed to shorten the code...
// Code
#include "colors.inc"
#include "math.inc"
#declare TilingPattern = 22;
#declare TileTypes = 3;
// for seeing how many colors we need
#declare ColorMap = on;
// make final color black, probably not needed
#declare BlackAtTileType = true;
#declare ColorArray =
array[10]{
Red, White,
Green, Yellow,
Blue, Cyan,
IndianRed, Pink,
DarkGreen, Turquoise
}
plane{y,0
texture{
pigment{
tiling TilingPattern
#if(ColorMap)
color_map{
#declare V=0;
#declare V2 = 0;
#while(V<TileTypes*2)
#if(mod(V,TileTypes*2) = TileTypes*2-1 & BlackAtTileType)
#declare ThisColor = rgb<0,0,0>;
#else
#declare ThisColor =
ColorArray[mod(V,dimension_size(ColorArray,1))];
#end
#declare incre = 0.75*even(V)+0.25*odd(V);
[ V2/TileTypes ThisColor]
[ (V2+incre)/TileTypes ThisColor]
#declare V = V + 1;
#declare V2 = V2 + incre;
#end
}
#end
}
}
}
// ~Code
It's a little messy, but it works. I think I captured the spirit of what you
were looking for...
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi again,
Here's some updated code.
The color_map viewing switch has been removed, since the image in the
documentation tells everything we need to know. I also added the ability
to specify the caulk color, how often it should be displayed, and what
size to make it. In addition to these changes, there are two new entries
in the color array, giving us a total of six color combos.
An extra array for referencing the pattern types /could/ be added to
make the TileTypes variable obsolete, but it would lengthen the code.
// Code
#include "colors.inc"
#include "math.inc"
#declare TilingPattern = 5;
#declare TileTypes = 3;
// 0 = caulk off
// 1 = caulk at every color
// TileTypes = caulk at n TileTypes
#declare CaulkAt = 1;
#declare CaulkSize = 0.2;
#declare CaulkColor = White;
#declare ColorArray =
array[12]{
Red, White,
Green, Yellow,
Blue, Cyan,
IndianRed, Pink,
DarkGreen, Turquoise
Violet, BlueViolet
}
plane{y,0
texture{
pigment{
tiling TilingPattern
color_map{
#declare V=0;
#declare V2 = 0;
#while(V<TileTypes*2)
#if(mod(V,CaulkAt*2) = CaulkAt*2-1 & CaulkAt!=0)
#declare ThisColor = rgb<0,0,0>;
#else
#declare ThisColor =
ColorArray[mod(V,dimension_size(ColorArray,1))];
#end
#declare incre = (1.0-CaulkSize)*even(V)+CaulkSize*odd(V);
[ V2/TileTypes ThisColor]
[ (V2+incre)/TileTypes ThisColor]
#declare V = V + 1;
#declare V2 = V2 + incre;
#end
}
}
}
}
// ~Code
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
It looks like you've already got your winning entry, but it was a fun
exercise anyway :)
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 03/04/2011 04:38 PM, stbenge wrote:
> It looks like you've already got your winning entry, but it was a fun
> exercise anyway :)
>
> Sam
>
ha-ha .. you gotta be pretty darn quick around here ... eh? When I
issued the challenge I do believe I heard the faint clicking of
keyboards in the distance. I'll explore your contribution ... maybe
there's a scene file in this after all
Cheers
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 3/4/2011 12:33 PM, stbenge wrote:
> An extra array for referencing the pattern types /could/ be added to
> make the TileTypes variable obsolete, but it would lengthen the code.
This snippit probably won't make it in, but it might make your scene
file easier to use. Here's what it would look like:
// Code
#declare TilingPattern = 17;
#declare TileReference =
array[24]{
1, 1, 2,
1, 3, 2,
2, 3, 3,
1, 3, 3,
3, 5, 2,
3, 6, 2,
3, 3, 6,
3, 3, 5
}
// automatically get the value for TileTypes
#declare TileTypes = TileReference[TilingPattern-1];
// ~Code
It's not compatible with my other code, but it could be with a couple of
small alterations...
Also, you might want to clip TilingPattern:
#declare TilingPattern = clip(TilingPattern,1,24);
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 3/4/2011 12:54 PM, Jim Holsenback wrote:
> On 03/04/2011 04:38 PM, stbenge wrote:
>> It looks like you've already got your winning entry, but it was a fun
>> exercise anyway :)
>>
> ha-ha .. you gotta be pretty darn quick around here ... eh? When I
> issued the challenge I do believe I heard the faint clicking of
> keyboards in the distance.
Not my keyboard... I didn't even see this thread until it was already
too late. And even then, I didn't read the replies until I was finishing
up my code... Oh well :/
> I'll explore your contribution ... maybe
> there's a scene file in this after all
>
> Cheers
Perhaps. At any rate, I needed the practice!
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|