POV-Ray : Newsgroups : povray.text.scene-files : FurThing in p.b.i Server Time
1 Nov 2024 05:19:41 EDT (-0400)
  FurThing in p.b.i (Message 1 to 1 of 1)  
From: Alf Peake
Subject: FurThing in p.b.i
Date: 19 Mar 2001 18:50:42
Message: <3ab69b52@news.povray.org>
/*
Source for image posted in p.b.i - FurThing.jpg
Subject: Got one (29K)  Was:Need a tribble?
Date: 17 March 2001 15:59

WARNING - watch for word-wrap in your newsreader.

Alf

http://www.peake42.freeserve.co.uk/
http://ourworld.compuserve.com/homepages/Alf_Peake/
alf### [at] peake42freeservecouk
Alf### [at] compuservecom
gw3### [at] thersgbnet

Celeron 500 + DOS + pov 3.1g, 300*225, no aa, Parse 22s, Trace 129s.
*/

#version 3.1;
global_settings { assumed_gamma 1 }
#include "colors.inc"
#declare Eye = <0, 4, -12>; #declare Target = <0, 0.75, 0>;
camera{ location (Eye) rotate y*60 angle 45 look_at Target }
light_source {<-100, 100, -100> color White*1.5 }
light_source {<0, 300, 100> color White }
background{ rgb 0.2 }

box{ <-5,-1,-5>, <5,-0.95,5>
    pigment{ checker rgb 0.2, rgb 0.5 }
    finish{ diffuse 0.8 ambient 0.1 }
}

#declare Hair = // cone{ 0, 0.04, x*1, 0.0
 union{ triangle{ <0,0,-0.01>, <1.5,0,0>, <0,0,0.01> }
        triangle{ <0,-0.01,0>, <1.5,0,0>, <0,0.01,0> }
 }

#declare Rd=seed(2001);

// Tilt is hair angle wrt surface normal
#declare Tilt = 70; // 0 = upright, 90 = tangent to body.
#declare Radius = 4;  // spherical body.
#declare Body =
union{
//  sphere{ 0,Radius clipped_by{ plane{ -y,0 } } } // Optional to
//  sphere{ 0,Radius scale <1, 0.35, 1> }      // remove "see
through".
  #declare Count = 30000;  // Number of hairs, non-uniform density.
  #while (Count > 0)
    #declare Angle = rand(Rd) * 150 + 15; // Position of hair, 0=+X,
180=-X.
    #declare AnglY = rand(Rd) * 180;      // 0=+Z 90=+Y 180=-Z.
    #declare AnglR = radians( Angle );
    #declare Px = cos( AnglR ) * Radius;
    #declare Pz = sin( AnglR ) * Radius;
    object{ Hair rotate <0, Tilt-Angle, 0>
            translate <Px, 0, Pz>
            rotate -x * AnglY }
    #declare Count = Count - 1;
  #end
}

object{ Body pigment{ rgb <0.2,0.1,0.05> }
             finish{ diffuse 0.8 }
             scale <1,0.75,0.75>
}

#declare EyeBall =
union{ sphere{ 0,1 }
       sphere{ 0, 0.85 translate -x*0.18 pigment{ Black } }
       pigment{ crackle color_map{ [0.03 Red][0.03 White] } scale
0.3 }
       finish{ phong 0.8 phong_size 60 }
       scale 0.7
       rotate <0,0,-15>
}

object{ EyeBall translate <-3.5,0.3, 0.6> }
object{ EyeBall translate <-3.5,0.3,-0.6> }


Post a reply to this message

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