/*******************************************************************************
* Copyright (c) 2010 Haifeng Li
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
package smile.demo.data.clustering;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
*
* @author Haifeng Li
*/
public class NeuralGasData {
private static final int MAX_COMPLEX = 58;
private static final float RING_FACTOR = 0.4f;
private static final int MAX_DISCRETE_SIGNALS = 500;
private int numRun = 0;
private int discreteSignalsX[] = new int[MAX_DISCRETE_SIGNALS];
private int discreteSignalsY[] = new int[MAX_DISCRETE_SIGNALS];
private int bounceX = -1;
private int bounceY = -1;
private int jumpX = 250;
private int jumpY = 250;
private double bounceX_old = 1;
private double bounceY_old = 1;
int SignalX;
int SignalY;
public void initDiscreteSignals() {
int w = 500;
int h = 500;
int kx = 1;
int ky = 1;
int l = 0;
int dSX[] = discreteSignalsX;
int dSY[] = discreteSignalsY;
if (w > h) {
kx = w / 4;
l = h;
} else {
ky = h / 4;
l = w;
}
dSX[0] = (int) (kx + l * 0.13814);
dSY[0] = (int) (ky + l * (1.0 - 0.29675));
dSX[1] = (int) (kx + l * 0.19548);
dSY[1] = (int) (ky + l * (1.0 - 0.09674));
dSX[2] = (int) (kx + l * 0.73576);
dSY[2] = (int) (ky + l * (1.0 - 0.86994));
dSX[3] = (int) (kx + l * 0.73065);
dSY[3] = (int) (ky + l * (1.0 - 0.19024));
dSX[4] = (int) (kx + l * 0.83479);
dSY[4] = (int) (ky + l * (1.0 - 0.34258));
dSX[5] = (int) (kx + l * 0.13184);
dSY[5] = (int) (ky + l * (1.0 - 0.56509));
dSX[6] = (int) (kx + l * 0.15959);
dSY[6] = (int) (ky + l * (1.0 - 0.59065));
dSX[7] = (int) (kx + l * 0.21696);
dSY[7] = (int) (ky + l * (1.0 - 0.1402));
dSX[8] = (int) (kx + l * 0.61592);
dSY[8] = (int) (ky + l * (1.0 - 0.16657));
dSX[9] = (int) (kx + l * 0.10513);
dSY[9] = (int) (ky + l * (1.0 - 0.21708));
dSX[10] = (int) (kx + l * 0.1864);
dSY[10] = (int) (ky + l * (1.0 - 0.1454));
dSX[11] = (int) (kx + l * 0.36696);
dSY[11] = (int) (ky + l * (1.0 - 0.74924));
dSX[12] = (int) (kx + l * 0.18345);
dSY[12] = (int) (ky + l * (1.0 - 0.80946));
dSX[13] = (int) (kx + l * 0.8509);
dSY[13] = (int) (ky + l * (1.0 - 0.38268));
dSX[14] = (int) (kx + l * 0.19476);
dSY[14] = (int) (ky + l * (1.0 - 0.74262));
dSX[15] = (int) (kx + l * 0.49164);
dSY[15] = (int) (ky + l * (1.0 - 0.65776));
dSX[16] = (int) (kx + l * 0.86552);
dSY[16] = (int) (ky + l * (1.0 - 0.38373));
dSX[17] = (int) (kx + l * 0.73176);
dSY[17] = (int) (ky + l * (1.0 - 0.84414));
dSX[18] = (int) (kx + l * 0.71978);
dSY[18] = (int) (ky + l * (1.0 - 0.86979));
dSX[19] = (int) (kx + l * 0.83034);
dSY[19] = (int) (ky + l * (1.0 - 0.36613));
dSX[20] = (int) (kx + l * 0.39886);
dSY[20] = (int) (ky + l * (1.0 - 0.71479));
dSX[21] = (int) (kx + l * 0.09955);
dSY[21] = (int) (ky + l * (1.0 - 0.20342));
dSX[22] = (int) (kx + l * 0.07091);
dSY[22] = (int) (ky + l * (1.0 - 0.17197));
dSX[23] = (int) (kx + l * 0.21896);
dSY[23] = (int) (ky + l * (1.0 - 0.10398));
dSX[24] = (int) (kx + l * 0.72465);
dSY[24] = (int) (ky + l * (1.0 - 0.13984));
dSX[25] = (int) (kx + l * 0.71034);
dSY[25] = (int) (ky + l * (1.0 - 0.87981));
dSX[26] = (int) (kx + l * 0.83547);
dSY[26] = (int) (ky + l * (1.0 - 0.36065));
dSX[27] = (int) (kx + l * 0.13907);
dSY[27] = (int) (ky + l * (1.0 - 0.56451));
dSX[28] = (int) (kx + l * 0.62124);
dSY[28] = (int) (ky + l * (1.0 - 0.20175));
dSX[29] = (int) (kx + l * 0.65543);
dSY[29] = (int) (ky + l * (1.0 - 0.17331));
dSX[30] = (int) (kx + l * 0.72349);
dSY[30] = (int) (ky + l * (1.0 - 0.14375));
dSX[31] = (int) (kx + l * 0.82495);
dSY[31] = (int) (ky + l * (1.0 - 0.40116));
dSX[32] = (int) (kx + l * 0.76586);
dSY[32] = (int) (ky + l * (1.0 - 0.82376));
dSX[33] = (int) (kx + l * 0.24648);
dSY[33] = (int) (ky + l * (1.0 - 0.11987));
dSX[34] = (int) (kx + l * 0.14817);
dSY[34] = (int) (ky + l * (1.0 - 0.59985));
dSX[35] = (int) (kx + l * 0.82663);
dSY[35] = (int) (ky + l * (1.0 - 0.38964));
dSX[36] = (int) (kx + l * 0.37131);
dSY[36] = (int) (ky + l * (1.0 - 0.72726));
dSX[37] = (int) (kx + l * 0.12176);
dSY[37] = (int) (ky + l * (1.0 - 0.60139));
dSX[38] = (int) (kx + l * 0.73587);
dSY[38] = (int) (ky + l * (1.0 - 0.86952));
dSX[39] = (int) (kx + l * 0.59645);
dSY[39] = (int) (ky + l * (1.0 - 0.21302));
dSX[40] = (int) (kx + l * 0.39489);
dSY[40] = (int) (ky + l * (1.0 - 0.63452));
dSX[41] = (int) (kx + l * 0.234);
dSY[41] = (int) (ky + l * (1.0 - 0.10385));
dSX[42] = (int) (kx + l * 0.51314);
dSY[42] = (int) (ky + l * (1.0 - 0.67151));
dSX[43] = (int) (kx + l * 0.13499);
dSY[43] = (int) (ky + l * (1.0 - 0.56896));
dSX[44] = (int) (kx + l * 0.10815);
dSY[44] = (int) (ky + l * (1.0 - 0.62515));
dSX[45] = (int) (kx + l * 0.35487);
dSY[45] = (int) (ky + l * (1.0 - 0.65635));
dSX[46] = (int) (kx + l * 0.13939);
dSY[46] = (int) (ky + l * (1.0 - 0.24579));
dSX[47] = (int) (kx + l * 0.22087);
dSY[47] = (int) (ky + l * (1.0 - 0.20651));
dSX[48] = (int) (kx + l * 0.12274);
dSY[48] = (int) (ky + l * (1.0 - 0.61131));
dSX[49] = (int) (kx + l * 0.47888);
dSY[49] = (int) (ky + l * (1.0 - 0.65166));
dSX[50] = (int) (kx + l * 0.18836);
dSY[50] = (int) (ky + l * (1.0 - 0.6895));
dSX[51] = (int) (kx + l * 0.2511);
dSY[51] = (int) (ky + l * (1.0 - 0.12476));
dSX[52] = (int) (kx + l * 0.84242);
dSY[52] = (int) (ky + l * (1.0 - 0.3685));
dSX[53] = (int) (kx + l * 0.70824);
dSY[53] = (int) (ky + l * (1.0 - 0.18571));
dSX[54] = (int) (kx + l * 0.2548);
dSY[54] = (int) (ky + l * (1.0 - 0.77552));
dSX[55] = (int) (kx + l * 0.3659);
dSY[55] = (int) (ky + l * (1.0 - 0.64852));
dSX[56] = (int) (kx + l * 0.78094);
dSY[56] = (int) (ky + l * (1.0 - 0.37826));
dSX[57] = (int) (kx + l * 0.34205);
dSY[57] = (int) (ky + l * (1.0 - 0.7295));
dSX[58] = (int) (kx + l * 0.83349);
dSY[58] = (int) (ky + l * (1.0 - 0.37511));
dSX[59] = (int) (kx + l * 0.35477);
dSY[59] = (int) (ky + l * (1.0 - 0.68483));
dSX[60] = (int) (kx + l * 0.13761);
dSY[60] = (int) (ky + l * (1.0 - 0.17267));
dSX[61] = (int) (kx + l * 0.46041);
dSY[61] = (int) (ky + l * (1.0 - 0.72594));
dSX[62] = (int) (kx + l * 0.12945);
dSY[62] = (int) (ky + l * (1.0 - 0.58863));
dSX[63] = (int) (kx + l * 0.27379);
dSY[63] = (int) (ky + l * (1.0 - 0.14071));
dSX[64] = (int) (kx + l * 0.4097);
dSY[64] = (int) (ky + l * (1.0 - 0.77705));
dSX[65] = (int) (kx + l * 0.7175);
dSY[65] = (int) (ky + l * (1.0 - 0.87696));
dSX[66] = (int) (kx + l * 0.43969);
dSY[66] = (int) (ky + l * (1.0 - 0.66972));
dSX[67] = (int) (kx + l * 0.48588);
dSY[67] = (int) (ky + l * (1.0 - 0.63899));
dSX[68] = (int) (kx + l * 0.69263);
dSY[68] = (int) (ky + l * (1.0 - 0.20386));
dSX[69] = (int) (kx + l * 0.7374);
dSY[69] = (int) (ky + l * (1.0 - 0.8667));
dSX[70] = (int) (kx + l * 0.67306);
dSY[70] = (int) (ky + l * (1.0 - 0.18347));
dSX[71] = (int) (kx + l * 0.21203);
dSY[71] = (int) (ky + l * (1.0 - 0.12508));
dSX[72] = (int) (kx + l * 0.48821);
dSY[72] = (int) (ky + l * (1.0 - 0.67574));
dSX[73] = (int) (kx + l * 0.45742);
dSY[73] = (int) (ky + l * (1.0 - 0.67679));
dSX[74] = (int) (kx + l * 0.67982);
dSY[74] = (int) (ky + l * (1.0 - 0.1421));
dSX[75] = (int) (kx + l * 0.13429);
dSY[75] = (int) (ky + l * (1.0 - 0.56728));
dSX[76] = (int) (kx + l * 0.2402);
dSY[76] = (int) (ky + l * (1.0 - 0.76521));
dSX[77] = (int) (kx + l * 0.15482);
dSY[77] = (int) (ky + l * (1.0 - 0.178));
dSX[78] = (int) (kx + l * 0.71594);
dSY[78] = (int) (ky + l * (1.0 - 0.15844));
dSX[79] = (int) (kx + l * 0.10534);
dSY[79] = (int) (ky + l * (1.0 - 0.59961));
dSX[80] = (int) (kx + l * 0.44167);
dSY[80] = (int) (ky + l * (1.0 - 0.69823));
dSX[81] = (int) (kx + l * 0.46529);
dSY[81] = (int) (ky + l * (1.0 - 0.70682));
dSX[82] = (int) (kx + l * 0.13842);
dSY[82] = (int) (ky + l * (1.0 - 0.56618));
dSX[83] = (int) (kx + l * 0.09876);
dSY[83] = (int) (ky + l * (1.0 - 0.5795));
dSX[84] = (int) (kx + l * 0.12101);
dSY[84] = (int) (ky + l * (1.0 - 0.57408));
dSX[85] = (int) (kx + l * 0.44963);
dSY[85] = (int) (ky + l * (1.0 - 0.74847));
dSX[86] = (int) (kx + l * 0.12532);
dSY[86] = (int) (ky + l * (1.0 - 0.56478));
dSX[87] = (int) (kx + l * 0.18264);
dSY[87] = (int) (ky + l * (1.0 - 0.77186));
dSX[88] = (int) (kx + l * 0.80443);
dSY[88] = (int) (ky + l * (1.0 - 0.35896));
dSX[89] = (int) (kx + l * 0.72038);
dSY[89] = (int) (ky + l * (1.0 - 0.90205));
dSX[90] = (int) (kx + l * 0.24934);
dSY[90] = (int) (ky + l * (1.0 - 0.77047));
dSX[91] = (int) (kx + l * 0.35552);
dSY[91] = (int) (ky + l * (1.0 - 0.70131));
dSX[92] = (int) (kx + l * 0.49591);
dSY[92] = (int) (ky + l * (1.0 - 0.71126));
dSX[93] = (int) (kx + l * 0.36426);
dSY[93] = (int) (ky + l * (1.0 - 0.72803));
dSX[94] = (int) (kx + l * 0.21113);
dSY[94] = (int) (ky + l * (1.0 - 0.08745));
dSX[95] = (int) (kx + l * 0.33412);
dSY[95] = (int) (ky + l * (1.0 - 0.68345));
dSX[96] = (int) (kx + l * 0.17158);
dSY[96] = (int) (ky + l * (1.0 - 0.226));
dSX[97] = (int) (kx + l * 0.69135);
dSY[97] = (int) (ky + l * (1.0 - 0.26172));
dSX[98] = (int) (kx + l * 0.80362);
dSY[98] = (int) (ky + l * (1.0 - 0.34908));
dSX[99] = (int) (kx + l * 0.49367);
dSY[99] = (int) (ky + l * (1.0 - 0.61372));
dSX[100] = (int) (kx + l * 0.67809);
dSY[100] = (int) (ky + l * (1.0 - 0.16071));
dSX[101] = (int) (kx + l * 0.42288);
dSY[101] = (int) (ky + l * (1.0 - 0.7547));
dSX[102] = (int) (kx + l * 0.21535);
dSY[102] = (int) (ky + l * (1.0 - 0.71766));
dSX[103] = (int) (kx + l * 0.26248);
dSY[103] = (int) (ky + l * (1.0 - 0.0794));
dSX[104] = (int) (kx + l * 0.65766);
dSY[104] = (int) (ky + l * (1.0 - 0.11433));
dSX[105] = (int) (kx + l * 0.81799);
dSY[105] = (int) (ky + l * (1.0 - 0.36416));
dSX[106] = (int) (kx + l * 0.80867);
dSY[106] = (int) (ky + l * (1.0 - 0.39382));
dSX[107] = (int) (kx + l * 0.2401);
dSY[107] = (int) (ky + l * (1.0 - 0.83207));
dSX[108] = (int) (kx + l * 0.83016);
dSY[108] = (int) (ky + l * (1.0 - 0.37551));
dSX[109] = (int) (kx + l * 0.30746);
dSY[109] = (int) (ky + l * (1.0 - 0.78597));
dSX[110] = (int) (kx + l * 0.22122);
dSY[110] = (int) (ky + l * (1.0 - 0.19961));
dSX[111] = (int) (kx + l * 0.81422);
dSY[111] = (int) (ky + l * (1.0 - 0.39008));
dSX[112] = (int) (kx + l * 0.28025);
dSY[112] = (int) (ky + l * (1.0 - 0.16485));
dSX[113] = (int) (kx + l * 0.42936);
dSY[113] = (int) (ky + l * (1.0 - 0.70449));
dSX[114] = (int) (kx + l * 0.20721);
dSY[114] = (int) (ky + l * (1.0 - 0.79412));
dSX[115] = (int) (kx + l * 0.1023);
dSY[115] = (int) (ky + l * (1.0 - 0.59687));
dSX[116] = (int) (kx + l * 0.49873);
dSY[116] = (int) (ky + l * (1.0 - 0.68088));
dSX[117] = (int) (kx + l * 0.44373);
dSY[117] = (int) (ky + l * (1.0 - 0.60472));
dSX[118] = (int) (kx + l * 0.12955);
dSY[118] = (int) (ky + l * (1.0 - 0.58045));
dSX[119] = (int) (kx + l * 0.40319);
dSY[119] = (int) (ky + l * (1.0 - 0.64087));
dSX[120] = (int) (kx + l * 0.39597);
dSY[120] = (int) (ky + l * (1.0 - 0.74223));
dSX[121] = (int) (kx + l * 0.37318);
dSY[121] = (int) (ky + l * (1.0 - 0.74561));
dSX[122] = (int) (kx + l * 0.48026);
dSY[122] = (int) (ky + l * (1.0 - 0.65002));
dSX[123] = (int) (kx + l * 0.09824);
dSY[123] = (int) (ky + l * (1.0 - 0.15969));
dSX[124] = (int) (kx + l * 0.68454);
dSY[124] = (int) (ky + l * (1.0 - 0.17986));
dSX[125] = (int) (kx + l * 0.11659);
dSY[125] = (int) (ky + l * (1.0 - 0.30008));
dSX[126] = (int) (kx + l * 0.73836);
dSY[126] = (int) (ky + l * (1.0 - 0.87819));
dSX[127] = (int) (kx + l * 0.37924);
dSY[127] = (int) (ky + l * (1.0 - 0.72885));
dSX[128] = (int) (kx + l * 0.07252);
dSY[128] = (int) (ky + l * (1.0 - 0.21803));
dSX[129] = (int) (kx + l * 0.22104);
dSY[129] = (int) (ky + l * (1.0 - 0.81961));
dSX[130] = (int) (kx + l * 0.23872);
dSY[130] = (int) (ky + l * (1.0 - 0.06629));
dSX[131] = (int) (kx + l * 0.27114);
dSY[131] = (int) (ky + l * (1.0 - 0.77851));
dSX[132] = (int) (kx + l * 0.84307);
dSY[132] = (int) (ky + l * (1.0 - 0.35729));
dSX[133] = (int) (kx + l * 0.83856);
dSY[133] = (int) (ky + l * (1.0 - 0.38892));
dSX[134] = (int) (kx + l * 0.84041);
dSY[134] = (int) (ky + l * (1.0 - 0.33806));
dSX[135] = (int) (kx + l * 0.72441);
dSY[135] = (int) (ky + l * (1.0 - 0.84423));
dSX[136] = (int) (kx + l * 0.45169);
dSY[136] = (int) (ky + l * (1.0 - 0.66888));
dSX[137] = (int) (kx + l * 0.7291);
dSY[137] = (int) (ky + l * (1.0 - 0.85748));
dSX[138] = (int) (kx + l * 0.38792);
dSY[138] = (int) (ky + l * (1.0 - 0.74045));
dSX[139] = (int) (kx + l * 0.69006);
dSY[139] = (int) (ky + l * (1.0 - 0.88995));
dSX[140] = (int) (kx + l * 0.09004);
dSY[140] = (int) (ky + l * (1.0 - 0.57847));
dSX[141] = (int) (kx + l * 0.20986);
dSY[141] = (int) (ky + l * (1.0 - 0.21552));
dSX[142] = (int) (kx + l * 0.22969);
dSY[142] = (int) (ky + l * (1.0 - 0.79372));
dSX[143] = (int) (kx + l * 0.2407);
dSY[143] = (int) (ky + l * (1.0 - 0.78147));
dSX[144] = (int) (kx + l * 0.83483);
dSY[144] = (int) (ky + l * (1.0 - 0.35725));
dSX[145] = (int) (kx + l * 0.74069);
dSY[145] = (int) (ky + l * (1.0 - 0.87034));
dSX[146] = (int) (kx + l * 0.53127);
dSY[146] = (int) (ky + l * (1.0 - 0.69099));
dSX[147] = (int) (kx + l * 0.73562);
dSY[147] = (int) (ky + l * (1.0 - 0.89203));
dSX[148] = (int) (kx + l * 0.22449);
dSY[148] = (int) (ky + l * (1.0 - 0.14296));
dSX[149] = (int) (kx + l * 0.74473);
dSY[149] = (int) (ky + l * (1.0 - 0.85085));
dSX[150] = (int) (kx + l * 0.80492);
dSY[150] = (int) (ky + l * (1.0 - 0.40119));
dSX[151] = (int) (kx + l * 0.66545);
dSY[151] = (int) (ky + l * (1.0 - 0.14658));
dSX[152] = (int) (kx + l * 0.74401);
dSY[152] = (int) (ky + l * (1.0 - 0.88545));
dSX[153] = (int) (kx + l * 0.16486);
dSY[153] = (int) (ky + l * (1.0 - 0.81768));
dSX[154] = (int) (kx + l * 0.10909);
dSY[154] = (int) (ky + l * (1.0 - 0.58963));
dSX[155] = (int) (kx + l * 0.36812);
dSY[155] = (int) (ky + l * (1.0 - 0.71451));
dSX[156] = (int) (kx + l * 0.77083);
dSY[156] = (int) (ky + l * (1.0 - 0.86754));
dSX[157] = (int) (kx + l * 0.19709);
dSY[157] = (int) (ky + l * (1.0 - 0.16813));
dSX[158] = (int) (kx + l * 0.08257);
dSY[158] = (int) (ky + l * (1.0 - 0.57901));
dSX[159] = (int) (kx + l * 0.81561);
dSY[159] = (int) (ky + l * (1.0 - 0.38789));
dSX[160] = (int) (kx + l * 0.11613);
dSY[160] = (int) (ky + l * (1.0 - 0.61403));
dSX[161] = (int) (kx + l * 0.16391);
dSY[161] = (int) (ky + l * (1.0 - 0.10041));
dSX[162] = (int) (kx + l * 0.36024);
dSY[162] = (int) (ky + l * (1.0 - 0.75178));
dSX[163] = (int) (kx + l * 0.73822);
dSY[163] = (int) (ky + l * (1.0 - 0.84884));
dSX[164] = (int) (kx + l * 0.22963);
dSY[164] = (int) (ky + l * (1.0 - 0.11442));
dSX[165] = (int) (kx + l * 0.01152);
dSY[165] = (int) (ky + l * (1.0 - 0.27939));
dSX[166] = (int) (kx + l * 0.74314);
dSY[166] = (int) (ky + l * (1.0 - 0.87522));
dSX[167] = (int) (kx + l * 0.22871);
dSY[167] = (int) (ky + l * (1.0 - 0.134));
dSX[168] = (int) (kx + l * 0.14996);
dSY[168] = (int) (ky + l * (1.0 - 0.54459));
dSX[169] = (int) (kx + l * 0.14354);
dSY[169] = (int) (ky + l * (1.0 - 0.25589));
dSX[170] = (int) (kx + l * 0.0779);
dSY[170] = (int) (ky + l * (1.0 - 0.2636));
dSX[171] = (int) (kx + l * 0.13208);
dSY[171] = (int) (ky + l * (1.0 - 0.28005));
dSX[172] = (int) (kx + l * 0.2498);
dSY[172] = (int) (ky + l * (1.0 - 0.75765));
dSX[173] = (int) (kx + l * 0.30859);
dSY[173] = (int) (ky + l * (1.0 - 0.08592));
dSX[174] = (int) (kx + l * 0.03277);
dSY[174] = (int) (ky + l * (1.0 - 0.25141));
dSX[175] = (int) (kx + l * 0.69026);
dSY[175] = (int) (ky + l * (1.0 - 0.11579));
dSX[176] = (int) (kx + l * 0.70569);
dSY[176] = (int) (ky + l * (1.0 - 0.20655));
dSX[177] = (int) (kx + l * 0.19796);
dSY[177] = (int) (ky + l * (1.0 - 0.1327));
dSX[178] = (int) (kx + l * 0.10402);
dSY[178] = (int) (ky + l * (1.0 - 0.18623));
dSX[179] = (int) (kx + l * 0.20623);
dSY[179] = (int) (ky + l * (1.0 - 0.17315));
dSX[180] = (int) (kx + l * 0.14383);
dSY[180] = (int) (ky + l * (1.0 - 0.16819));
dSX[181] = (int) (kx + l * 0.43416);
dSY[181] = (int) (ky + l * (1.0 - 0.81161));
dSX[182] = (int) (kx + l * 0.21801);
dSY[182] = (int) (ky + l * (1.0 - 0.1926));
dSX[183] = (int) (kx + l * 0.80582);
dSY[183] = (int) (ky + l * (1.0 - 0.40684));
dSX[184] = (int) (kx + l * 0.47273);
dSY[184] = (int) (ky + l * (1.0 - 0.66746));
dSX[185] = (int) (kx + l * 0.72923);
dSY[185] = (int) (ky + l * (1.0 - 0.91807));
dSX[186] = (int) (kx + l * 0.21609);
dSY[186] = (int) (ky + l * (1.0 - 0.14719));
dSX[187] = (int) (kx + l * 0.61592);
dSY[187] = (int) (ky + l * (1.0 - 0.17603));
dSX[188] = (int) (kx + l * 0.25956);
dSY[188] = (int) (ky + l * (1.0 - 0.74824));
dSX[189] = (int) (kx + l * 0.10157);
dSY[189] = (int) (ky + l * (1.0 - 0.25437));
dSX[190] = (int) (kx + l * 0.34822);
dSY[190] = (int) (ky + l * (1.0 - 0.74119));
dSX[191] = (int) (kx + l * 0.37535);
dSY[191] = (int) (ky + l * (1.0 - 0.68263));
dSX[192] = (int) (kx + l * 0.11609);
dSY[192] = (int) (ky + l * (1.0 - 0.25491));
dSX[193] = (int) (kx + l * 0.84751);
dSY[193] = (int) (ky + l * (1.0 - 0.36326));
dSX[194] = (int) (kx + l * 0.48434);
dSY[194] = (int) (ky + l * (1.0 - 0.71852));
dSX[195] = (int) (kx + l * 0.82894);
dSY[195] = (int) (ky + l * (1.0 - 0.38072));
dSX[196] = (int) (kx + l * 0.23618);
dSY[196] = (int) (ky + l * (1.0 - 0.78797));
dSX[197] = (int) (kx + l * 0.70894);
dSY[197] = (int) (ky + l * (1.0 - 0.84481));
dSX[198] = (int) (kx + l * 0.21377);
dSY[198] = (int) (ky + l * (1.0 - 0.08697));
dSX[199] = (int) (kx + l * 0.08777);
dSY[199] = (int) (ky + l * (1.0 - 0.23077));
dSX[200] = (int) (kx + l * 0.4627);
dSY[200] = (int) (ky + l * (1.0 - 0.68689));
dSX[201] = (int) (kx + l * 0.1064);
dSY[201] = (int) (ky + l * (1.0 - 0.13423));
dSX[202] = (int) (kx + l * 0.34044);
dSY[202] = (int) (ky + l * (1.0 - 0.71728));
dSX[203] = (int) (kx + l * 0.14377);
dSY[203] = (int) (ky + l * (1.0 - 0.10488));
dSX[204] = (int) (kx + l * 0.83586);
dSY[204] = (int) (ky + l * (1.0 - 0.39654));
dSX[205] = (int) (kx + l * 0.23719);
dSY[205] = (int) (ky + l * (1.0 - 0.75877));
dSX[206] = (int) (kx + l * 0.72909);
dSY[206] = (int) (ky + l * (1.0 - 0.83794));
dSX[207] = (int) (kx + l * 0.11163);
dSY[207] = (int) (ky + l * (1.0 - 0.57717));
dSX[208] = (int) (kx + l * 0.82082);
dSY[208] = (int) (ky + l * (1.0 - 0.38887));
dSX[209] = (int) (kx + l * 0.23973);
dSY[209] = (int) (ky + l * (1.0 - 0.09762));
dSX[210] = (int) (kx + l * 0.18049);
dSY[210] = (int) (ky + l * (1.0 - 0.7213));
dSX[211] = (int) (kx + l * 0.17251);
dSY[211] = (int) (ky + l * (1.0 - 0.06261));
dSX[212] = (int) (kx + l * 0.73943);
dSY[212] = (int) (ky + l * (1.0 - 0.1515));
dSX[213] = (int) (kx + l * 0.12257);
dSY[213] = (int) (ky + l * (1.0 - 0.21737));
dSX[214] = (int) (kx + l * 0.72598);
dSY[214] = (int) (ky + l * (1.0 - 0.87021));
dSX[215] = (int) (kx + l * 0.7244);
dSY[215] = (int) (ky + l * (1.0 - 0.88142));
dSX[216] = (int) (kx + l * 0.21058);
dSY[216] = (int) (ky + l * (1.0 - 0.83842));
dSX[217] = (int) (kx + l * 0.34401);
dSY[217] = (int) (ky + l * (1.0 - 0.72108));
dSX[218] = (int) (kx + l * 0.65233);
dSY[218] = (int) (ky + l * (1.0 - 0.15241));
dSX[219] = (int) (kx + l * 0.1184);
dSY[219] = (int) (ky + l * (1.0 - 0.59815));
dSX[220] = (int) (kx + l * 0.20673);
dSY[220] = (int) (ky + l * (1.0 - 0.09814));
dSX[221] = (int) (kx + l * 0.65673);
dSY[221] = (int) (ky + l * (1.0 - 0.19377));
dSX[222] = (int) (kx + l * 0.46674);
dSY[222] = (int) (ky + l * (1.0 - 0.7408));
dSX[223] = (int) (kx + l * 0.14444);
dSY[223] = (int) (ky + l * (1.0 - 0.18892));
dSX[224] = (int) (kx + l * 0.44631);
dSY[224] = (int) (ky + l * (1.0 - 0.72023));
dSX[225] = (int) (kx + l * 0.18501);
dSY[225] = (int) (ky + l * (1.0 - 0.81523));
dSX[226] = (int) (kx + l * 0.67013);
dSY[226] = (int) (ky + l * (1.0 - 0.17383));
dSX[227] = (int) (kx + l * 0.21007);
dSY[227] = (int) (ky + l * (1.0 - 0.11003));
dSX[228] = (int) (kx + l * 0.28895);
dSY[228] = (int) (ky + l * (1.0 - 0.79667));
dSX[229] = (int) (kx + l * 0.355);
dSY[229] = (int) (ky + l * (1.0 - 0.77679));
dSX[230] = (int) (kx + l * 0.8031);
dSY[230] = (int) (ky + l * (1.0 - 0.40707));
dSX[231] = (int) (kx + l * 0.20507);
dSY[231] = (int) (ky + l * (1.0 - 0.23746));
dSX[232] = (int) (kx + l * 0.2091);
dSY[232] = (int) (ky + l * (1.0 - 0.1445));
dSX[233] = (int) (kx + l * 0.69395);
dSY[233] = (int) (ky + l * (1.0 - 0.87292));
dSX[234] = (int) (kx + l * 0.26225);
dSY[234] = (int) (ky + l * (1.0 - 0.83517));
dSX[235] = (int) (kx + l * 0.46057);
dSY[235] = (int) (ky + l * (1.0 - 0.66066));
dSX[236] = (int) (kx + l * 0.46715);
dSY[236] = (int) (ky + l * (1.0 - 0.62083));
dSX[237] = (int) (kx + l * 0.15991);
dSY[237] = (int) (ky + l * (1.0 - 0.16164));
dSX[238] = (int) (kx + l * 0.66818);
dSY[238] = (int) (ky + l * (1.0 - 0.18336));
dSX[239] = (int) (kx + l * 0.1206);
dSY[239] = (int) (ky + l * (1.0 - 0.20415));
dSX[240] = (int) (kx + l * 0.11134);
dSY[240] = (int) (ky + l * (1.0 - 0.17899));
dSX[241] = (int) (kx + l * 0.81705);
dSY[241] = (int) (ky + l * (1.0 - 0.3876));
dSX[242] = (int) (kx + l * 0.16158);
dSY[242] = (int) (ky + l * (1.0 - 0.58197));
dSX[243] = (int) (kx + l * 0.71638);
dSY[243] = (int) (ky + l * (1.0 - 0.92072));
dSX[244] = (int) (kx + l * 0.70824);
dSY[244] = (int) (ky + l * (1.0 - 0.86881));
dSX[245] = (int) (kx + l * 0.21828);
dSY[245] = (int) (ky + l * (1.0 - 0.07292));
dSX[246] = (int) (kx + l * 0.23573);
dSY[246] = (int) (ky + l * (1.0 - 0.05748));
dSX[247] = (int) (kx + l * 0.11584);
dSY[247] = (int) (ky + l * (1.0 - 0.70939));
dSX[248] = (int) (kx + l * 0.1235);
dSY[248] = (int) (ky + l * (1.0 - 0.23567));
dSX[249] = (int) (kx + l * 0.18015);
dSY[249] = (int) (ky + l * (1.0 - 0.73396));
dSX[250] = (int) (kx + l * 0.04505);
dSY[250] = (int) (ky + l * (1.0 - 0.22103));
dSX[251] = (int) (kx + l * 0.75712);
dSY[251] = (int) (ky + l * (1.0 - 0.89093));
dSX[252] = (int) (kx + l * 0.51855);
dSY[252] = (int) (ky + l * (1.0 - 0.68719));
dSX[253] = (int) (kx + l * 0.20628);
dSY[253] = (int) (ky + l * (1.0 - 0.78227));
dSX[254] = (int) (kx + l * 0.3027);
dSY[254] = (int) (ky + l * (1.0 - 0.74326));
dSX[255] = (int) (kx + l * 0.72344);
dSY[255] = (int) (ky + l * (1.0 - 0.86115));
dSX[256] = (int) (kx + l * 0.7823);
dSY[256] = (int) (ky + l * (1.0 - 0.40698));
dSX[257] = (int) (kx + l * 0.80725);
dSY[257] = (int) (ky + l * (1.0 - 0.36859));
dSX[258] = (int) (kx + l * 0.22767);
dSY[258] = (int) (ky + l * (1.0 - 0.72875));
dSX[259] = (int) (kx + l * 0.8389);
dSY[259] = (int) (ky + l * (1.0 - 0.36071));
dSX[260] = (int) (kx + l * 0.15643);
dSY[260] = (int) (ky + l * (1.0 - 0.1861));
dSX[261] = (int) (kx + l * 0.70301);
dSY[261] = (int) (ky + l * (1.0 - 0.13106));
dSX[262] = (int) (kx + l * 0.27509);
dSY[262] = (int) (ky + l * (1.0 - 0.07504));
dSX[263] = (int) (kx + l * 0.26088);
dSY[263] = (int) (ky + l * (1.0 - 0.7257));
dSX[264] = (int) (kx + l * 0.21206);
dSY[264] = (int) (ky + l * (1.0 - 0.75771));
dSX[265] = (int) (kx + l * 0.13805);
dSY[265] = (int) (ky + l * (1.0 - 0.58384));
dSX[266] = (int) (kx + l * 0.77447);
dSY[266] = (int) (ky + l * (1.0 - 0.88097));
dSX[267] = (int) (kx + l * 0.24243);
dSY[267] = (int) (ky + l * (1.0 - 0.76475));
dSX[268] = (int) (kx + l * 0.22454);
dSY[268] = (ky + l); // -0.01632
dSX[269] = (int) (kx + l * 0.46329);
dSY[269] = (int) (ky + l * (1.0 - 0.66386));
dSX[270] = (int) (kx + l * 0.42856);
dSY[270] = (int) (ky + l * (1.0 - 0.77059));
dSX[271] = (int) (kx + l * 0.09912);
dSY[271] = (int) (ky + l * (1.0 - 0.23061));
dSX[272] = (int) (kx + l * 0.40031);
dSY[272] = (int) (ky + l * (1.0 - 0.7123));
dSX[273] = (int) (kx + l * 0.41085);
dSY[273] = (int) (ky + l * (1.0 - 0.68234));
dSX[274] = (int) (kx + l * 0.16843);
dSY[274] = (int) (ky + l * (1.0 - 0.21484));
dSX[275] = (int) (kx + l * 0.19902);
dSY[275] = (int) (ky + l * (1.0 - 0.74001));
dSX[276] = (int) (kx + l * 0.23913);
dSY[276] = (int) (ky + l * (1.0 - 0.83891));
dSX[277] = (int) (kx + l * 0.52281);
dSY[277] = (int) (ky + l * (1.0 - 0.68538));
dSX[278] = (int) (kx + l * 0.77193);
dSY[278] = (int) (ky + l * (1.0 - 0.85292));
dSX[279] = (int) (kx + l * 0.62099);
dSY[279] = (int) (ky + l * (1.0 - 0.1954));
dSX[280] = (int) (kx + l * 0.76508);
dSY[280] = (int) (ky + l * (1.0 - 0.88685));
dSX[281] = (int) (kx + l * 0.17655);
dSY[281] = (int) (ky + l * (1.0 - 0.19809));
dSX[282] = (int) (kx + l * 0.25752);
dSY[282] = (int) (ky + l * (1.0 - 0.14649));
dSX[283] = (int) (kx + l * 0.41938);
dSY[283] = (int) (ky + l * (1.0 - 0.66025));
dSX[284] = (int) (kx + l * 0.64649);
dSY[284] = (int) (ky + l * (1.0 - 0.16984));
dSX[285] = (int) (kx + l * 0.83039);
dSY[285] = (int) (ky + l * (1.0 - 0.36848));
dSX[286] = (int) (kx + l * 0.47482);
dSY[286] = (int) (ky + l * (1.0 - 0.75725));
dSX[287] = (int) (kx + l * 0.36224);
dSY[287] = (int) (ky + l * (1.0 - 0.72407));
dSX[288] = (int) (kx + l * 0.41691);
dSY[288] = (int) (ky + l * (1.0 - 0.76211));
dSX[289] = (int) (kx + l * 0.71197);
dSY[289] = (int) (ky + l * (1.0 - 0.88301));
dSX[290] = (int) (kx + l * 0.38875);
dSY[290] = (int) (ky + l * (1.0 - 0.66923));
dSX[291] = (int) (kx + l * 0.65122);
dSY[291] = (int) (ky + l * (1.0 - 0.2006));
dSX[292] = (int) (kx + l * 0.14963);
dSY[292] = (int) (ky + l * (1.0 - 0.58176));
dSX[293] = (int) (kx + l * 0.12702);
dSY[293] = (int) (ky + l * (1.0 - 0.20527));
dSX[294] = (int) (kx + l * 0.21471);
dSY[294] = (int) (ky + l * (1.0 - 0.80336));
dSX[295] = (int) (kx + l * 0.1117);
dSY[295] = (int) (ky + l * (1.0 - 0.58565));
dSX[296] = (int) (kx + l * 0.21964);
dSY[296] = (int) (ky + l * (1.0 - 0.05787));
dSX[297] = (int) (kx + l * 0.52603);
dSY[297] = (int) (ky + l * (1.0 - 0.68563));
dSX[298] = (int) (kx + l * 0.2513);
dSY[298] = (int) (ky + l * (1.0 - 0.11038));
dSX[299] = (int) (kx + l * 0.23048);
dSY[299] = (int) (ky + l * (1.0 - 0.81628));
dSX[300] = (int) (kx + l * 0.07918);
dSY[300] = (int) (ky + l * (1.0 - 0.59745));
dSX[301] = (int) (kx + l * 0.39107);
dSY[301] = (int) (ky + l * (1.0 - 0.70391));
dSX[302] = (int) (kx + l * 0.1921);
dSY[302] = (int) (ky + l * (1.0 - 0.75531));
dSX[303] = (int) (kx + l * 0.69606);
dSY[303] = (int) (ky + l * (1.0 - 0.21785));
dSX[304] = (int) (kx + l * 0.14619);
dSY[304] = (int) (ky + l * (1.0 - 0.57905));
dSX[305] = (int) (kx + l * 0.79628);
dSY[305] = (int) (ky + l * (1.0 - 0.3461));
dSX[306] = (int) (kx + l * 0.26276);
dSY[306] = (int) (ky + l * (1.0 - 0.17608));
dSX[307] = (int) (kx + l * 0.32383);
dSY[307] = (int) (ky + l * (1.0 - 0.74517));
dSX[308] = (int) (kx + l * 0.71259);
dSY[308] = (int) (ky + l * (1.0 - 0.85462));
dSX[309] = (int) (kx + l * 0.11917);
dSY[309] = (int) (ky + l * (1.0 - 0.25115));
dSX[310] = (int) (kx + l * 0.15771);
dSY[310] = (int) (ky + l * (1.0 - 0.5723));
dSX[311] = (int) (kx + l * 0.74207);
dSY[311] = (int) (ky + l * (1.0 - 0.86498));
dSX[312] = (int) (kx + l * 0.30246);
dSY[312] = (int) (ky + l * (1.0 - 0.66994));
dSX[313] = (int) (kx + l * 0.20864);
dSY[313] = (int) (ky + l * (1.0 - 0.16323));
dSX[314] = (int) (kx + l * 0.1412);
dSY[314] = (int) (ky + l * (1.0 - 0.56028));
dSX[315] = (int) (kx + l * 0.82053);
dSY[315] = (int) (ky + l * (1.0 - 0.35693));
dSX[316] = (int) (kx + l * 0.22989);
dSY[316] = (int) (ky + l * (1.0 - 0.81021));
dSX[317] = (int) (kx + l * 0.10676);
dSY[317] = (int) (ky + l * (1.0 - 0.20945));
dSX[318] = (int) (kx + l * 0.24867);
dSY[318] = (int) (ky + l * (1.0 - 0.13241));
dSX[319] = (int) (kx + l * 0.18081);
dSY[319] = (int) (ky + l * (1.0 - 0.77961));
dSX[320] = (int) (kx + l * 0.8051);
dSY[320] = (int) (ky + l * (1.0 - 0.37642));
dSX[321] = (int) (kx + l * 0.71303);
dSY[321] = (int) (ky + l * (1.0 - 0.87868));
dSX[322] = (int) (kx + l * 0.20502);
dSY[322] = (int) (ky + l * (1.0 - 0.20587));
dSX[323] = (int) (kx + l * 0.47605);
dSY[323] = (int) (ky + l * (1.0 - 0.68292));
dSX[324] = (int) (kx + l * 0.20975);
dSY[324] = (int) (ky + l * (1.0 - 0.13444));
dSX[325] = (int) (kx + l * 0.7098);
dSY[325] = (int) (ky + l * (1.0 - 0.85967));
dSX[326] = (int) (kx + l * 0.19912);
dSY[326] = (int) (ky + l * (1.0 - 0.11887));
dSX[327] = (int) (kx + l * 0.21338);
dSY[327] = (int) (ky + l * (1.0 - 0.15242));
dSX[328] = (int) (kx + l * 0.0816);
dSY[328] = (int) (ky + l * (1.0 - 0.20505));
dSX[329] = (int) (kx + l * 0.81617);
dSY[329] = (int) (ky + l * (1.0 - 0.37632));
dSX[330] = (int) (kx + l * 0.11072);
dSY[330] = (int) (ky + l * (1.0 - 0.1742));
dSX[331] = (int) (kx + l * 0.44663);
dSY[331] = (int) (ky + l * (1.0 - 0.7283));
dSX[332] = (int) (kx + l * 0.43758);
dSY[332] = (int) (ky + l * (1.0 - 0.7116));
dSX[333] = (int) (kx + l * 0.11169);
dSY[333] = (int) (ky + l * (1.0 - 0.58286));
dSX[334] = (int) (kx + l * 0.21739);
dSY[334] = (int) (ky + l * (1.0 - 0.808));
dSX[335] = (int) (kx + l * 0.11504);
dSY[335] = (int) (ky + l * (1.0 - 0.58542));
dSX[336] = (int) (kx + l * 0.22232);
dSY[336] = (int) (ky + l * (1.0 - 0.10244));
dSX[337] = (int) (kx + l * 0.13277);
dSY[337] = (int) (ky + l * (1.0 - 0.5679));
dSX[338] = (int) (kx + l * 0.41598);
dSY[338] = (int) (ky + l * (1.0 - 0.73469));
dSX[339] = (int) (kx + l * 0.23372);
dSY[339] = (int) (ky + l * (1.0 - 0.76431));
dSX[340] = (int) (kx + l * 0.32057);
dSY[340] = (int) (ky + l * (1.0 - 0.75133));
dSX[341] = (int) (kx + l * 0.82525);
dSY[341] = (int) (ky + l * (1.0 - 0.39564));
dSX[342] = (int) (kx + l * 0.15967);
dSY[342] = (int) (ky + l * (1.0 - 0.17686));
dSX[343] = (int) (kx + l * 0.65594);
dSY[343] = (int) (ky + l * (1.0 - 0.90155));
dSX[344] = (int) (kx + l * 0.71754);
dSY[344] = (int) (ky + l * (1.0 - 0.87787));
dSX[345] = (int) (kx + l * 0.11191);
dSY[345] = (int) (ky + l * (1.0 - 0.59932));
dSX[346] = (int) (kx + l * 0.2125);
dSY[346] = (int) (ky + l * (1.0 - 0.05011));
dSX[347] = (int) (kx + l * 0.21381);
dSY[347] = (int) (ky + l * (1.0 - 0.13874));
dSX[348] = (int) (kx + l * 0.32597);
dSY[348] = (int) (ky + l * (1.0 - 0.702));
dSX[349] = (int) (kx + l * 0.84447);
dSY[349] = (int) (ky + l * (1.0 - 0.377));
dSX[350] = (int) (kx + l * 0.23257);
dSY[350] = (int) (ky + l * (1.0 - 0.0836));
dSX[351] = (int) (kx + l * 0.09849);
dSY[351] = (int) (ky + l * (1.0 - 0.15117));
dSX[352] = (int) (kx + l * 0.25526);
dSY[352] = (int) (ky + l * (1.0 - 0.156));
dSX[353] = (int) (kx + l * 0.46334);
dSY[353] = (int) (ky + l * (1.0 - 0.69123));
dSX[354] = (int) (kx + l * 0.48943);
dSY[354] = (int) (ky + l * (1.0 - 0.75123));
dSX[355] = (int) (kx + l * 0.7088);
dSY[355] = (int) (ky + l * (1.0 - 0.8525));
dSX[356] = (int) (kx + l * 0.29138);
dSY[356] = (int) (ky + l * (1.0 - 0.73165));
dSX[357] = (int) (kx + l * 0.15562);
dSY[357] = (int) (ky + l * (1.0 - 0.80957));
dSX[358] = (int) (kx + l * 0.45633);
dSY[358] = (int) (ky + l * (1.0 - 0.62115));
dSX[359] = (int) (kx + l * 0.22247);
dSY[359] = (int) (ky + l * (1.0 - 0.73574));
dSX[360] = (int) (kx + l * 0.20278);
dSY[360] = (int) (ky + l * (1.0 - 0.02718));
dSX[361] = (int) (kx + l * 0.1757);
dSY[361] = (int) (ky + l * (1.0 - 0.77329));
dSX[362] = (int) (kx + l * 0.81154);
dSY[362] = (int) (ky + l * (1.0 - 0.34851));
dSX[363] = (int) (kx + l * 0.63127);
dSY[363] = (int) (ky + l * (1.0 - 0.19212));
dSX[364] = (int) (kx + l * 0.80712);
dSY[364] = (int) (ky + l * (1.0 - 0.3727));
dSX[365] = (int) (kx + l * 0.79678);
dSY[365] = (int) (ky + l * (1.0 - 0.37069));
dSX[366] = (int) (kx + l * 0.65493);
dSY[366] = (int) (ky + l * (1.0 - 0.17201));
dSX[367] = (int) (kx + l * 0.11119);
dSY[367] = (int) (ky + l * (1.0 - 0.55032));
dSX[368] = (int) (kx + l * 0.35914);
dSY[368] = (int) (ky + l * (1.0 - 0.69928));
dSX[369] = (int) (kx + l * 0.84783);
dSY[369] = (int) (ky + l * (1.0 - 0.38467));
dSX[370] = (int) (kx + l * 0.25637);
dSY[370] = (int) (ky + l * (1.0 - 0.16449));
dSX[371] = (int) (kx + l * 0.4251);
dSY[371] = (int) (ky + l * (1.0 - 0.75901));
dSX[372] = (int) (kx + l * 0.19824);
dSY[372] = (int) (ky + l * (1.0 - 0.85476));
dSX[373] = (int) (kx + l * 0.49887);
dSY[373] = (int) (ky + l * (1.0 - 0.69768));
dSX[374] = (int) (kx + l * 0.86102);
dSY[374] = (int) (ky + l * (1.0 - 0.37142));
dSX[375] = (int) (kx + l * 0.19372);
dSY[375] = (int) (ky + l * (1.0 - 0.80485));
dSX[376] = (int) (kx + l * 0.11601);
dSY[376] = (int) (ky + l * (1.0 - 0.55327));
dSX[377] = (int) (kx + l * 0.72774);
dSY[377] = (int) (ky + l * (1.0 - 0.87631));
dSX[378] = (int) (kx + l * 0.24923);
dSY[378] = (int) (ky + l * (1.0 - 0.79912));
dSX[379] = (int) (kx + l * 0.4765);
dSY[379] = (int) (ky + l * (1.0 - 0.68893));
dSX[380] = (int) (kx + l * 0.82476);
dSY[380] = (int) (ky + l * (1.0 - 0.35662));
dSX[381] = (int) (kx + l * 0.73111);
dSY[381] = (int) (ky + l * (1.0 - 0.17849));
dSX[382] = (int) (kx + l * 0.23645);
dSY[382] = (int) (ky + l * (1.0 - 0.8192));
dSX[383] = (int) (kx + l * 0.24282);
dSY[383] = (int) (ky + l * (1.0 - 0.79375));
dSX[384] = (int) (kx + l * 0.32193);
dSY[384] = (int) (ky + l * (1.0 - 0.73014));
dSX[385] = (int) (kx + l * 0.18991);
dSY[385] = (int) (ky + l * (1.0 - 0.76666));
dSX[386] = (int) (kx + l * 0.4943);
dSY[386] = (int) (ky + l * (1.0 - 0.64545));
dSX[387] = (int) (kx + l * 0.45752);
dSY[387] = (int) (ky + l * (1.0 - 0.68871));
dSX[388] = (int) (kx + l * 0.27258);
dSY[388] = (int) (ky + l * (1.0 - 0.75787));
dSX[389] = (int) (kx + l * 0.48832);
dSY[389] = (int) (ky + l * (1.0 - 0.66738));
dSX[390] = (int) (kx + l * 0.70802);
dSY[390] = (int) (ky + l * (1.0 - 0.84396));
dSX[391] = (int) (kx + l * 0.36794);
dSY[391] = (int) (ky + l * (1.0 - 0.63548));
dSX[392] = (int) (kx + l * 0.37738);
dSY[392] = (int) (ky + l * (1.0 - 0.73531));
dSX[393] = (int) (kx + l * 0.23611);
dSY[393] = (int) (ky + l * (1.0 - 0.10068));
dSX[394] = (int) (kx + l * 0.2211);
dSY[394] = (int) (ky + l * (1.0 - 0.77825));
dSX[395] = (int) (kx + l * 0.21163);
dSY[395] = (int) (ky + l * (1.0 - 0.12681));
dSX[396] = (int) (kx + l * 0.18089);
dSY[396] = (int) (ky + l * (1.0 - 0.73562));
dSX[397] = (int) (kx + l * 0.66299);
dSY[397] = (int) (ky + l * (1.0 - 0.22315));
dSX[398] = (int) (kx + l * 0.21315);
dSY[398] = (int) (ky + l * (1.0 - 0.13477));
dSX[399] = (int) (kx + l * 0.71559);
dSY[399] = (int) (ky + l * (1.0 - 0.89859));
dSX[400] = (int) (kx + l * 0.43222);
dSY[400] = (int) (ky + l * (1.0 - 0.77103));
dSX[401] = (int) (kx + l * 0.87618);
dSY[401] = (int) (ky + l * (1.0 - 0.37878));
dSX[402] = (int) (kx + l * 0.26296);
dSY[402] = (int) (ky + l * (1.0 - 0.15748));
dSX[403] = (int) (kx + l * 0.1686);
dSY[403] = (int) (ky + l * (1.0 - 0.20094));
dSX[404] = (int) (kx + l * 0.6815);
dSY[404] = (int) (ky + l * (1.0 - 0.10764));
dSX[405] = (int) (kx + l * 0.37811);
dSY[405] = (int) (ky + l * (1.0 - 0.70541));
dSX[406] = (int) (kx + l * 0.36094);
dSY[406] = (int) (ky + l * (1.0 - 0.67579));
dSX[407] = (int) (kx + l * 0.82511);
dSY[407] = (int) (ky + l * (1.0 - 0.41853));
dSX[408] = (int) (kx + l * 0.14138);
dSY[408] = (int) (ky + l * (1.0 - 0.23299));
dSX[409] = (int) (kx + l * 0.67249);
dSY[409] = (int) (ky + l * (1.0 - 0.20002));
dSX[410] = (int) (kx + l * 0.23894);
dSY[410] = (int) (ky + l * (1.0 - 0.17142));
dSX[411] = (int) (kx + l * 0.75744);
dSY[411] = (int) (ky + l * (1.0 - 0.14058));
dSX[412] = (int) (kx + l * 0.17161);
dSY[412] = (int) (ky + l * (1.0 - 0.10035));
dSX[413] = (int) (kx + l * 0.48828);
dSY[413] = (int) (ky + l * (1.0 - 0.66026));
dSX[414] = (int) (kx + l * 0.09221);
dSY[414] = (int) (ky + l * (1.0 - 0.24637));
dSX[415] = (int) (kx + l * 0.16063);
dSY[415] = (int) (ky + l * (1.0 - 0.59428));
dSX[416] = (int) (kx + l * 0.12893);
dSY[416] = (int) (ky + l * (1.0 - 0.59674));
dSX[417] = (int) (kx + l * 0.35694);
dSY[417] = (int) (ky + l * (1.0 - 0.78796));
dSX[418] = (int) (kx + l * 0.41546);
dSY[418] = (int) (ky + l * (1.0 - 0.76092));
dSX[419] = (int) (kx + l * 0.16968);
dSY[419] = (int) (ky + l * (1.0 - 0.83991));
dSX[420] = (int) (kx + l * 0.10334);
dSY[420] = (int) (ky + l * (1.0 - 0.13985));
dSX[421] = (int) (kx + l * 0.16873);
dSY[421] = (int) (ky + l * (1.0 - 0.03174));
dSX[422] = (int) (kx + l * 0.09976);
dSY[422] = (int) (ky + l * (1.0 - 0.57833));
dSX[423] = (int) (kx + l * 0.73443);
dSY[423] = (int) (ky + l * (1.0 - 0.86841));
dSX[424] = (int) (kx + l * 0.2138);
dSY[424] = (int) (ky + l * (1.0 - 0.14457));
dSX[425] = (int) (kx + l * 0.18475);
dSY[425] = (int) (ky + l * (1.0 - 0.73202));
dSX[426] = (int) (kx + l * 0.48298);
dSY[426] = (int) (ky + l * (1.0 - 0.70441));
dSX[427] = (int) (kx + l * 0.18751);
dSY[427] = (int) (ky + l * (1.0 - 0.17179));
dSX[428] = (int) (kx + l * 0.15242);
dSY[428] = (int) (ky + l * (1.0 - 0.56863));
dSX[429] = (int) (kx + l * 0.47199);
dSY[429] = (int) (ky + l * (1.0 - 0.60514));
dSX[430] = (int) (kx + l * 0.08912);
dSY[430] = (int) (ky + l * (1.0 - 0.59353));
dSX[431] = (int) (kx + l * 0.14872);
dSY[431] = (int) (ky + l * (1.0 - 0.63872));
dSX[432] = (int) (kx + l * 0.79864);
dSY[432] = (int) (ky + l * (1.0 - 0.35493));
dSX[433] = (int) (kx + l * 0.35112);
dSY[433] = (int) (ky + l * (1.0 - 0.78383));
dSX[434] = (int) (kx + l * 0.69891);
dSY[434] = (int) (ky + l * (1.0 - 0.84894));
dSX[435] = (int) (kx + l * 0.80731);
dSY[435] = (int) (ky + l * (1.0 - 0.39325));
dSX[436] = (int) (kx + l * 0.82968);
dSY[436] = (int) (ky + l * (1.0 - 0.3552));
dSX[437] = (int) (kx + l * 0.72571);
dSY[437] = (int) (ky + l * (1.0 - 0.19687));
dSX[438] = (int) (kx + l * 0.69843);
dSY[438] = (int) (ky + l * (1.0 - 0.84846));
dSX[439] = (int) (kx + l * 0.84693);
dSY[439] = (int) (ky + l * (1.0 - 0.40964));
dSX[440] = (int) (kx + l * 0.20669);
dSY[440] = (int) (ky + l * (1.0 - 0.77071));
dSX[441] = (int) (kx + l * 0.12141);
dSY[441] = (int) (ky + l * (1.0 - 0.58855));
dSX[442] = (int) (kx + l * 0.2279);
dSY[442] = (int) (ky + l * (1.0 - 0.12276));
dSX[443] = (int) (kx + l * 0.83297);
dSY[443] = (int) (ky + l * (1.0 - 0.39735));
dSX[444] = (int) (kx + l * 0.14542);
dSY[444] = (int) (ky + l * (1.0 - 0.56013));
dSX[445] = (int) (kx + l * 0.12433);
dSY[445] = (int) (ky + l * (1.0 - 0.20911));
dSX[446] = (int) (kx + l * 0.72573);
dSY[446] = (int) (ky + l * (1.0 - 0.8408));
dSX[447] = (int) (kx + l * 0.09379);
dSY[447] = (int) (ky + l * (1.0 - 0.55713));
dSX[448] = (int) (kx + l * 0.14829);
dSY[448] = (int) (ky + l * (1.0 - 0.23154));
dSX[449] = (int) (kx + l * 0.4523);
dSY[449] = (int) (ky + l * (1.0 - 0.67249));
dSX[450] = (int) (kx + l * 0.11726);
dSY[450] = (int) (ky + l * (1.0 - 0.19693));
dSX[451] = (int) (kx + l * 0.11815);
dSY[451] = (int) (ky + l * (1.0 - 0.25814));
dSX[452] = (int) (kx + l * 0.67506);
dSY[452] = (int) (ky + l * (1.0 - 0.17122));
dSX[453] = (int) (kx + l * 0.83483);
dSY[453] = (int) (ky + l * (1.0 - 0.40775));
dSX[454] = (int) (kx + l * 0.07239);
dSY[454] = (int) (ky + l * (1.0 - 0.18731));
dSX[455] = (int) (kx + l * 0.3272);
dSY[455] = (int) (ky + l * (1.0 - 0.7225));
dSX[456] = (int) (kx + l * 0.16136);
dSY[456] = (int) (ky + l * (1.0 - 0.61121));
dSX[457] = (int) (kx + l * 0.21065);
dSY[457] = (int) (ky + l * (1.0 - 0.13483));
dSX[458] = (int) (kx + l * 0.71889);
dSY[458] = (int) (ky + l * (1.0 - 0.20099));
dSX[459] = (int) (kx + l * 0.36902);
dSY[459] = (int) (ky + l * (1.0 - 0.7864));
dSX[460] = (int) (kx + l * 0.84165);
dSY[460] = (int) (ky + l * (1.0 - 0.36644));
dSX[461] = (int) (kx + l * 0.68612);
dSY[461] = (int) (ky + l * (1.0 - 0.12094));
dSX[462] = (int) (kx + l * 0.22926);
dSY[462] = (int) (ky + l * (1.0 - 0.16182));
dSX[463] = (int) (kx + l * 0.18717);
dSY[463] = (int) (ky + l * (1.0 - 0.11579));
dSX[464] = (int) (kx + l * 0.80286);
dSY[464] = (int) (ky + l * (1.0 - 0.32103));
dSX[465] = (int) (kx + l * 0.25034);
dSY[465] = (int) (ky + l * (1.0 - 0.04969));
dSX[466] = (int) (kx + l * 0.25102);
dSY[466] = (int) (ky + l * (1.0 - 0.81178));
dSX[467] = (int) (kx + l * 0.40104);
dSY[467] = (int) (ky + l * (1.0 - 0.70706));
dSX[468] = (int) (kx + l * 0.47589);
dSY[468] = (int) (ky + l * (1.0 - 0.62965));
dSX[469] = (int) (kx + l * 0.4878);
dSY[469] = (int) (ky + l * (1.0 - 0.77431));
dSX[470] = (int) (kx + l * 0.44168);
dSY[470] = (int) (ky + l * (1.0 - 0.69073));
dSX[471] = (int) (kx + l * 0.10281);
dSY[471] = (int) (ky + l * (1.0 - 0.2403));
dSX[472] = (int) (kx + l * 0.82296);
dSY[472] = (int) (ky + l * (1.0 - 0.3797));
dSX[473] = (int) (kx + l * 0.48731);
dSY[473] = (int) (ky + l * (1.0 - 0.69098));
dSX[474] = (int) (kx + l * 0.63263);
dSY[474] = (int) (ky + l * (1.0 - 0.22947));
dSX[475] = (int) (kx + l * 0.67528);
dSY[475] = (int) (ky + l * (1.0 - 0.20604));
dSX[476] = (int) (kx + l * 0.19472);
dSY[476] = (int) (ky + l * (1.0 - 0.11076));
dSX[477] = (int) (kx + l * 0.84223);
dSY[477] = (int) (ky + l * (1.0 - 0.34943));
dSX[478] = (int) (kx + l * 0.66502);
dSY[478] = (int) (ky + l * (1.0 - 0.2078));
dSX[479] = (int) (kx + l * 0.5253);
dSY[479] = (int) (ky + l * (1.0 - 0.70939));
dSX[480] = (int) (kx + l * 0.26947);
dSY[480] = (int) (ky + l * (1.0 - 0.10746));
dSX[481] = (int) (kx + l * 0.22708);
dSY[481] = (int) (ky + l * (1.0 - 0.7998));
dSX[482] = (int) (kx + l * 0.39279);
dSY[482] = (int) (ky + l * (1.0 - 0.6481));
dSX[483] = (int) (kx + l * 0.36533);
dSY[483] = (int) (ky + l * (1.0 - 0.74434));
dSX[484] = (int) (kx + l * 0.21924);
dSY[484] = (int) (ky + l * (1.0 - 0.76278));
dSX[485] = (int) (kx + l * 0.17686);
dSY[485] = (int) (ky + l * (1.0 - 0.18335));
dSX[486] = (int) (kx + l * 0.51587);
dSY[486] = (int) (ky + l * (1.0 - 0.5951));
dSX[487] = (int) (kx + l * 0.8566);
dSY[487] = (int) (ky + l * (1.0 - 0.40405));
dSX[488] = (int) (kx + l * 0.12652);
dSY[488] = (int) (ky + l * (1.0 - 0.57607));
dSX[489] = (int) (kx + l * 0.22685);
dSY[489] = (int) (ky + l * (1.0 - 0.79786));
dSX[490] = (int) (kx + l * 0.68578);
dSY[490] = (int) (ky + l * (1.0 - 0.8548));
dSX[491] = (int) (kx + l * 0.38968);
dSY[491] = (int) (ky + l * (1.0 - 0.73713));
dSX[492] = (int) (kx + l * 0.70811);
dSY[492] = (int) (ky + l * (1.0 - 0.19062));
dSX[493] = (int) (kx + l * 0.46795);
dSY[493] = (int) (ky + l * (1.0 - 0.68742));
dSX[494] = (int) (kx + l * 0.70386);
dSY[494] = (int) (ky + l * (1.0 - 0.13081));
dSX[495] = (int) (kx + l * 0.12347);
dSY[495] = (int) (ky + l * (1.0 - 0.57067));
dSX[496] = (int) (kx + l * 0.07499);
dSY[496] = (int) (ky + l * (1.0 - 0.58753));
dSX[497] = (int) (kx + l * 0.26596);
dSY[497] = (int) (ky + l * (1.0 - 0.75632));
dSX[498] = (int) (kx + l * 0.2196);
dSY[498] = (int) (ky + l * (1.0 - 0.81844));
dSX[499] = (int) (kx + l * 0.22364);
dSY[499] = (int) (ky + l * (1.0 - 0.11876));
}
public void getSignal(int distrib) {
numRun++;
int wi = 500;
int hi = 500;
int r1 = wi / 4;
int l1 = hi / 4;
int r2 = wi / 2;
int l2 = hi / 2;
int cx = (wi / 2);
int cy = (hi / 2);
int xA[] = new int[MAX_COMPLEX];
int yA[] = new int[MAX_COMPLEX];
int ringRadius;
int w;
int h;
int z;
double remainderX = 0.0;
double remainderY = 0.0;
float rdist;
switch (distrib) {
case 0: // Rectangle
r1 = wi / 4;
l1 = hi / 4;
r2 = wi / 2;
l2 = hi / 2;
SignalX = (int) (r1 + (r2 * Math.random()));
SignalY = (int) (l1 + (l2 * Math.random()));
break;
case 1: // Circle
l2 = ((cx < cy) ? cx : cy); // Diameter
r1 = wi / 2 - l2 / 2;
l1 = hi / 2 - l2 / 2;
do {
SignalX = (int) (r1 + (l2 * Math.random()));
SignalY = (int) (l1 + (l2 * Math.random()));
rdist = (float) Math.sqrt(((cx - SignalX) *
(cx - SignalX) +
(cy - SignalY) *
(cy - SignalY)));
} while (rdist > l2 / 2);
break;
case 2: // Ring
l2 = ((cx < cy) ? cx : cy); // Diameter
r1 = cx - l2;
l1 = cy - l2;
ringRadius = (int) (l2 * RING_FACTOR);
do {
SignalX = (int) (r1 + (2 * l2 * Math.random()));
SignalY = (int) (l1 + (2 * l2 * Math.random()));
rdist = (float) Math.sqrt(((cx - SignalX) *
(cx - SignalX) +
(cy - SignalY) *
(cy - SignalY)));
} while ((rdist > l2) || (rdist < (l2 - ringRadius)));
break;
case 3: // Complex (1)
w = wi / 9;
h = hi / 5;
xA[0] = w;
yA[0] = h;
xA[1] = w;
yA[1] = 2 * h;
xA[2] = w;
yA[2] = 3 * h;
xA[3] = 2 * w;
yA[3] = 3 * h;
xA[4] = 3 * w;
yA[4] = 3 * h;
xA[5] = 3 * w;
yA[5] = 2 * h;
xA[6] = 3 * w;
yA[6] = h;
xA[7] = 4 * w;
yA[7] = h;
xA[8] = 5 * w;
yA[8] = h;
xA[9] = 5 * w;
yA[9] = 2 * h;
xA[10] = 5 * w;
yA[10] = 3 * h;
xA[11] = 7 * w;
yA[11] = h;
xA[12] = 7 * w;
yA[12] = 2 * h;
xA[13] = 7 * w;
yA[13] = 3 * h;
z = (int) (14 * Math.random());
SignalX = (int) (xA[z] + (w * Math.random()));
SignalY = (int) (yA[z] + (h * Math.random()));
break;
case 4: // Complex (2)
w = wi / 9;
h = hi / 7;
xA[0] = w;
yA[0] = 5 * h;
xA[1] = w;
yA[1] = 4 * h;
xA[2] = w;
yA[2] = 3 * h;
xA[3] = w;
yA[3] = 2 * h;
xA[4] = 1 * w;
yA[4] = h;
xA[5] = 2 * w;
yA[5] = h;
xA[6] = 3 * w;
yA[6] = h;
xA[7] = 4 * w;
yA[7] = h;
xA[8] = 5 * w;
yA[8] = 1 * h;
xA[9] = 5 * w;
yA[9] = 2 * h;
xA[10] = 5 * w;
yA[10] = 3 * h;
xA[11] = 3 * w;
yA[11] = 3 * h;
xA[12] = 3 * w;
yA[12] = 4 * h;
xA[13] = 3 * w;
yA[13] = 5 * h;
xA[14] = 4 * w;
yA[14] = 5 * h;
xA[15] = 5 * w;
yA[15] = 5 * h;
xA[16] = 6 * w;
yA[16] = 5 * h;
xA[17] = 7 * w;
yA[17] = 5 * h;
xA[18] = 7 * w;
yA[18] = 4 * h;
xA[19] = 7 * w;
yA[19] = 3 * h;
xA[20] = 7 * w;
yA[20] = 2 * h;
xA[21] = 7 * w;
yA[21] = 1 * h;
z = (int) (22 * Math.random());
SignalX = (int) (xA[z] + (w * Math.random()));
SignalY = (int) (yA[z] + (h * Math.random()));
break;
case 5: // Complex (3)
w = wi / 13;
h = hi / 11;
xA[0] = w;
yA[0] = h;
xA[1] = w;
yA[1] = 2 * h;
xA[2] = w;
yA[2] = 3 * h;
xA[3] = w;
yA[3] = 4 * h;
xA[4] = 1 * w;
yA[4] = 5 * h;
xA[5] = 1 * w;
yA[5] = 6 * h;
xA[6] = 1 * w;
yA[6] = 7 * h;
xA[7] = 1 * w;
yA[7] = 8 * h;
xA[8] = 1 * w;
yA[8] = 9 * h;
xA[9] = 2 * w;
yA[9] = 1 * h;
xA[10] = 3 * w;
yA[10] = 1 * h;
xA[11] = 4 * w;
yA[11] = 1 * h;
xA[12] = 5 * w;
yA[12] = 1 * h;
xA[13] = 6 * w;
yA[13] = 1 * h;
xA[14] = 7 * w;
yA[14] = 1 * h;
xA[15] = 8 * w;
yA[15] = 1 * h;
xA[16] = 9 * w;
yA[16] = 1 * h;
xA[17] = 9 * w;
yA[17] = 2 * h;
xA[18] = 9 * w;
yA[18] = 3 * h;
xA[19] = 9 * w;
yA[19] = 4 * h;
xA[20] = 9 * w;
yA[20] = 5 * h;
xA[21] = 9 * w;
yA[21] = 6 * h;
xA[22] = 9 * w;
yA[22] = 7 * h;
xA[23] = 8 * w;
yA[23] = 7 * h;
xA[24] = 7 * w;
yA[24] = 7 * h;
xA[25] = 6 * w;
yA[25] = 7 * h;
xA[26] = 5 * w;
yA[26] = 7 * h;
xA[27] = 5 * w;
yA[27] = 6 * h;
xA[28] = 5 * w;
yA[28] = 5 * h;
xA[29] = 3 * w;
yA[29] = 3 * h;
xA[30] = 3 * w;
yA[30] = 4 * h;
xA[31] = 3 * w;
yA[31] = 5 * h;
xA[32] = 3 * w;
yA[32] = 6 * h;
xA[33] = 3 * w;
yA[33] = 7 * h;
xA[34] = 3 * w;
yA[34] = 8 * h;
xA[35] = 3 * w;
yA[35] = 9 * h;
xA[36] = 4 * w;
yA[36] = 3 * h;
xA[37] = 5 * w;
yA[37] = 3 * h;
xA[38] = 6 * w;
yA[38] = 3 * h;
xA[39] = 7 * w;
yA[39] = 3 * h;
xA[40] = 7 * w;
yA[40] = 4 * h;
xA[41] = 7 * w;
yA[41] = 5 * h;
xA[42] = 4 * w;
yA[42] = 9 * h;
xA[43] = 5 * w;
yA[43] = 9 * h;
xA[44] = 6 * w;
yA[44] = 9 * h;
xA[45] = 7 * w;
yA[45] = 9 * h;
xA[46] = 8 * w;
yA[46] = 9 * h;
xA[47] = 9 * w;
yA[47] = 9 * h;
xA[48] = 10 * w;
yA[48] = 9 * h;
xA[49] = 11 * w;
yA[49] = 9 * h;
xA[50] = 11 * w;
yA[50] = 8 * h;
xA[51] = 11 * w;
yA[51] = 7 * h;
xA[52] = 11 * w;
yA[52] = 6 * h;
xA[53] = 11 * w;
yA[53] = 5 * h;
xA[54] = 11 * w;
yA[54] = 4 * h;
xA[55] = 11 * w;
yA[55] = 3 * h;
xA[56] = 11 * w;
yA[56] = 2 * h;
xA[57] = 11 * w;
yA[57] = 1 * h;
z = (int) (58 * Math.random());
SignalX = (int) (xA[z] + (w * Math.random()));
SignalY = (int) (yA[z] + (h * Math.random()));
break;
case 6: // HiLo-Density
w = wi / 10;
h = hi / 10;
xA[0] = 2 * w;
yA[0] = 4 * h;
xA[1] = 5 * w;
yA[1] = 1 * h;
z = (int) (2 * Math.random());
if (z == 0) {
SignalX = (int) (xA[z] + (w * Math.random()));
SignalY = (int) (yA[z] + (h * Math.random()));
} else {
SignalX = (int) (xA[z] + (4 * w * Math.random()));
SignalY = (int) (yA[z] + (8 * h * Math.random()));
}
break;
case 7: // Discrete
z = (int) (MAX_DISCRETE_SIGNALS * Math.random());
SignalX = discreteSignalsX[z];
SignalY = discreteSignalsY[z];
break;
case 8: // Complex (4)
w = wi / 17;
h = hi / 8;
xA[0] = w;
yA[0] = 2 * h;
xA[1] = w;
yA[1] = 3 * h;
xA[2] = w;
yA[2] = 4 * h;
xA[3] = w;
yA[3] = 5 * h;
xA[4] = 2 * w;
yA[4] = 5 * h;
xA[5] = 3 * w;
yA[5] = 5 * h;
xA[6] = 3 * w;
yA[6] = 4 * h;
xA[7] = 3 * w;
yA[7] = 3 * h;
xA[8] = 3 * w;
yA[8] = 2 * h;
xA[9] = 4 * w;
yA[9] = 2 * h;
xA[10] = 5 * w;
yA[10] = 2 * h;
xA[11] = 6 * w;
yA[11] = 2 * h;
xA[12] = 7 * w;
yA[12] = 2 * h;
xA[13] = 7 * w;
yA[13] = 3 * h;
xA[14] = 7 * w;
yA[14] = 4 * h;
xA[15] = 7 * w;
yA[15] = 5 * h;
xA[16] = 8 * w;
yA[16] = 5 * h;
xA[17] = 9 * w;
yA[17] = 5 * h;
xA[18] = 10 * w;
yA[18] = 5 * h;
xA[19] = 11 * w;
yA[19] = 5 * h;
xA[20] = 11 * w;
yA[20] = 4 * h;
xA[21] = 11 * w;
yA[21] = 3 * h;
xA[22] = 11 * w;
yA[22] = 2 * h;
xA[23] = 14 * w;
yA[23] = 2 * h;
xA[24] = 15 * w;
yA[24] = 2 * h;
xA[25] = 15 * w;
yA[25] = 3 * h;
xA[26] = 15 * w;
yA[26] = 4 * h;
xA[27] = 15 * w;
yA[27] = 5 * h;
z = (int) (28 * Math.random());
SignalX = (int) (xA[z] + (w * Math.random()));
SignalY = (int) (yA[z] + (h * Math.random()));
break;
case 9: // Moving and Jumping Rectangle
r2 = wi / 4;
l2 = hi / 4;
r1 = (int) (0.75 * (wi / 2 +
Math.IEEEremainder(0.2 * numRun, wi)));
l1 = (int) (0.75 * (hi / 2 +
Math.IEEEremainder(0.2 * numRun, hi)));
SignalX = (int) (r1 + (r2 * Math.random()));
SignalY = (int) (l1 + (l2 * Math.random()));
break;
case 10: // Moving Rectangle
r2 = wi / 4;
l2 = hi / 4;
remainderX = Math.IEEEremainder(0.2 * numRun, wi);
remainderY = Math.IEEEremainder(0.2 * numRun, hi);
if ((bounceX_old > 0) && (remainderX < 0)) {
bounceX = bounceX * (-1);
}
if ((bounceY_old > 0) && (remainderY < 0)) {
bounceY = bounceY * (-1);
}
r1 = (int) (0.75 * (wi / 2 + bounceX * remainderX));
l1 = (int) (0.75 * (hi / 2 + bounceY * remainderY));
bounceX_old = remainderX;
bounceY_old = remainderY;
SignalX = (int) (r1 + (r2 * Math.random()));
SignalY = (int) (l1 + (l2 * Math.random()));
break;
case 11: // Jumping Rectangle
r2 = wi / 4;
l2 = hi / 4;
if (Math.ceil(Math.IEEEremainder((double) numRun, 1000.0)) == 0) {
jumpX = (int) ((wi - r2) * Math.random());
jumpY = (int) ((hi - l2) * Math.random());
}
SignalX = (int) (jumpX + (r2 * Math.random()));
SignalY = (int) (jumpY + (l2 * Math.random()));
break;
case 12: // R.Mouse Rectangle
r2 = wi / 4;
l2 = hi / 4;
SignalX = (int) (jumpX + (r2 * Math.random()));
SignalY = (int) (jumpY + (l2 * Math.random()));
break;
}
}
public static void main(String[] argv) {
String[] files = {
"Rectangle.txt", "Circle.txt", "Ring.txt", "Complex1.txt",
"Complex2.txt", "Complex3.txt", "HiLoDensity.txt", "Discrete.txt",
"Complex4.txt", "MovingJumpingRectangle.txt", "MovingRectangle.txt",
"JumpingRectangle.txt", "RMouseRectangle.txt"};
for (int k = 0; k < files.length; k++) {
NeuralGasData sample = new NeuralGasData();
if (k == 7)
sample.initDiscreteSignals();
try (BufferedWriter out = new BufferedWriter(new FileWriter(files[k]))) {
for (int i = 0; i < 5000; i++) {
sample.getSignal(k);
out.write(sample.SignalX + "\t" + sample.SignalY+"\n");
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Ads help maintain this website.