POV-Ray : Newsgroups : povray.binaries.images : snowflakes macro v1 [23.2kb] Server Time
19 Nov 2024 18:20:47 EST (-0500)
  snowflakes macro v1 [23.2kb] (Message 1 to 10 of 11)  
Goto Latest 10 Messages Next 1 Messages >>>
From: Tom Melly
Subject: snowflakes macro v1 [23.2kb]
Date: 6 Dec 2001 11:50:00
Message: <3c0fa1b8@news.povray.org>
What I really like about POV is if the PHB walks by, it looks like you're
working....

#macro MakeFlake(FlakeSeed)
  #declare Rand1    = seed(FlakeSeed);
  #declare S1Len    = rand(Rand1)*2 + 0.5;
  #declare S2Len    = rand(Rand1)/2 + 0.1;
  #declare S1Wid    = rand(Rand1)/10 + 0.005;
  #declare S2Wid    = rand(Rand1)/50 + 0.005;
  #declare S2Count  = (rand(Rand1)+1)*10;
  #declare S2Rot    = (rand(Rand1)-0.5)*180;

  #declare CountB = 0;
  #declare Flake =
  union{
    #while(CountB < 6)
      union{
        cylinder{0,y*S1Len, S1Wid}
        #declare CountA = 0;
        #while(CountA < S2Count)
          cylinder{0,x*S2Len, S2Wid rotate z*S2Rot translate
y*(CountA*S1Len/S2Count)}
          cylinder{0,x*-S2Len, S2Wid rotate z*-S2Rot translate
y*(CountA*S1Len/S2Count)}
          #declare CountA = CountA + 1;
        #end
        rotate z*CountB*(360/6)
      }
      #declare CountB = CountB + 1;
    #end
  }
#end

#declare CountC = 0;
#declare Rand2 = seed(6545);
#declare Rand3 = seed(8435);
#while(CountC < 150)
  MakeFlake(int(rand(Rand2)*1000))
  object{
    Flake
    scale (rand(Rand3)*2)+0.5
    rotate z*rand(Rand3)*180
    rotate y*rand(Rand3)*180
    rotate x*rand(Rand3)*180
    #declare YTrans = (rand(Rand3)*50)+10;
    translate<(rand(Rand3)-0.5)*(YTrans+10),YTrans,(rand(Rand3)-0.5)*YTrans>
    pigment{White}
    finish{ambient 1}
  }
  #declare CountC = CountC + 1;
#end


--
#macro G(D,E,F)#local I=array[3]{D,E,F}#local B=0;triangle{#while(
B<3)#while(I[B])A[mod(I[B],10)]+#local I[B]=div(I[B],10);#end<-5,-
2,9>#local B=B+1;#end}#end #local A=array[7]{x,x*2,x*4,y,y*2,y*4,z
}light_source{-x*6-z*9,1}mesh{G(105,10,146)G(105,246,10)G(105,56,
146)G(105,1256,246)G(1256,126,220)G(22156,2216,201)pigment{rgb 1}}//TM


Post a reply to this message


Attachments:
Download 'sflake1.gif' (24 KB)

Preview of image 'sflake1.gif'
sflake1.gif


 

From: Steve
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 6 Dec 2001 21:04:27
Message: <slrna108pm.41e.steve@zero-pps.localdomain>
On Thu, 6 Dec 2001 16:49:57 -0000, Tom Melly wrote:
>What I really like about POV is if the PHB walks by, it looks like you're
>working....

Flakes are simetrical so just make half a flake, then put two halves 
together.  That way you may get better results quicker, these look 
nothing like the enlarged photos of snow flakes that I remember seeing
on Play School, but you seem to be going in the right direction. 

--
Cheers
Steve              email mailto:ste### [at] zeroppsuklinuxnet

%HAV-A-NICEDAY Error not enough coffee  0 pps. 

web http://www.zeropps.uklinux.net/

or  http://start.at/zero-pps

  1:59am  up 59 days, 17:44,  2 users,  load average: 1.00, 1.02, 1.00


Post a reply to this message

From: Andrew
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 8 Dec 2001 05:27:14
Message: <3c11eb02@news.povray.org>
> Flakes are simetrical so just make half a flake, then put two halves
> together.  That way you may get better results quicker, these look
> nothing like the enlarged photos of snow flakes that I remember seeing
> on Play School, but you seem to be going in the right direction.

Rotationally symmetric too, I shouldn't doubt.  That would mean you
create a slice and then rotate it e.g. 6 times around.


Post a reply to this message

From: Bill DeWitt
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 8 Dec 2001 08:45:10
Message: <3c121966$1@news.povray.org>
"Andrew" <ast### [at] hotmailcom> wrote in message
news:3c11eb02@news.povray.org...
> > Flakes are simetrical so just make half a flake, then put two halves
> > together.  That way you may get better results quicker, these look
> > nothing like the enlarged photos of snow flakes that I remember seeing
> > on Play School, but you seem to be going in the right direction.
>
> Rotationally symmetric too, I shouldn't doubt.  That would mean you
> create a slice and then rotate it e.g. 6 times around.


    http://www.jericho-underhill.com/bentley.htm


Post a reply to this message

From: Tom Melly
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 10 Dec 2001 04:44:22
Message: <3c1483f6$1@news.povray.org>
"Steve" <ste### [at] zeroppsuklinuxnet> wrote in message
news:slr### [at] zero-ppslocaldomain...
>
> Flakes are simetrical so just make half a flake, then put two halves
> together.  That way you may get better results quicker, these look
> nothing like the enlarged photos of snow flakes that I remember seeing
> on Play School, but you seem to be going in the right direction.
>

Well, the parse time is fairly minimal. Not realistic, it's true - Lu just
wanted some snowflakes for the xmas card background. Still, in consequece, I've
taken a closer look at snowflakes and am wondering how to write a macro to
generate more complex, realistic flakes. Anyone got any basic advice?


Post a reply to this message

From: Steve
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 12 Dec 2001 09:57:07
Message: <slrna1elfm.vbg.steve@zero-pps.localdomain>
On Mon, 10 Dec 2001 09:44:22 -0000, Tom Melly wrote:

>Well, the parse time is fairly minimal. Not realistic, it's true - Lu just
>wanted some snowflakes for the xmas card background. Still, in consequece, I've
>taken a closer look at snowflakes and am wondering how to write a macro to
>generate more complex, realistic flakes. Anyone got any basic advice?
>

Ok if they're rotationally symetrical too then you make a polygon section
which is a sixth of the complete circle, then use one of those random 
texture macros but using only colours clear and white.  Next stage rotate
in a loop (5 times), then resize and place. 


--
Cheers
Steve              email mailto:ste### [at] zeroppsuklinuxnet

%HAV-A-NICEDAY Error not enough coffee  0 pps. 

web http://www.zeropps.uklinux.net/

or  http://start.at/zero-pps

  1:00pm  up 65 days,  4:46,  1 user,  load average: 1.00, 1.02, 1.00


Post a reply to this message

From: Steve
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 12 Dec 2001 09:57:16
Message: <slrna1es0u.vbg.steve@zero-pps.localdomain>
On Thu, 6 Dec 2001 16:49:57 -0000, Tom Melly wrote:
>What I really like about POV is if the PHB walks by, it looks like you're
>working....

I've thought since that each of your six sections will also be symetrical
within itself, so you make half of one sixth, your triangle should look 
like this:

-----
\   |
 \  |
  \ |
   \|

So you apply your randon texture of white and clear to that section, 
then double it up / flip it in a union so that you've now got a 
symetrical sixth of the flake:

----------
\   |   /
 \  |  /
  \ | /
   \|/
    V

Now rotate it in a union to get your full circle. 

OK that's a copuple of hours of my day gone now, this works:

#include "colors.inc"

#version 3.1;  
       
global_settings{   
                ambient_light 7
                assumed_gamma 2.2
               }

// ******  Basic objects, camera, plane, lights etc. ************************    

camera{
       location <0,5,-25> 
       look_at <0,3,0> 
      }	    

// *********************  Snowflake Macro ****************************

#macro Snow_Flake(Pig_Turb, Pig_Scale, Pig_Rotate)

#local Flake_Pig =
pigment{
        agate
        color_map{
                  [0.0  Clear ]
                  [0.5  Clear ]
                  [0.5  White ]
                  [1  White ]
                 } 
        turbulence Pig_Turb
        rotate z*Pig_Rotate
        scale Pig_Scale
       }


#local Flake_Half_Section =
polygon{
        4,
        <-3.5,6>, <0,5>, <0,0>, <-3.5,6>
        pigment{Flake_Pig}
       }

#local Flake_Section =
union{
      object{Flake_Half_Section}
      object{Flake_Half_Section rotate y*180}
     }

union{
      object{Flake_Section}
      object{Flake_Section rotate z*60}
      object{Flake_Section rotate z*120}
      object{Flake_Section rotate z*180}
      object{Flake_Section rotate z*240}
      object{Flake_Section rotate z*300}
     }
#end

// ****************** Lay objects out for display **************

object{Snow_Flake(0.75, 0.75, 0) translate <-8,5,0>}
object{Snow_Flake(0.75, 0.75, 0) rotate z*30 scale 0.85 translate <-8,5,0>}

object{Snow_Flake(0.5, 0.5, 30) scale 0.75  translate <4,-2,0>}
object{Snow_Flake(0.14, 1, 30) scale 0.5  translate <5,7,0>}


Post a reply to this message


Attachments:
Download 'snowflake.jpg' (15 KB)

Preview of image 'snowflake.jpg'
snowflake.jpg


 

From: Tim Nikias
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 12 Dec 2001 10:23:19
Message: <3C177605.95917280@gmx.de>
That looks really nice, and the concept you thought of was already pretty
good. Still it's only a 2D-Planar thingy.

Anybody up to do something 3D?

Tim


Post a reply to this message

From: Steve
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 12 Dec 2001 13:06:35
Message: <slrna1f0mb.a0.steve@zero-pps.localdomain>
On Wed, 12 Dec 2001 16:21:42 +0100, Tim Nikias wrote:
>That looks really nice, and the concept you thought of was already pretty
>good. Still it's only a 2D-Planar thingy.
>
>Anybody up to do something 3D?

I don't know if it's possible to declare an object as an iso surface function,
in which case you could make the 2d version and apply it to an iso sphere. 

--
Cheers
Steve              email mailto:ste### [at] zeroppsuklinuxnet

%HAV-A-NICEDAY Error not enough coffee  0 pps. 

web http://www.zeropps.uklinux.net/

or  http://start.at/zero-pps

  4:14pm  up 65 days,  8:00,  1 user,  load average: 1.00, 1.13, 1.12


Post a reply to this message

From: blessing
Subject: Re: snowflakes macro v1 [23.2kb]
Date: 12 Dec 2001 23:30:56
Message: <3c182f00@news.povray.org>
I've got a little program that makes 3d snowflakes in dfx format.
I've been useing 3dwin to convert it to moray then pov, see atached image.


I think I got the program at http://avalon.viewpoint.com/ under the
utilities section
in the software area.

Gary


Tim Nikias <Tim### [at] gmxde> wrote in message
news:3C177605.95917280@gmx.de...
> That looks really nice, and the concept you thought of was already pretty
> good. Still it's only a 2D-Planar thingy.
>
> Anybody up to do something 3D?
>
> Tim
>
>


Post a reply to this message


Attachments:
Download 'snowflake.jpg' (22 KB)

Preview of image 'snowflake.jpg'
snowflake.jpg


 

Goto Latest 10 Messages Next 1 Messages >>>

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