POV-Ray : Newsgroups : povray.binaries.scene-files : HELP !!!! items, weapons, furnature, tiles : Re: HELP !!!! items, weapons, furnature, tiles Server Time
19 May 2024 14:46:51 EDT (-0400)
  Re: HELP !!!! items, weapons, furnature, tiles  
From: Misha Moldavskiy
Date: 4 Jul 1998 23:24:29
Message: <359EE1EB.F79F0678@cdknet.com>
Here you go with yet another sword!

#declare BladeL =1.3
#declare BladeEL=2
#declare BladeD =0.025
#declare BladeW =0.1
#declare Blade=difference{
  union{
    prism{
      linear_spline
      0,BladeL,5
      <0,-BladeD>,<BladeW,0>,<0,BladeD>,<-BladeW,0>,<0,-BladeD>
    }
    triangle{<0,BladeL,-BladeD>,<BladeW,BladeL,0>,<0,BladeEL,0>}
    triangle{<BladeW,BladeL,0>,<0,BladeL,BladeD>,<0,BladeEL,0>}
    triangle{<0,BladeL,BladeD>,<-BladeW,BladeL,0>,<0,BladeEL,0>}
    triangle{<-BladeW,BladeL,0>,<0,BladeL,-BladeD>,<0,BladeEL,0>}
  }
  union{
    #declare BloodStreamL =BladeL/2
    #declare BloodStreamEL=BladeL/5*4
    cylinder{0,y*BloodStreamL,BladeD scale <2,1,0.5> translate z*BladeD}
    cylinder{0,y*BloodStreamL,BladeD scale <2,1,0.5> translate z*(-BladeD)}
    cone{y*BloodStreamL,BladeD,y*BloodStreamEL,0 scale <2,1,0.5> translate
z*BladeD}
    cone{y*BloodStreamL,BladeD,y*BloodStreamEL,0 scale <2,1,0.5> translate
z*(-BladeD)}
  }
  texture{T_Silver_2C}
}

#declare SHW =BladeW*3
#declare SHSL=BladeL*0.3
#declare SHSW=BladeW*0.8
#declare SHL =BladeL*0.2
#declare SHD =BladeD*2
#declare SwordHandle=union{
  mesh{
    #declare SHEP=<-SHW-SHSW,SHSL,0>
    triangle{<-SHW,0,-SHD>,<-SHW,0,SHD>,SHEP}
    triangle{<-SHW+SHSW*2,0,-SHD>,<-SHW+SHSW*2,0,SHD>,SHEP}
    triangle{<-SHW,0,-SHD>,<-SHW+SHSW*2,0,-SHD>,SHEP}
    triangle{<-SHW,0,SHD>,<-SHW+SHSW*2,0,-SHD>,SHEP}

    #declare SHEP=<SHW+SHSW,SHSL,0>
    triangle{<SHW,0,-SHD>,<SHW,0,SHD>,SHEP}
    triangle{<SHW-SHSW*2,0,-SHD>,<SHW-SHSW*2,0,SHD>,SHEP}
    triangle{<SHW,0,-SHD>,<SHW-SHSW*2,0,-SHD>,SHEP}
    triangle{<SHW,0,SHD>,<SHW-SHSW*2,0,-SHD>,SHEP}

    #declare SHEP=<0,BladeL*0.1,0>
    triangle{<-SHW,0,-SHD>,<-SHW,0, SHD>,SHEP}
    triangle{< SHW,0,-SHD>,< SHW,0, SHD>,SHEP}
    triangle{<-SHW,0,-SHD>,< SHW,0,-SHD>,SHEP}
    triangle{<-SHW,0, SHD>,< SHW,0, SHD>,SHEP}
  }

  box{<-SHW,-BladeW,-SHD>,<SHW,0,SHD>}
  prism{
    linear_spline
    -SHD,SHD,5
    <-SHW,0>,<-BladeD,-BladeW>,<BladeD,-BladeW>,<SHW,0>,<-SHW,0>
    rotate x*(-90)
    translate y*(-BladeW)
  }
  cylinder{ <0,-BladeW*2,0>,<0,-BladeW*2-SHL,0>,SHD}
  sphere{ <0,-BladeW*2-SHL,0>,BladeD*3}
  texture{T_Gold_3B}
}

#declare Sword=union{
  object{Blade}
  object{SwordHandle}
}

#declare SHPW=0.18*3
#declare SHP1=0.1*3
#declare SHPH=0.02*3
#declare SHPD=0.02
#declare SwordHandle1Prot=difference{
  box{<-BladeW-SHPW,-SHPH,0>,<BladeW+SHPW,SHPH,SHPD>}
  union{
    sphere{<BladeW+SHP1/3, SHP1+SHPH/2.2,0>,SHP1} sphere{<BladeW+SHP1*2.12,
SHP1*4,0>,SHP1*4}
    sphere{<BladeW+SHP1/3,-SHP1-SHPH/2.2,0>,SHP1}
sphere{<BladeW+SHP1*2.12,-SHP1*4,0>,SHP1*4}
    sphere{<-BladeW-SHP1/3, SHP1+SHPH/2.2,0>,SHP1} sphere{<-BladeW-SHP1*2.12,
SHP1*4,0>,SHP1*4}
    sphere{<-BladeW-SHP1/3,-SHP1-SHPH/2.2,0>,SHP1}
sphere{<-BladeW-SHP1*2.12,-SHP1*4,0>,SHP1*4}
  }
}

#declare SHCW=BladeW
#declare SHCD=BladeD*3
#declare SHCQ=SHCD*0.7
#declare SHCH=0.015
#declare SwordHandle1Cent=prism{
  linear_spline
  -SHCH,SHCH,9

<SHCQ,-SHCD>,<SHCW,-SHPD>,<SHCW,SHPD>,<SHCQ,SHCD>,<-SHCQ,SHCD>,<-SHCW,SHPD>,<-SHCW,-SHPD>,<-SHCQ,-SHCD>,<SHCQ,-SHCD>

  rotate x*90
}

#declare SwordHandle1=union{
  object{SwordHandle1Cent}
  object{SwordHandle1Prot}
  #declare I=0
  #while (I<=15)
    torus{SHCD,SHCD/3 translate y*(-SHCH-I*SHCD/2)}
    #declare I=I+1.5
  #end
  sphere{<0,-SHCH-6.5*SHCD,0>,SHCD*1.8}
  texture {T_Gold_3D}
}

#declare Sword1=union{object{Blade} object{SwordHandle1}}


Post a reply to this message

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