Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !
Le fichier d'initialisation :
; Persistence Of Vision raytracer version 3.5 sample file.
Antialias = Off
Antialias_Threshold = 0.2
Antialias_Depth = 3
Test_Abort_Count = 100
Input_File_Name = vect2.pov
Initial_Frame = 1
Final_Frame = 60
Initial_Clock = 0
Final_Clock = 1
Cyclic_Animation = on
Pause_when_Done = off
Le script :
// Persistence Of Vision raytracer version 3.5 sample file. // File by Chris Young // Demonstrates various new vector math functions. // Animate this scene with clock values +k0.0 to +k1.0 global_settings {assumed_gamma 2.2} #include "colors.inc" #declare Font = "cyrvetic.ttf" // Basic clock runs from 0.0 to 1.0 but we want to move more // than that. Define a scaled version. #declare Clock360 = 360*clock; #declare ClockRot = Clock360*z; #declare Vector_Arrow = union { cylinder {0, 2.5*x, .2} cone {2.5*x, .3, 3*x, 0} } #declare X_axis = union { object {Vector_Arrow} object {Vector_Arrow scale <-1, 1, 1>} scale <1.5, .3, .3> pigment {rgb <1, .4, 0>} } #declare Y_axis = object {X_axis rotate z*90} #declare Z_axis = object {X_axis rotate y*90} #declare A = object {Vector_Arrow pigment {Red}} #declare B = object {Vector_Arrow rotate ClockRot translate -z/100 pigment {Green}} #declare A_point = x; #declare B_point = vrotate(x, ClockRot); #declare A_dot_B = vdot(A_point, B_point); //float result #declare C_point = vcross(A_point, B_point); //vector result #if (vlength(C_point) != 0.0) #declare C = object {Vector_Arrow rotate -y*90 scale <1, 1, C_point.z> pigment {Blue}} #end union { object {A} object {B} #ifdef (C) object {C} #end object {X_axis} object {Y_axis} object {Z_axis} rotate <-20, 35, 0> translate <2.5, 1,-3.25> } text {ttf Font concat("A=<", str(A_point.x, 1, 1), ", ", str(A_point.y, 1, 1), ", ", str(A_point.z, 1, 1), ">" ), 0.1, 0 pigment {Red} translate <-5, 3, 0> } text {ttf Font concat("B=<", str(B_point.x, 1, 1), ", ", str(B_point.y, 1, 1), ", ", str(B_point.z, 1, 1), ">" ), 0.1, 0 pigment {Green} translate <-5, 2, 0> } text {ttf Font concat("vdot(A, B)=", str(A_dot_B, 1, 2)), 0.1, 0 pigment {Magenta*.7} translate <-5,-2, 0>} text {ttf Font concat("C=vcross(A, B)=", 0.1, 0 pigment {Blue} translate <-5,-3, 0>} text {ttf Font concat("<", str(C_point.x, 1, 1), ", ", str(C_point.y, 1, 1), ", ", str(C_point.z, 1, 1), ">" ), 0.1, 0 pigment {Blue} translate <-4,-4, 0> } camera { location <0, 0,-100> direction <0, 0, 12> look_at <0, 0, 0> } light_source {<5000, 10000,-20000> color White*.5} light_source {<-5000,-10000,-20000> color White*.5} plane {-z,-.05 pigment {checker color rgb <1, .8, .8> color rgb <1, 1, .8>}}
Et voici ce que nous obtenons :
