POV-Ray : Newsgroups : povray.binaries.images : Tessellations Server Time
2 Aug 2024 00:19:08 EDT (-0400)
  Tessellations (Message 5 to 14 of 14)  
<<< Previous 4 Messages Goto Initial 10 Messages
From: alphaQuad
Subject: Re: Tessellations
Date: 18 Mar 2008 14:35:01
Message: <web.47e018b754e7baaebc412700@news.povray.org>
Christian Froeschlin <chr### [at] chrfrde> wrote:
> Russell Towle wrote:
>
>      pigment {color rgb <mod(i,3)/3, mod(i,5)/5, mod(i,7)/7>}


I have seen something like that before and it is the darker method

tex(<T[i].x,T[i].y,T[i].z,.9,.1>)


the brighter (not as dark) method would be:
#declare S1 = seed (2341);
#declare S2 = seed (5521);
#declare S3 = seed (134515);
tex(<rand(S3),rand(S2),rand(S1),.9,.1>)



in this image the random method is:

#declare T[i]=<mod(i,3)/3, mod(i,5)/5, mod(i,7)/7>;
tex(<T[i].x,T[i].y,T[i].z,.9,.1>)

as suggested; darker;


Post a reply to this message


Attachments:
Download 'spheroid_dome10.jpg' (66 KB)

Preview of image 'spheroid_dome10.jpg'
spheroid_dome10.jpg


 

From: Russell Towle
Subject: Re: Tessellations
Date: 18 Mar 2008 15:25:00
Message: <web.47e0245a54e7baae5114880a0@news.povray.org>
Christian Froeschlin <chr### [at] chrfrde> wrote:
> Of course getting it filled automatically with reasonable
> colors is more difficult, maybe fill the first few by hand
> and use some hacked rgb values for the rest as in:
>
> #declare i = 0;
> #while (i < T_NUM)
>    #declare T[i] = texture
>    {
>      pigment {color rgb <mod(i,3)/3, mod(i,5)/5, mod(i,7)/7>}
>    }
>    #declare i = i + 1;
> #end

That would work well, for I mainly need to get the scene file to parse, then I
can fill in colors or textures by hand as inspiration hits me.

I managed to refine my POV export from Mathematica so that now I write a scene
file with exactly as many colors as subsets of tiles, and all but the first ten
entries in the color list are random RGB.

Thanks!


Post a reply to this message

From: Jan Dvorak
Subject: Re: Tessellations
Date: 18 Mar 2008 15:36:10
Message: <47e027ba$1@news.povray.org>
Russell Towle napsal(a):
> "alphaQuad" <alp### [at] earthlinknet> wrote:
> 
>> just do all the calcs in pov script?
>>
>> would love to see the method,
> 
> Well I've been thinking, why not implement the GDM in POV?
> 
> Right now I've got it in Mathematica's language, and I ported it from PostScript
> of all things. Could it live in POV SDL? Maybe. Maybe yes!
> 
> It involves taking a set of lines which could be of the form {x,y,d} where {x,y}
> is a unit vector and d is the distance of the line perpendicular to this vector
> from the origin. Typically d will run through integers -k to k for any given
> {x,y} and typically the various {x,y}'s will run through the vertices of a
> regular polygon. An n-gon, say. So there will be something like n*((2*k)+1)
> lines altogether.
> 
> Then follows a sort of complicated business of taking the signs of determinants
> of 3X3 subsets of the lines. Sign vectors are formed which encode how to make
> the tiling: take a step along this vector, then along that, and so on, until
> you reach a certain point: then make the polygon which is rooted at that point
> from some other subset of the original vectors.
> 
> Along the way various degenerate polygons arise with zero area and so there is
> some parsing to discard any of these.
> 
> It seems daunting to me because it was by an agony of effort I ever ported it
> from PostScript to Mathematica. Does POV even have determinants? I guess that's
> the easiest part, they could be programmed in if they're not there already in
> the SDL.
> 
the determinant is a mixed product of its row vectors (AxB).C . POV does 
have vcross() and vdot().
> If it was done right one would have a macro which accepted as input a list of
> lines of the form {x,y,d}. A different macro could make this list of lines I
> suppose. Just thinking about it makes me feel faint.
> 
> 
> 


-- 
the ultimate time-killer:
+a0.0 +am2 +r9

Johnny D


Post a reply to this message

From: alphaQuad
Subject: Re: Tessellations
Date: 18 Mar 2008 16:25:00
Message: <web.47e032fc54e7baaebc412700@news.povray.org>
The difference can be seen here with pov internal random strings.
I thought I was going to have to filter dark colors, such was not the case.


Post a reply to this message


Attachments:
Download 'spheroid_dome09.jpg' (126 KB)

Preview of image 'spheroid_dome09.jpg'
spheroid_dome09.jpg


 

From: Russell Towle
Subject: Re: Tessellations
Date: 18 Mar 2008 17:50:01
Message: <web.47e0467b54e7baae5114880a0@news.povray.org>
"alphaQuad" <alp### [at] earthlinknet> wrote:
> The difference can be seen here with pov internal random strings.
> I thought I was going to have to filter dark colors, such was not the case.

Very nice! I like the transparency in the dome-thing, the over-arching
structure.

Unusual to see triangular bipyramids. And the thing in the middle looks like
maybe a hyperbolic octahedron or maybe triangular bipyramid?


Post a reply to this message

From: alphaQuad
Subject: Re: Tessellations
Date: 18 Mar 2008 18:30:01
Message: <web.47e04fba54e7baaebc412700@news.povray.org>
"Russell Towle" <rto### [at] inreachcom> wrote:

> Unusual to see triangular bipyramids. And the thing in the middle looks like
> maybe a hyperbolic octahedron or maybe triangular bipyramid?

see thread "Easter People ..." for some of this



//Astroidal Ellipse    or rhombihexacron
#declare Vmin=0;
#declare Vmax=pi*2;
#declare Umin=0;
#declare Umax=pi*2;
#declare F_AEx = function(u,v) {pow(cos(u)*cos(v),3)}
#declare F_AEy = function(u,v) {pow(sin(v),3)}
#declare F_AEz = function(u,v) {pow(sin(u)*cos(v),3)}
spheroid(1.7, 0.3, 0.0, 0.0, 20,10,F_AEx,F_AEy,F_AEz,1)


Post a reply to this message

From: alphaQuad
Subject: Re: Tessellations
Date: 18 Mar 2008 18:55:00
Message: <web.47e0551454e7baaebc412700@news.povray.org>
"Russell Towle" <rto### [at] inreachcom> wrote:

> Unusual to see triangular bipyramids.

DualTetrahedron
//stacks
#declare Vmin=0;
#declare Vmax=pi;
//slices
#declare Umin=0;
#declare Umax=pi*2;
#declare Fx = function(u,v) { sin(u) * sin(v) }
#declare Fy = function(u,v) { cos(v) }
#declare Fz = function(u,v) { cos(u) * sin(v) }
spheroid(.8, 0.0, -0.5, 0.0,2,3,Fx,Fy,Fz,0)

spheroid_dome.inc required at this point which does several things over
Parametric().


Post a reply to this message

From: Tim Attwood
Subject: Re: Tessellations
Date: 18 Mar 2008 22:02:05
Message: <47e0822d@news.povray.org>
> Using an array of textures is not difficult:

#include "colors.inc"
#include "arrays.inc"

#declare color_list = array[100] {Red, Green, Blue, Yellow, Cyan, Magenta,
   Aquamarine, BlueViolet, Brown, CadetBlue, Coral, CornflowerBlue,
   DarkGreen, DarkOliveGreen, DarkOrchid, DarkSlateBlue, DarkSlateGray,
   DarkSlateGrey, DarkTurquoise, Firebrick, ForestGreen, Gold, Goldenrod,
   GreenYellow, IndianRed, Khaki, LightBlue, LightSteelBlue, LimeGreen,
   Maroon, MediumAquamarine, MediumBlue, MediumForestGreen, MediumGoldenrod,
   MediumOrchid, MediumSeaGreen, MediumSlateBlue, MediumSpringGreen,
   MediumTurquoise, MediumVioletRed, MidnightBlue, Navy, NavyBlue, Orange,
   OrangeRed, Orchid, PaleGreen, Pink, Plum, Salmon, SeaGreen, Sienna,
   SkyBlue, SlateBlue, SpringGreen, SteelBlue, Tan, Thistle, Turquoise,
   Violet, VioletRed, Wheat, YellowGreen, SummerSky, RichBlue, Brass, 
Copper,
   Bronze, Bronze2, Silver, BrightGold, OldGold, Feldspar, Quartz, Mica,
   NeonPink, DarkPurple, NeonBlue, CoolCopper, MandarinOrange, LightWood,
   MediumWood, DarkWood, SpicyPink, SemiSweetChoc, BakersChoc, Flesh, 
NewTan,
   NewMidnightBlue, VeryDarkBrown, DarkBrown, DarkTan, GreenCopper,
   DkGreenCopper, DustyRose, HuntersGreen, Scarlet, Med_Purple, 
Light_Purple,
   Very_Light_Purple };

#declare S = seed(1);
object {
   Foo
   pigment {Rand_Array_Item(color_list, S)}
}


Post a reply to this message

From: Russell Towle
Subject: Re: Tessellations
Date: 19 Mar 2008 08:50:01
Message: <web.47e1196054e7baae7fa641940@news.povray.org>
"Tim Attwood" <tim### [at] comcastnet> wrote:
> > Using an array of textures is not difficult:
>
> #include "colors.inc"
> #include "arrays.inc"
>
> #declare color_list = array[100] {Red, Green, Blue, Yellow, Cyan, Magenta,
>    Very_Light_Purple };
>
> #declare S = seed(1);
> object {
>    Foo
>    pigment {Rand_Array_Item(color_list, S)}
> }

I see, thank you, that would work very well. I think what I imagined was exactly
like that except I hoped that the long list of predefined colors in colors.inc
existed as a string or array already so I would not have to copy and paste into
my own array declaration.

Your method above is much the same as I use for these tilings in Mathematica,
for I have fallen into the habit of sorting the tiles by surface area into
subsets, and sometimes there are very many of them. These colors help eke out
the symmetries of the tiling, or possibly, the lack of symmetries.


Post a reply to this message

From: Tim Attwood
Subject: Re: Tessellations
Date: 19 Mar 2008 11:55:20
Message: <47e14578@news.povray.org>
> I see, thank you, that would work very well. I think what I imagined was 
> exactly
> like that except I hoped that the long list of predefined colors in 
> colors.inc
> existed as a string or array already so I would not have to copy and paste 
> into
> my own array declaration.
>
> Your method above is much the same as I use for these tilings in 
> Mathematica,
> for I have fallen into the habit of sorting the tiles by surface area into
> subsets, and sometimes there are very many of them. These colors help eke 
> out
> the symmetries of the tiling, or possibly, the lack of symmetries.

Yeah, it's not very concise, but on the other hand it lets
you exclude some colors, like all the grays.


Post a reply to this message

<<< Previous 4 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.