Nex63 (6,3) - Struts

[b]Setup[/b][br][br]#==========================================================[br]# Show half Nexorade Nex63 (6,3) with extendable structs [br]#----------------------------------------------------------[br]# Needed : LsFree strut-points : list dimension (5,2)[br]#==========================================================[br][br]LsFree={{(0.9028227, 0.429203232, -0.026377226), (0.777630478, 0.53287731, 0.333665419)}, {(0.723217347, 0.686653164, 0.073919557), (0.777455833, 0.436082585, 0.453204597)}, {(0.759407269, 0.617064763, 0.206232097), (0.460247935, 0.684987742, 0.564768653)}, {(0.575285318, 0.679245108, 0.455711406), (0.850363088, 0.296424652, 0.434758605)}, {(0.917209785, 0.265881844, 0.296703648), (0.656412626, 0.335188432, 0.675848488)}}[br][br]#==========================================================[br]# Sphere and Half sphere (for testing placements of struts)[br]#==========================================================[br]O = (0,0,0)[br][br]r = Slider(0.96, 1.04, 0.001, 1, 100, false)[br]SetValue(r,0.96)[br][br]Sph = Sphere(O,r)[br][br]α = Angle(Line(O,(0,0,1)), Line(O,(1,1,1)))[br]hSph = Rotate(Surface((r;a;b), a,0,360°, b,0°,90°), α,Line(O,(-1,1,0)))[br][br]#======================================[br]# Create a list of 30 symmetry matrices[br]#======================================[br][br]ζ = Angle(Line((0,0,0),((1+sqrt(5))/2,1,0)),xAxis) [br]SetConditionToShowObject(ζ,false)[br]Mζ = {{cos(ζ),-sin(ζ),0},{sin(ζ),cos(ζ),0},{0,0,1}}[br]Lα = {1,2,3}*72°[br]LA3 = Zip(Mζ*{{1,0,0},{0,cos(α),-sin(α)},{0,sin(α),cos(α)}}*Invert(Mζ),α,Lα)[br][br]LM3 = {{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1},{1,0,0},{0,1,0}},{{0,1,0},{0,0,1},{1,0,0}}}[br]LM9 = Join(Zip(LM3*M, M, LA3))[br]LM30= Join(LM3,Join(Zip(LM9*M, M, LM3)))[br][br]#========================================================[br]# Show half sphere of extendable structs[br]#========================================================[br][br]fact=Slider(1, 1.2, 0.01, 1, 100, false)[br]SetValue(fact,1.1)[br][br]LR = LsFree(1)[br]LG = LsFree(2)[br]LB = LsFree(3)[br]LC = LsFree(4)[br]LY = LsFree(5)[br][br]Rseg = Segment(Dilate(LR(1),fact,LR(2)),Dilate(LR(2),fact,LR(1)))[br]Gseg = Segment(Dilate(LG(1),fact,LG(2)),Dilate(LG(2),fact,LG(1)))[br]Bseg = Segment(Dilate(LB(1),fact,LB(2)),Dilate(LB(2),fact,LB(1)))[br]Cseg = Segment(Dilate(LC(1),fact,LC(2)),Dilate(LC(2),fact,LC(1)))[br]Yseg = Segment(Dilate(LY(1),fact,LY(2)),Dilate(LY(2),fact,LY(1)))[br][br]Rs30 = Zip(ApplyMatrix(M, Rseg), M, LM30)[br]Gs30 = Zip(ApplyMatrix(M, Gseg), M, LM30)[br]Bs30 = Zip(ApplyMatrix(M, Bseg), M, LM30)[br]Cs30 = Zip(ApplyMatrix(M, Cseg), M, LM30)[br]Ys30 = Zip(ApplyMatrix(M, Yseg), M, LM30)[br][br]#========================================================[br]# Settings[br]#========================================================[br][br]SetActiveView(-1)[br]SetBackgroundColor("#202020")[br]ShowAxes(false)[br]ShowGrid(false)[br]CenterView(O)[br][br]SetActiveView(1)[br]ShowAxes(false)[br]ShowGrid(false)[br]CenterView(O)[br][br]#========================================================[br]# Properties[br]#========================================================[br][br]List={"O","α","LR","LG","LB","LC","LY","Rseg","Gseg","Bseg","Cseg","Yseg"}[br]Execute(Zip("SetConditionToShowObject("+obj+",false)", obj,List))[br][br]SetColor(Sph,"White")[br]SetColor(hSph,"White")[br]SetFilling(Sph,1)[br]SetFilling(hSph,1)[br]SetLineThickness(hSph,0)[br][br]onHalf=Checkbox("Half Sphere")[br]SetValue(onHalf,false)[br]SetConditionToShowObject(Sph,!onHalf)[br]SetConditionToShowObject(hSph,onHalf)[br][br]SetColor(Rs30,"Red")[br]SetColor(Gs30,"Green")[br]SetColor(Bs30,"Blue")[br]SetColor(Cs30,"Cyan")[br]SetColor(Ys30,"Yellow")[br][br]Setcoords(r,30,40)[br]Setcoords(fact,160,40) [br]Setcoords(onHalf,310,11) [br][br]Delete(List)[br]

Information: Nex63 (6,3) - Struts