POV-Ray : Newsgroups : povray.binaries.images : basaltic columns : Re: basaltic columns Server Time
30 Jul 2024 00:24:09 EDT (-0400)
  Re: basaltic columns  
From: Nekar Xenos
Date: 5 Jun 2013 16:21:59
Message: <op.wx72uubrufxv4h@xena>
On Wed, 05 Jun 2013 21:59:23 +0200, s.day <s.d### [at] uelacuk> wrote:

> "Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
>>
>> Since you want to basaltic columns, if you want to randomize them a bit  
>> more,
>> you probably still want a general six-sidded shape.
>
> Well from looking at images some are less but I think that would just  
> over
> complicate things so six sides are fine ;-)
>
>>
>> One way you can do this is:
>> 1. Generate a hexagonal array of points at the average offset/size you  
>> want
>> 2. Apply a random small x and y offset to each
>> 3. creat prisms based on a voronoi tesselation of the points
>> - for each point, find the distance and direction to each of its 6  
>> neighbours
>> - for each of these pairs, create a plane at the exact midpoint, and
>> perpendicular to the direction vector
>> - you will have 6 vertical planes for each point, create a CSG  
>> intersection of
>> the 6 planes (plus a top height plane).
>> - this should result in having a six sided array with no gaps, bu the  
>> hexagons
>> won't be perfect hexagons
>
> Hmm, not sure if my math skills are up to this, I am sure it is not that
> complicated but I never paid enough attention in this subject, if only  
> they had
> used POV back then to make it more interesting..
>
>>
>> The next difficult step is determining hor to make rounded or chamfered  
>> edges to
>> these shapes if you want.
>
> The current columns are made from intersecting 7 height fields (one for  
> the top)
> so similar to what you are referring to above with planes but with the  
> obvious
> advantages. I am rounding/beveling the edges by combining the  
> granite/wrinkles
> pigments with a gradient pattern to raise the edges of the hieght fields  
> then
> sizing them appropriately so the raised edges meet up. The top one has a  
> granite
> and sperical pattern to get the raised or sunk look for the puddles.
>
> I will have to have a go at this but fear it may take me the 70 odd days  
> to the
> deadline to work it out ;-)
>

Try adding a small random component to the rotation of each plane.
For instance if you have the following:

plane{z, 0 rotate y*60}

first declare a seed
#declare RandSeed=97531;

change your plane as follows
plane{z, 0 rotate y*(60+5*rand(RandSeed))



-- 
-Nekar Xenos-


Post a reply to this message

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