Like Keishiro Ueki - 31 okt. 2020
- Author:
- Thijs
- Topic:
- Constructions
Based on Keishiro Ueki - 31 okt. 2020
Setup scripting
Delete(O)
Delete(LA)
Delete(R)
#-------------------------------------
# Variables
#-------------------------------------
N = 12
L = 5
#-------------------------------------
# Construction
#-------------------------------------
α = Slider(0,360°,1°, 4,300, true ,true)
O = (0,0)
LA= Zip((L;k/N*360°), k,1..N)
R = (1;-α)
OR= Segment(O,R)
LP = Zip(Reflect(O, PerpendicularBisector(R,A)), A,LA)
LRP= Zip(Segment(R,P), P,LP)
LPA= Zip(Segment(P,A), P,LP, A,LA)
Lw = Zip(Vector(P,A), P,LP, A,LA)
Lu = Join(Last(Lw),First(Lw,N-1))
Lv = Join(Last(Lw,N-1),First(Lw))
LB = Zip(A+u, A,LA, u,Lu)
LC = Zip(B+v, B,LB, v,Lv)
LD = Zip(A+v, A,LA, v,Lv)
LE = Zip(A+w, A,LA, w,Lw)
LF = Zip(B+w, B,LB, w,Lw)
LG = Zip(C+w, C,LC, w,Lw)
LH = Zip(D+w, D,LD, w,Lw)
LAB= Zip(Segment(A,B), A,LA, B,LB)
LBC= Zip(Segment(B,C), B,LB, C,LC)
LCD= Zip(Segment(C,D), C,LC, D,LD)
LDA= Zip(Segment(D,A), D,LD, A,LA)
LAE= Zip(Segment(A,E), A,LA, E,LE)
LBF= Zip(Segment(B,F), B,LB, F,LF)
LCG= Zip(Segment(C,G), C,LC, G,LG)
LDH= Zip(Segment(D,H), D,LD, H,LH)
LEF= Zip(Segment(E,F), E,LE, F,LF)
LFG= Zip(Segment(F,G), F,LF, G,LG)
LGH= Zip(Segment(G,H), G,LG, H,LH)
LHE= Zip(Segment(H,E), H,LH, E,LE)
LBn = Join(Last(LB,N-1),First(LB))
LEBn= Zip(Segment(E,Bn), E,LE, Bn,LBn)
LDp = Join(Last(LD),First(LD,N-1))
LEDp= Zip(Segment(E,Dp), E,LE, Dp,LDp)
#-------------------------------------
# Settings
#-------------------------------------
CenterView(O)
ShowGrid(false)
ShowAxes(false)
showLabel(O,false)
showLabel(R,false)
showLabel(OR,false)
Lobj={"O","R","LP","LA","LB","LC","LD","LE","LF","LG","LH"}
Execute(Zip("SetPointSize("+obj+",4)",obj,Lobj))
Execute(Zip("SetDynamicColor("+obj+",0,0,0)",obj,Lobj))
Lobj={"OR","LRP","LPA","LEBn","LEDp"}
Execute(Zip("SetLineThickness("+obj+",2)",obj,Lobj))
Execute(Zip("SetDynamicColor("+obj+",0,0,0)",obj,Lobj))
Lobj={"LAB","LBC","LCD","LDA","LAE","LBF","LCG","LDH","LEF","LFG","LGH","LHE"}
Execute(Zip("SetDynamicColor("+obj+",0,0,0)",obj,Lobj))
Lobj={"Lu","Lv","Lw","LBn","LDp"}
Execute(Zip("SetVisibleInView("+obj+",1,false)",obj,Lobj))
Delete(Lobj)
SetVisibleInView(α,1,false)
StartAnimation(α,true)