Arie Puzzle 2
Setup script
O = (0,0,0)
m = (sqrt(3)-1)/2
d = Slider(0.4,1,0.01, 1,100,false)
scl = 2/(1+d)
A1 = scl*Dilate(( 0,-2,0),d,(0,-1,m))
A2 = scl*Dilate(( 0,-1,1),d,(0,-1,m))
A3 = scl*Dilate((-1,-1,0),d,(0,-1,m))
B1 = scl*Dilate(( 2, 0,0),d,(1, 0,m))
B2 = scl*Dilate(( 1, 0,1),d,(1, 0,m))
B3 = scl*Dilate(( 0, 0,0),d,(1, 0,m))
C1 = scl*Dilate(( 0, 2,0),d,(0, 1,m))
C2 = scl*Dilate(( 0, 1,1),d,(0, 1,m))
C3 = scl*Dilate((-1, 1,0),d,(0, 1,m))
LF1P = {A3, B3, C3, C1, B1, A1}
LF2P = {A1, B1, B2, A2}
LF3P = {B1, C1, C2, B2}
LF4P = {C1, C3, C2}
LF5P = {C3, B3, B2, C2}
LF6P = {B3, A3, A2, B2}
LF7P = {A3, A1, A2}
LFP = {LF1P, LF2P, LF3P, LF4P, LF5P, LF6P, LF7P}
Lface1 = Zip(Polygon(LP), LP, LFP)
Lface2 = Rotate(Lface1, pi, xAxis)
Lface3 = Rotate(Rotate(Lface1, pi, zAxis), pi/2, xAxis)
Lface4 = Rotate(Lface3, pi, xAxis)
LE1P = { A1, B1, C1, C3, B3, A3, A1, A2, B2, C2, C1}
LE2P = {(?,?,?), B1, B2}
LE3P = {(?,?,?), C3, C2}
LE4P = {(?,?,?), B3, B2}
LE5P = {(?,?,?), A3, A2}
LEP = Join(LE1P, LE2P, LE3P, LE4P, LE5P)
Ledge1 = Polyline(LEP)
Ledge2 = Rotate(Ledge1, pi, xAxis)
Ledge3 = Rotate(Rotate(Ledge1, pi, zAxis), pi/2, xAxis)
Ledge4 = Rotate(Ledge3, pi, xAxis)
#==========================================================
# Settings
#==========================================================
SetActiveView(1)
SetBackgroundColor("White")
ShowAxes(1,false)
ShowGrid(1,false)
SetActiveView(-1)
SetBackgroundColor(1/8,1/8,1/8)
ShowAxes(-1,false)
ShowGrid(-1,false)
# Distance form screen: 800
# Perspective projection
CenterView(O)
#==========================================================
# Properties
#==========================================================
List ={"O","A1","A2","A3","B1","B2","B3","C1","C2","C3","LEP"}
Execute(Zip("SetConditionToShowObject("+obj+",false)", obj,List))
List ={"Lface1","Lface2","Lface3","Lface4"}
Execute(Zip("ShowLabel("+obj+",false)", obj,List))
Execute(Zip("SetFilling("+obj+",1)", obj,List))
Execute(Zip("SetLineThickness("+obj+",1)", obj,List))
SetColor(Lface1,"Red")
SetColor(Lface2,"Yellow")
SetColor(Lface3,"Cyan")
SetColor(Lface4,"Green")
List ={"Ledge1","Ledge2","Ledge3","Ledge4"}
Execute(Zip("ShowLabel("+obj+",false)", obj,List))
Execute(Zip("SetLineThickness("+obj+",2)", obj,List))
Delete(List)