POV-Ray : Newsgroups : povray.binaries.images : George Stephenson's Rocket : Re: George Stephenson's Rocket Server Time: 18 Jun 2019 17:45:59 GMT
  Re: George Stephenson's Rocket  
From: Norbert Kern
Date: 11 Apr 2019 15:55:01
"Ton" <ton### [at] gmailcom> wrote:
> Hello everybody,
>
> I've embarked on a new adventure, the Rocket by George Stepenson, built in 1829.
> I found good drawings for a model of the Rocket on modelengineeringwebsite.com,
> which is an interesting website for model building, with quite a lot of
> CAD-drawings.
> BTW After my hard disk crash, and consequently sinking of my Titanic, I'm
> synchronizing my Povray sources every night on my Google cloud space.
>
> Cheers
> Ton.


Looks very promising!
Hopefully you will model the tender too.

There is much wood - in the case you are looking for a real nice wood texture -
think about a texture originating from the excellent isowood code by Christoph
Hormann - here is the code for a texture using his functions -

#macro IW_Warp_02 (Seed, xSize, ySize, zSize)

#local SZ = (xSize+ySize)*0.5*0.1;
#local Density = 0.1;
warp {
        black_hole <xSize*0.5,0,0>, SZ
        falloff 2.5
        strength 2
        repeat <min (xSize, SZ/Density),min (ySize, SZ/Density),SZ/Density>
        turbulence <0.02,0.75,0.75>
        inverse
}
#local SZ = (xSize+ySize)*0.5*0.15;
#local Density = 0.1;
warp {
        black_hole <xSize*0.5,0,0>, SZ
        falloff 2.1
        strength 3.7
        repeat <min (xSize, SZ/Density),min (ySize,
0.7*SZ/Density),0.8*SZ/Density>
        turbulence <0,0.4,0.4>
        inverse
}

#end

#macro IW_Select_Warp (WarpNbr, Seed, xSize, ySize, zSize)

IW_Warp_02 (Seed, xSize, ySize, zSize)

#end

#macro IW_Plank_Round_CutN (Seed, xSize, ySize, zSize, Rotate, Translate, Round,
Strength, Strength2, Pigm, Fin, C_Map, WarpNbr, fn_Max_Val)

#local rd = seed (Seed);

#local fn_Max = fn_Max_Val+<0,0,0>;

#local Trsx = (rand (rd)-0.5)*Translate*xSize;
#local Trsy = (rand (rd)-0.5)*Translate*ySize;
#local Trsz = (rand (rd)-0.5)*Translate*zSize;
#local Rotx = (rand (rd)-0.5)*Rotate;
#local Roty = (rand (rd)-0.5)*Rotate;

#local fn_Wood =
function {
        pigment {
                Pigm
                color_map {
                        [0      rgb 0]
                        [1      rgb 1]
                }
                translate <Trsx,Trsy,Trsz>
                rotate Rotx*x
                rotate Roty*y
                IW_Select_Warp (WarpNbr, Seed, xSize, ySize, zSize)
        }
}

#local fn_Disp =
function {
        pigment {
                average
                pigment_map {
                        [1      function {f_noise3d (0,0,z*1.6)*0.3}
                                color_map {
                                        [0      rgb 0]
                                        [1      rgb x]
                                }
                        ]
                        [1      function {f_noise3d (0,0,-z*1.6)*0.3}
                                color_map {
                                        [0      rgb 0]
                                        [1      rgb y]
                                }
                        ]
                }
        }
}
#local fnShape  = function {f_rounded_box (x,y,z, Round, xSize*0.5, ySize*0.5,
zSize*0.5+Round)}
#local fnShape2 = function {(abs (z)-zSize*0.5)}

#local fnShapeT  = function {fnShape (x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z)}
#local fnShape2T = function {fnShape2(x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z)}
#declare fnBumpsT  = function {fn_Wood (x+fn_Disp (x,y,z).x, y+fn_Disp
(x,y,z).y,z+fn_Disp (x,y,z).z).grey}

#end

#declare P_IW_10 =
pigment {
        wood
        octaves 6
        lambda 2.5
        turbulence <0.06,0.06,0.75>
        scale      <0.02,0.02,0.3>
}

#declare Fin_W_02 =
finish {
        ambient 0.1*0
        diffuse 0.95
        brilliance 1.4
        specular 0.4
        roughness 0.02
}

#declare GammaFact = 1;
#declare ColorDiff = <0,0,0>;

#macro ColorCorrect (Color, Gamma, ColDiff)

rgb <pow (Color.red+ColDiff.red,Gamma),pow (Color.green+ColDiff.green,Gamma),pow
(Color.blue+ColDiff.blue,Gamma)>

#end

#declare CM_IW_02 =
color_map {
        [0      ColorCorrect (<0.949,0.792,0.514>, GammaFact, ColorDiff)]
        [0.3    ColorCorrect (<0.855,0.651,0.376>, GammaFact, ColorDiff)]
        [0.6    ColorCorrect (<0.831,0.596,0.275>, GammaFact, ColorDiff)]
        [0.9    ColorCorrect (<0.620,0.447,0.204>, GammaFact, ColorDiff)]
}

IW_Plank_Round_CutN  (17, 0.3, 1.6, 8, 2, 0, 0.018, 0.0035, 0.005, pigment
{P_IW_10 scale 1.6} , Fin_W_02, CM_IW_02, 2, 0.3)

#local T_WoodA =
texture {
        pigment {
                function {fnBumpsT (x,y,z)}
                color_map {CM_IW_02}
        }
        normal {function {fnBumpsT (x,y,z)}, -1 accuracy 0.004}
        finish {Fin_W_02}
}

Norbert


Post a reply to this message

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