package lamost.sss.temp;
import java.util.LinkedList;
import java.util.*;
import lamost.sss.util.XY;
import lamost.sss.util.FiberTurn;
public class MiniFocal {
private XY xy = new XY();
private XY xyTurned = new XY();
private FiberTurn ft = new FiberTurn();
public MiniFocal() {
final float SIN60 = (float) Math.sqrt(3) / 2;
final float SIN30 = (float) 0.5;
LinkedList al = new LinkedList();
int n = 0, m = 0; //n 是光纤的层数,m 是每层第几根光纤
int fiberID = 1;
double x = 0.0, y = 0.0;
for (n = 1; n <= 11; n++) {
for (m = 0; m < 6 * n; m++) {
switch (m / n) {
case 0:
x = 25.6 * ( -n * SIN30 + m);
y = 25.6 * (SIN60 * n);
break;
case 1:
x = 25.6 * (m * SIN30);
y = 25.6 * (SIN60 * (2 * n - m));
break;
case 2:
x = 25.6 * (2.0 * n - m * SIN30);
y = 25.6 * ( -SIN60 * (m - 2 * n));
break;
case 3:
x = 25.6 * (3.5 * n - m);
y = 25.6 * ( -SIN60 * n);
break;
case 4:
x = 25.6 * (1.5 * n - SIN30 * m);
y = 25.6 * (SIN60 * (m - 5.0 * n));
break;
case 5:
x = 25.6 * ( -3.5 * n + SIN30 * m);
y = 25.6 * (SIN60 * (m - 5.0 * n));
break;
}
if ((Math.sqrt(x * x + y * y) < ((490.0 - 33.0) / 2.0))
&& (Math.sqrt(x * x + y * y) > ((80.0 + 25.6) / 2.0))
){
xy.setX(x);
xy.setY(y);
xyTurned = ft.FibersTurn(xy, 30);
System.out.println(fiberID++ +","+xyTurned.getX()+","+xyTurned.getY()+",1,");
}
}
}
System.out.println(al.size());
}
public static void main(String[] args) {
new MiniFocal();
}
}