Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // https://commons.wikimedia.org/wiki/File:Predicate_logic;_3_variables;_implications.png
- #include "colors.inc"
- light_source { <1500,2500,-2500> color White shadowless}
- light_source { <-8000,-8000,-8000> color Gray shadowless}
- camera {
- angle 23
- location <1.65, 5.6 ,-12>
- look_at <2, 2, 2>
- up <0, 1, 0>
- right <1, 0, 0>
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- // define points
- #declare e1_2_3 = <4,4,4>;
- #declare a3e1_2 = <4,4,2>;
- #declare a2e1_3 = <4,2,4>;
- #declare a1e2_3 = <2,4,4>;
- #declare e2a3e1 = <4,3,1>;
- #declare e1a3e2 = <3,4,1>;
- #declare e3a2e1 = <4,1,3>;
- #declare e1a2e3 = <3,1,4>;
- #declare e3a1e2 = <1,4,3>;
- #declare e2a1e3 = <1,3,4>;
- #declare e1_2a3 = <3,3,0>;
- #declare e1_3a2 = <3,0,3>;
- #declare e2_3a1 = <0,3,3>;
- #declare a2_3e1 = <4,1,1>;
- #declare a1_3e2 = <1,4,1>;
- #declare a1_2e3 = <1,1,4>;
- #declare a2e1a3 = <3,1,0>;
- #declare a3e1a2 = <3,0,1>;
- #declare a1e2a3 = <1,3,0>;
- #declare a3e2a1 = <0,3,1>;
- #declare a1e3a2 = <1,0,3>;
- #declare a2e3a1 = <0,1,3>;
- #declare e1a2_3 = <2,0,0>;
- #declare e2a1_3 = <0,2,0>;
- #declare e3a1_2 = <0,0,2>;
- #declare a1_2_3 = <0,0,0>;
- //////////////////////////
- #declare a = 1;
- #declare b = 2;
- #declare c = 4-a;
- #declare d = 4-b;
- #declare e12_3 = <3,3,4>;
- #declare a3e12 = <c,c,d>;
- #declare a12e3 = <2,2,4>;
- #declare e12a3 = <2,2,0>;
- #declare e3a12 = <a,a,b>;
- #declare a12_3 = <1,1,0>;
- #declare e13_2 = <3,4,3>;
- #declare a2e13 = <c,d,c>;
- #declare a13e2 = <2,4,2>;
- #declare e13a2 = <2,0,2>;
- #declare e2a13 = <a,b,a>;
- #declare a13_2 = <1,0,1>;
- #declare e1_23 = <4,3,3>;
- #declare a1e23 = <d,c,c>;
- #declare a23e1 = <4,2,2>;
- #declare e23a1 = <0,2,2>;
- #declare e1a23 = <b,a,a>;
- #declare a1_23 = <0,1,1>;
- //////////////////////////
- #declare e = 1.333;
- #declare f = 4-e;
- #declare e123 = <f,f,f>;
- #declare a123 = <e,e,e>;
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- // define vertex types
- #macro V_brown( Point )
- sphere{ Point, 0.1 pigment{color rgb<1,0.8,0.65>*0.05} }
- #end
- #macro V_yellow( Point )
- sphere{ Point, 0.06 pigment{color Yellow*0.8} }
- #end
- #macro V_blue( Point )
- sphere{ Point, 0.06 pigment{color rgb<0,0.1,1>} }
- #end
- #macro V_orange( Point )
- sphere{ Point, 0.04 pigment{color rgb<1,0.1,0>} }
- #end
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- // define edge types
- #macro E_brown1( P1, P2 )
- cylinder{ P1, P2, 0.02 pigment{color rgb<1,0.8,0.65>*0.3 }}
- #end
- #macro E_brown2( P1, P2 )
- cylinder{ P1, P2, 0.04 pigment{color rgb<1,0.8,0.65>*0.15 }}
- #end
- #macro E_yellow( P1, P2 )
- cylinder{ P1, P2, 0.01 pigment{color Yellow*0.8}}
- #end
- #macro E_green1( P1, P2 ) // short, like cartesian axes
- cylinder{ P1, P2, 0.01 pigment{color Green*0.3 }}
- #end
- #macro E_green2( P1, P2 ) // long, no intersections
- cylinder{ P1, P2, 0.01 pigment{color rgb<0 ,0.7, 0.4>*0.7 }}
- #end
- #macro E_violet( P1, P2 )
- cylinder{ P1, P2, 0.01 pigment{color rgb<0.3,0,1>*0.7 }}
- #end
- #macro E_gray( P1, P2 )
- cylinder{ P1, P2, 0.01 pigment{color rgb<0.5,0.5,1>*0.4 }}
- #end
- #macro E_blue( P1, P2 )
- cylinder{ P1, P2, 0.01 pigment{color rgb<0,0.1,1> }}
- #end
- #macro E_orange1( P1, P2 ) // short
- cylinder{ P1, P2, 0.01*0.5 pigment{color rgb<1,0.1,0>*0.8}}
- #end
- #macro E_orange2( P1, P2 ) // long to yellow
- cylinder{ P1, P2, 0.01*0.5 pigment{color rgb<1,0.2,0>*3}}
- #end
- #macro E_orange3( P1, P2 ) // long to blue
- cylinder{ P1, P2, 0.01*0.5 pigment{color rgb<1,0.1,0.2>*2}}
- #end
- #macro E_orange4( P1, P2 ) // central
- cylinder{ P1, P2, 0.01 pigment{color rgb<1,0.1,0> }}
- #end
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- // vertices
- V_brown(e1_2_3)
- V_brown(a3e1_2) V_brown(a2e1_3) V_brown(a1e2_3)
- V_brown(e2a3e1) V_brown(e1a3e2) V_brown(e3a2e1) V_brown(e1a2e3) V_brown(e3a1e2) V_brown(e2a1e3)
- V_brown(e1_2a3) V_brown(e1_3a2) V_brown(e2_3a1)
- V_brown(a2_3e1) V_brown(a1_3e2) V_brown(a1_2e3)
- V_brown(a2e1a3) V_brown(a3e1a2) V_brown(a1e2a3) V_brown(a3e2a1) V_brown(a1e3a2) V_brown(a2e3a1)
- V_brown(e1a2_3) V_brown(e2a1_3) V_brown(e3a1_2)
- V_brown(a1_2_3)
- V_yellow(e12_3) V_yellow(a12e3) V_yellow(e12a3) V_yellow(a12_3)
- V_yellow(e13_2) V_yellow(a13e2) V_yellow(e13a2) V_yellow(a13_2)
- V_yellow(e1_23) V_yellow(a23e1) V_yellow(e23a1) V_yellow(a1_23)
- V_blue(a3e12) V_blue(e3a12) V_blue(a2e13) V_blue(e2a13) V_blue(a1e23) V_blue(e1a23)
- V_orange(e123) V_orange(a123)
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- // edges
- E_brown1(a1_2_3, e1a2_3) E_brown1(a1_2_3, e2a1_3) E_brown1(a1_2_3, e3a1_2)
- E_brown2(e1a2_3, a2e1a3) E_brown2(e1a2_3, a3e1a2) E_brown2(e2a1_3, a1e2a3) E_brown2(e2a1_3, a3e2a1) E_brown2(e3a1_2, a1e3a2) E_brown2(e3a1_2, a2e3a1)
- E_brown2(a2e1a3, a2_3e1) E_brown2(a3e1a2, a2_3e1) E_brown2(a1e2a3, a1_3e2) E_brown2(a3e2a1, a1_3e2) E_brown2(a1e3a2, a1_2e3) E_brown2(a2e3a1, a1_2e3)
- E_brown1(a2e1a3, e1_2a3) E_brown1(a3e1a2, e1_3a2) E_brown1(a1e2a3, e1_2a3) E_brown1(a3e2a1, e2_3a1) E_brown1(a1e3a2, e1_3a2) E_brown1(a2e3a1, e2_3a1)
- E_brown2(e1_2a3, e2a3e1) E_brown2(e1_2a3, e1a3e2) E_brown2(e1_3a2, e3a2e1) E_brown2(e1_3a2, e1a2e3) E_brown2(e2_3a1, e3a1e2) E_brown2(e2_3a1, e2a1e3)
- E_brown1(a2_3e1, e2a3e1) E_brown1(a1_3e2, e1a3e2) E_brown1(a2_3e1, e3a2e1) E_brown1(a1_2e3, e1a2e3) E_brown1(a1_3e2, e3a1e2) E_brown1(a1_2e3, e2a1e3)
- E_brown2(e2a3e1, a3e1_2) E_brown2(e1a3e2, a3e1_2) E_brown2(e3a2e1, a2e1_3) E_brown2(e1a2e3, a2e1_3) E_brown2(e3a1e2, a1e2_3) E_brown2(e2a1e3, a1e2_3)
- E_brown1(a3e1_2, e1_2_3) E_brown1(a2e1_3, e1_2_3) E_brown1(a1e2_3, e1_2_3)
- E_yellow(a1_2_3, a12_3)
- E_yellow(a12_3, e12a3) E_yellow(a12_3, a2e1a3) E_yellow(a12_3, a1e2a3) E_yellow(e1a2_3, e12a3) E_yellow(e2a1_3, e12a3)
- E_yellow(e12a3, e1_2a3)
- E_yellow(a1_2_3, a13_2)
- E_yellow(a13_2, e13a2) E_yellow(a13_2, a3e1a2) E_yellow(a13_2, a1e3a2) E_yellow(e1a2_3, e13a2) E_yellow(e3a1_2, e13a2)
- E_yellow(e13a2, e1_3a2)
- E_yellow(a1_2_3, a1_23)
- E_yellow(a1_23, e23a1) E_yellow(a1_23, a3e2a1) E_yellow(a1_23, a2e3a1) E_yellow(e2a1_3, e23a1) E_yellow(e3a1_2, e23a1)
- E_yellow(e23a1, e2_3a1)
- E_yellow(e12_3, e1_2_3)
- E_yellow(a12e3, e12_3) E_yellow(e2a1e3, e12_3) E_yellow(e1a2e3, e12_3) E_yellow(a12e3, a1e2_3) E_yellow(a12e3, a2e1_3)
- E_yellow(a1_2e3, a12e3)
- E_yellow(e13_2, e1_2_3)
- E_yellow(a13e2, e13_2) E_yellow(e3a1e2, e13_2) E_yellow(e1a3e2, e13_2) E_yellow(a13e2, a1e2_3) E_yellow(a13e2, a3e1_2)
- E_yellow(a1_3e2, a13e2)
- E_yellow(e1_23, e1_2_3)
- E_yellow(a23e1, e1_23) E_yellow(e3a2e1, e1_23) E_yellow(e2a3e1, e1_23) E_yellow(a23e1, a2e1_3) E_yellow(a23e1, a3e1_2)
- E_yellow(a2_3e1, a23e1)
- E_green1(a12_3, e3a12) E_green2(e12a3, a3e12) E_green2(e3a12, a12e3) E_green1(a3e12, e12_3)
- E_green1(a13_2, e2a13) E_green2(e13a2, a2e13) E_green2(e2a13, a13e2) E_green1(a2e13, e13_2)
- E_green1(a1_23, e1a23) E_green2(e23a1, a1e23) E_green2(e1a23, a23e1) E_green1(a1e23, e1_23)
- E_violet(e1a2_3, e1a23) E_violet(e2a1_3, e2a13) E_violet(e3a1_2, e3a12)
- E_violet(a1e23, a1e2_3) E_violet(a2e13, a2e1_3) E_violet(a3e12, a3e1_2)
- E_gray(e3a12, e3a2e1) E_gray(e3a12, e3a1e2) E_gray(e2a13, e2a1e3) E_gray(e2a13, e2a3e1) E_gray(e1a23, e1a2e3) E_gray(e1a23, e1a3e2)
- E_gray(a3e1a2, a3e12) E_gray(a3e2a1, a3e12) E_gray(a2e1a3, a2e13) E_gray(a2e3a1, a2e13) E_gray(a1e2a3, a1e23) E_gray(a1e3a2, a1e23)
- E_blue(e1a23, a2e13) E_blue(e1a23, a3e12) E_blue(e2a13, a1e23) E_blue(e2a13, a3e12) E_blue(e3a12, a1e23) E_blue(e3a12, a2e13)
- E_orange1(a12_3, a123) E_orange1(e123, e12_3)
- E_orange1(a13_2, a123) E_orange1(e123, e13_2)
- E_orange1(a1_23, a123) E_orange1(e123, e1_23)
- E_orange2(e12a3, e123) E_orange2(a123, a12e3)
- E_orange2(e13a2, e123) E_orange2(a123, a13e2)
- E_orange2(e23a1, e123) E_orange2(a123, a23e1)
- E_orange3(e3a12, e123) E_orange3(a123, a3e12)
- E_orange3(e2a13, e123) E_orange3(a123, a2e13)
- E_orange3(e1a23, e123) E_orange3(a123, a1e23)
- E_orange4(a123, e123)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement