home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
p
/
povray3a
/
POV3Demo
/
Recurse
/
inc
/
SphrFlak
< prev
next >
Wrap
Text File
|
1996-03-14
|
3KB
|
97 lines
// See sphrflak.pov for info
#if (SFLevel = 0)
sphere { SFCen,SFRad texture { pigment { color rgb SFCen + <0.5,0.5,0.5> }
finish { reflection 0.3 } } }
#else
sphere { SFCen,SFRad texture { pigment { color rgb SFCen + <0.5,0.5,0.5> }
finish { reflection 0.3 } } }
// Change values for this level/instance of recursion
#declare SFLevel = SFLevel - 1
#declare SFRad = SFRad / 3
#declare SFRight = vaxis_rotate(SFRight,SFUp,SFRot)
#declare tmp = SFUp
#declare SFUp = vaxis_rotate(SFRight,SFUp,60)
#declare SFRight = tmp
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare SFUp = vaxis_rotate(SFUp,SFRight,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare SFUp = vaxis_rotate(SFUp,SFRight,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare SFUp = vaxis_rotate(SFUp,SFRight,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare SFUp = vaxis_rotate(SFUp,SFRight,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare SFUp = vaxis_rotate(SFUp,SFRight,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare tmp = SFRight
#declare SFRight = SFUp
#declare SFUp = tmp
#declare tmp = SFUp
#declare SFUp = vaxis_rotate(SFRight,SFUp,30)
#declare Orth = vcross(SFUp,tmp)
#declare SFRight = vaxis_rotate(tmp,Orth,60)
#declare SFUp = vaxis_rotate(SFUp,Orth,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare Orth = vcross(SFUp,SFRight)
#declare tmp = SFRight
#declare SFRight = vaxis_rotate(SFUp,Orth,-60)
#declare SFUp = vaxis_rotate(tmp,Orth,-60)
#declare tmp = SFUp
#declare SFUp = vaxis_rotate(SFRight,SFUp,120)
#declare Orth = vcross(SFUp,tmp)
#declare SFRight = vaxis_rotate(tmp,Orth,60)
#declare SFUp = vaxis_rotate(SFUp,Orth,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare Orth = vcross(SFUp,SFRight)
#declare tmp = SFRight
#declare SFRight = vaxis_rotate(SFUp,Orth,-60)
#declare SFUp = vaxis_rotate(tmp,Orth,-60)
#declare tmp = SFUp
#declare SFUp = vaxis_rotate(SFRight,SFUp,120)
#declare Orth = vcross(SFUp,tmp)
#declare SFRight = vaxis_rotate(tmp,Orth,60)
#declare SFUp = vaxis_rotate(SFUp,Orth,60)
#declare SFCen = SFCen + SFRad * 4 * SFUp
#include "sphrflak.inc"
#declare SFCen = SFCen - SFRad * 4 * SFUp
#declare Orth = vcross(SFUp,SFRight)
#declare tmp = SFRight
#declare SFRight = vaxis_rotate(SFUp,Orth,-60)
#declare SFUp = vaxis_rotate(tmp,Orth,-60)
#declare SFRight = vaxis_rotate(SFRight,SFUp,90)
// Restore original "parameter" values
#declare SFRight = vaxis_rotate(SFRight,SFUp,-SFRot)
#declare SFRad = SFRad * 3
#declare SFLevel = SFLevel + 1
#end