_angle is PI/2 + i*2*PI/342 - PI/38; i = 0; ## chevron 1 intersects symbol 1 i -= 9; ## chevron 1 intersects symbol 2 /* if i is divisible by 9 then chevron 1 meets a symbol. The index of that symbol is 38-i/9+1; */ symbolmeeting1 is (38-i/9+1) % 38; meet1 is (i%9==0) ? ("Chevron 1 meets symbol " // str(symbolmeeting1)) //"\n" : ""; proc wmeet1 : meet1 { write(meet1); } _locked1 is (i%9 ==0); /* if i-1 is divisible by 9 then chevron 2 meets a symbol. The index of that symbol is (38-(i-1)/9+5) % 38 */ symbolmeeting2 is (38-(i-1)/9+5) % 38; meet2 is (i%9==1) ? ("Chevron 2 meets symbol " // str(symbolmeeting2)) //"\n" : ""; proc wmeet2 : meet2 { write(meet2); } _locked2 is (i%9 == 1); /* This is an incorrect construal - the labelling of the chevrons around the gate is such that chevron 9 (with which the observable _locked9 is associated) is labelled 2. Can reveal this by introducing _locked9 is _locked2; ## challenges in making the two models line up, since the chevrons aren't equally spaced around the stargate */