SetDirectory["C:\\drorbn\\AcademicPensieve\\Projects/WKO/"]

size=120;
s1[t_] := 1+0.5(1-t)(1+t); s2[t_] := 1-0.25(1-t)(1+t);
tilt[t_] := 0*0.5(1-t)(1+t);
p1[t_] := {1.25t, 0, -0.3Sin[π t]}; p2[t_] := -p1[t];
Ring[p_, s_, tilt_] := Tube[
Table[
p+s{Cos[θ]Cos[tilt], Sin[θ], Cos[θ]Sin[tilt]},
{θ, 0, 2π, 2π/72}
], 0.24s
];
RedBlueRings[t_] := Graphics3D[{
Red, Ring[p1[t], s1[t], tilt[t]],
Blue, Ring[p2[t], s2[t], tilt[t]]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
];

{{p1[t], s1[t], tilt[t]},{p2[t], s2[t], tilt[t]}} /.  t-> -1

size=480;
TheVertex=(
Rasterize[#, RasterSize -> 480]& /@
{
purplering=Graphics3D[{
Purple, Ring[{0,0,0},1,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> 480
],
purplering,
Graphics3D[{
Red, Ring[{0,0,0},1.3,0],
Blue, Ring[{0,0,0},0.8,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> 480
],
RedBlueRings[0],
RedBlueRings[-1/2],
RedBlueRings[-1]
}
) // GraphicsColumn

Export["TheVertex.png", TheVertex]

size=60;
TheNegativeVertex=(
Rasterize[#, RasterSize -> size]& /@
{
purplering=Graphics3D[{
Purple, Ring[{0,0,0},1,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
purplering,
Graphics3D[{
Red, Ring[{0,0,0},1.3,0],
Blue, Ring[{0,0,0},0.8,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
RedBlueRings[0],
Graphics3D[{
Red, Ring[{-0.625`,0,0.3`},1.375`,0.`],
Blue, Ring[{0.625`,0,-0.3`},0.8125`,0.`]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
RedBlueRings[-1]
}
) // GraphicsColumn

Export["TheNegativeVertex.png", TheNegativeVertex]

size=480;
t=(
Rasterize[#, RasterSize -> size, ImageSize -> size]& /@
{
Graphics3D[{
Purple, Ring[{0,0,0},1,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
Graphics3D[{
Purple, Ring[{0,0,0},1,π/4]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
Graphics3D[{
Purple, Ring[{0,0,0},1,3π/4]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
Graphics3D[{
Red, Ring[{0,0,0},1.3,0],
Blue, Ring[{0,0,0},0.8,0]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
RedBlueRings[0],
RedBlueRings[-1/2],
Graphics3D[{
Red, Ring[{-1.25`,0,0.`},1.`,3π/4],
Blue, Ring[{1.25`,0,0.`},1.`,3π/4]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
Graphics3D[{
Red, Ring[{-1.25`,0,0.`},1.`,π/4],
Blue, Ring[{1.25`,0,0.`},1.`,π/4]
},
ViewPoint -> {0,-3,1.5}, Boxed -> False, ImageSize -> size
],
RedBlueRings[-1]
}
);

TheTwistedVertex = ImageRotate[ImageAssemble[List /@ t], Right]

Export["TheTwistedVertex.png", TheTwistedVertex]