Source |
// Made with help from http://commons.wikimedia.org/wiki/Image:Wikibooks_povray_coordinates.png
#include "colors.inc"
camera {
location <5,5,5>
look_at 0
right x
up y
}
light_source {
<5,5,5>
color White
shadowless
}
background {color White}
#macro Vector(Start,Length,Direction,Diameter,Color)
merge{
cylinder {Start,Start+(Length-.29)*Direction,Diameter pigment {Color))
cone {(Length-.3)*Direction,Diameter*2,Start+Length*Direction,0 pigment {Color))
}
#end
Vector (0,3,x,.05,color <1,0,0,.9>)
Vector (0,3,y,.05,color <0,1,0,.9>)
Vector (0,3,z,.05,color <0,0,1,.9>)
Vector (0,1.5,x,.05001,color <1,0,0,.7>)
Vector (0,2.5,y,.05001,color <0,1,0,.7>)
Vector (0,2,z,.05001,color <0,0,1,.7>)
Vector (0,1,x,.050001,color <1,0,0,.1>)
Vector (0,1,y,.050001,color <0,1,0,.1>)
Vector (0,1,z,.050001,color <0,0,1,.1>)
Vector (0,vlength(1.5*x+2.5*y+2*z),(1.5*x+2.5*y+2*z)/vlength(1.5*x+2.5*y+2*z),.05,color <1,1,1,.7>)
#macro DashedLine(Start,Length,Direction,Diameter,Color)
cylinder {Start,Start+Length*Direction,Diameter
pigment {
gradient Direction
color_map {
[0 color <1,1,1,1>]
[0.24999 color <1,1,1,1>]
[0.25 Color]
[0.4999 Color]
[0.5 color <1,1,1,1>]
[0.74999 color <1,1,1,1>]
[0.75 Color]
[0.99999 Color]
[1 color <1,1,1,1>]
}
}
}
#end
object {
DashedLine (0,1.5,x,.05,color <1,0,0,.7>)
translate 2*z
}
object {
DashedLine (0,2,y,.05,color <0,1,0,.7>)
translate 1.5*x+2*z
}
object {
DashedLine (0,2,z,.05,color <0,0,1,.7>)
translate 1.5*x
}
#macro Label(Place,Text,Color)
text {
ttf "crystal.ttf" Text .1, 0
pigment { Color }
scale .3
rotate <45,225,0>
translate Place
}
#end
Label(2.85*x-.2*z,"X",color <1,0,0,.7>)
Label(2.85*y-.2*x,"Y",color <0,1,0,.7>)
Label(2.85*z-.2*x,"Z",color <0,0,1,.7>)
Label(0.85*x-.2*z,"i",color <1,0,0,.7>)
Label(0.85*y-.2*x,"j",color <0,1,0,.7>)
Label(0.85*z-.2*x,"k",color <0,0,1,.7>)
Label(1.35*x-z+.6*x,"rx=1.5i",color <1,0,0,.7>)
Label(2.35*y-.2*x,"ry=2.5j",color <0,1,0,.7>)
Label(1.85*z-.2*x,"rz=2k",color <0,0,1,.7>)
union {
text {
ttf "crystal.ttf" "r=rx+ry+rz=" .1, 0
pigment { color <1,1,1,.7> }
scale .3
}
text {
ttf "crystal.ttf" " =1.5i+2.5j+2k=" .1, 0
pigment { color <1,1,1,.7> }
scale .3
translate -.3*y
}
text {
ttf "crystal.ttf" " |1.5|" .1, 0
pigment { color <1,1,1,.7> }
scale .3
translate -.6*y
}
text {
ttf "crystal.ttf" " =|2.5|" .1, 0
pigment { color <1,1,1,.7> }
scale .3
translate -.9*y
}
text {
ttf "crystal.ttf" " | 2 |" .1, 0
pigment { color <1,1,1,.7> }
scale .3
translate -1.2*y
}
rotate <45,225,0>
translate 1.5*x+2.5*y+2*z-.2*x-.2*z
}
|