1def find_shield_center(ship_geo):
2 zEndOfAbsorb = ship_geo.muShield.z - ship_geo.muShield.length / 2;
3 dZ = [None] * 9
4 Z = [None] * 9
5 zgap = 10.
6 dZ[0] = ship_geo.muShield.dZ1 - zgap / 2;
7 Z[0] = zEndOfAbsorb + dZ[0] + zgap;
8
9 dZ[1] = ship_geo.muShield.dZ2 - zgap / 2;
10 Z[1] = Z[0] + dZ[0] + dZ[1] + zgap;
11
12 dZ[2] = ship_geo.muShield.dZ3 - zgap / 2;
13 Z[2] = Z[1] + dZ[1] + dZ[2] + 2 * zgap;
14
15 dZ[3] = ship_geo.muShield.dZ4 - zgap / 2;
16 Z[3] = Z[2] + dZ[2] + dZ[3] + zgap;
17
18 dZ[4] = ship_geo.muShield.dZ5 - zgap / 2;
19 Z[4] = Z[3] + dZ[3] + dZ[4] + zgap;
20
21 dZ[5] = ship_geo.muShield.dZ6 - zgap / 2;
22 Z[5] = Z[4] + dZ[4] + dZ[5] + zgap;
23
24 dZ[6] = ship_geo.muShield.dZ7 - zgap / 2;
25 Z[6] = Z[5] + dZ[5] + dZ[6] + zgap;
26
27 dZ[7] = ship_geo.muShield.dZ8 - zgap / 2;
28 Z[7] = Z[6] + dZ[6] + dZ[7] + zgap;
29
30 dZ[8] = 10.;
31 Z[8] = Z[7] + dZ[7] + dZ[8];
32
33 shield_center = (Z[2] + Z[8] + dZ[8] - dZ[2]) / 2
34 shield_half_lenth = abs((Z[2] - dZ[2]) - (Z[8] + dZ[8])) / 2
35 return shield_center, shield_half_lenth