为春雨哥开源六自由度机械臂逆解算法

编程入门 行业动态 更新时间:2024-10-10 00:23:33

为<a href=https://www.elefans.com/category/jswz/34/1761118.html style=春雨哥开源六自由度机械臂逆解算法"/>

为春雨哥开源六自由度机械臂逆解算法

六自由度机械臂是大学生学习舵机控制很好的练习,由于当时比赛的需求,做了简单一个机械臂逆解算法,原理不做过多解释,只是为我春雨哥方便使用,由于我们fpga使用的办卡无法处理浮点数,因此自定义了许多超越函数。

#include <stdint.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>#include <stdio.h>#include "math.h"#define  PI 3.1415926535898#define eps 1e-7
#define RAD2ANG (3.1415926535898/180.0)
#define ANG2RAD(N) ( (N) * (180.0/3.1415926535898) )#define TAN_MAP_RES     0.003921569f     
#define RAD_PER_DEG     0.017453293f
#define TAN_MAP_SIZE    256float fac(float n); //阶乘
float kvat(float n,float ci); //次方
float sinus(float x);
float fcos(float x);
float  my_acos(float x);
float  my_asin(float in);
float  my_abs(float f);
float fast_atan2(float y, float x);
double fsqrt(int n);
void inverseKinematics(float x, float y, float z);float fast_atan_table[257] =
{0.000000e+00, 3.921549e-03, 7.842976e-03, 1.176416e-02,1.568499e-02, 1.960533e-02, 2.352507e-02, 2.744409e-02,3.136226e-02, 3.527947e-02, 3.919560e-02, 4.311053e-02,4.702413e-02, 5.093629e-02, 5.484690e-02, 5.875582e-02,6.266295e-02, 6.656816e-02, 7.047134e-02, 7.437238e-02,7.827114e-02, 8.216752e-02, 8.606141e-02, 8.995267e-02,9.384121e-02, 9.772691e-02, 1.016096e-01, 1.054893e-01,1.093658e-01, 1.132390e-01, 1.171087e-01, 1.209750e-01,1.248376e-01, 1.286965e-01, 1.325515e-01, 1.364026e-01,1.402496e-01, 1.440924e-01, 1.479310e-01, 1.517652e-01,1.555948e-01, 1.594199e-01, 1.632403e-01, 1.670559e-01,1.708665e-01, 1.746722e-01, 1.784728e-01, 1.822681e-01,1.860582e-01, 1.898428e-01, 1.936220e-01, 1.973956e-01,2.011634e-01, 2.049255e-01, 2.086818e-01, 2.124320e-01,2.161762e-01, 2.199143e-01, 2.236461e-01, 2.273716e-01,2.310907e-01, 2.348033e-01, 2.385093e-01, 2.422086e-01,2.459012e-01, 2.495869e-01, 2.532658e-01, 2.569376e-01,2.606024e-01, 2.642600e-01, 2.679104e-01, 2.715535e-01,2.751892e-01, 2.788175e-01, 2.824383e-01, 2.860514e-01,2.896569e-01, 2.932547e-01, 2.968447e-01, 3.004268e-01,3.040009e-01, 3.075671e-01, 3.111252e-01, 3.146752e-01,3.182170e-01, 3.217506e-01, 3.252758e-01, 3.287927e-01,3.323012e-01, 3.358012e-01, 3.392926e-01, 3.427755e-01,3.462497e-01, 3.497153e-01, 3.531721e-01, 3.566201e-01,3.600593e-01, 3.634896e-01, 3.669110e-01, 3.703234e-01,3.737268e-01, 3.771211e-01, 3.805064e-01, 3.838825e-01,3.872494e-01, 3.906070e-01, 3.939555e-01, 3.972946e-01,4.006244e-01, 4.039448e-01, 4.072558e-01, 4.105574e-01,4.138496e-01, 4.171322e-01, 4.204054e-01, 4.236689e-01,4.269229e-01, 4.301673e-01, 4.334021e-01, 4.366272e-01,4.398426e-01, 4.430483e-01, 4.462443e-01, 4.494306e-01,4.526070e-01, 4.557738e-01, 4.589307e-01, 4.620778e-01,4.652150e-01, 4.683424e-01, 4.714600e-01, 4.745676e-01,4.776654e-01, 4.807532e-01, 4.838312e-01, 4.868992e-01,4.899573e-01, 4.930055e-01, 4.960437e-01, 4.990719e-01,5.020902e-01, 5.050985e-01, 5.080968e-01, 5.110852e-01,5.140636e-01, 5.170320e-01, 5.199904e-01, 5.229388e-01,5.258772e-01, 5.288056e-01, 5.317241e-01, 5.346325e-01,5.375310e-01, 5.404195e-01, 5.432980e-01, 5.461666e-01,5.490251e-01, 5.518738e-01, 5.547124e-01, 5.575411e-01,5.603599e-01, 5.631687e-01, 5.659676e-01, 5.687566e-01,5.715357e-01, 5.743048e-01, 5.770641e-01, 5.798135e-01,5.825531e-01, 5.852828e-01, 5.880026e-01, 5.907126e-01,5.934128e-01, 5.961032e-01, 5.987839e-01, 6.014547e-01,6.041158e-01, 6.067672e-01, 6.094088e-01, 6.120407e-01,6.146630e-01, 6.172755e-01, 6.198784e-01, 6.224717e-01,6.250554e-01, 6.276294e-01, 6.301939e-01, 6.327488e-01,6.352942e-01, 6.378301e-01, 6.403565e-01, 6.428734e-01,6.453808e-01, 6.478788e-01, 6.503674e-01, 6.528466e-01,6.553165e-01, 6.577770e-01, 6.602282e-01, 6.626701e-01,6.651027e-01, 6.675261e-01, 6.699402e-01, 6.723452e-01,6.747409e-01, 6.771276e-01, 6.795051e-01, 6.818735e-01,6.842328e-01, 6.865831e-01, 6.889244e-01, 6.912567e-01,6.935800e-01, 6.958943e-01, 6.981998e-01, 7.004964e-01,7.027841e-01, 7.050630e-01, 7.073330e-01, 7.095943e-01,7.118469e-01, 7.140907e-01, 7.163258e-01, 7.185523e-01,7.207701e-01, 7.229794e-01, 7.251800e-01, 7.273721e-01,7.295557e-01, 7.317307e-01, 7.338974e-01, 7.360555e-01,7.382053e-01, 7.403467e-01, 7.424797e-01, 7.446045e-01,7.467209e-01, 7.488291e-01, 7.509291e-01, 7.530208e-01,7.551044e-01, 7.571798e-01, 7.592472e-01, 7.613064e-01,7.633576e-01, 7.654008e-01, 7.674360e-01, 7.694633e-01,7.714826e-01, 7.734940e-01, 7.754975e-01, 7.774932e-01,7.794811e-01, 7.814612e-01, 7.834335e-01, 7.853983e-01,7.853983e-01
};
const float sinetable[8193] = {
0.000000,0.000767,0.001534,0.002301,0.003068,0.003835,0.004602,0.005369,0.006136,0.006903,0.007670,0.008437,0.009204,0.009971,0.010738,0.011505,0.012272,0.013038,0.013805,0.014572,0.015339,0.016106,0.016873,0.017640,0.018407,0.019174,0.019940,0.020707,0.021474,0.022241,0.023008,0.023774,0.024541,
0.025308,0.026075,0.026841,0.027608,0.028375,0.029142,0.029908,0.030675,0.031441,0.032208,0.032975,0.033741,0.034508,0.035274,0.036041,0.036807,0.037574,0.038340,0.039107,0.039873,0.040639,0.041406,0.042172,0.042938,0.043705,0.044471,0.045237,0.046003,0.046769,0.047535,0.048302,0.049068,
0.049834,0.050600,0.051366,0.052132,0.052898,0.053664,0.054429,0.055195,0.055961,0.056727,0.057493,0.058258,0.059024,0.059790,0.060555,0.061321,0.062086,0.062852,0.063617,0.064383,0.065148,0.065913,0.066679,0.067444,0.068209,0.068974,0.069739,0.070505,0.071270,0.072035,0.072800,0.073565,
0.074329,0.075094,0.075859,0.076624,0.077389,0.078153,0.078918,0.079682,0.080447,0.081211,0.081976,0.082740,0.083505,0.084269,0.085033,0.085797,0.086561,0.087326,0.088090,0.088854,0.089617,0.090381,0.091145,0.091909,0.092673,0.093436,0.094200,0.094963,0.095727,0.096490,0.097254,0.098017,
0.098780,0.099544,0.100307,0.101070,0.101833,0.102596,0.103359,0.104122,0.104884,0.105647,0.106410,0.107172,0.107935,0.108697,0.109460,0.110222,0.110984,0.111747,0.112509,0.113271,0.114033,0.114795,0.115557,0.116319,0.117080,0.117842,0.118604,0.119365,0.120127,0.120888,0.121649,0.122411,
0.123172,0.123933,0.124694,0.125455,0.126216,0.126977,0.127737,0.128498,0.129259,0.130019,0.130780,0.131540,0.132300,0.133061,0.133821,0.134581,0.135341,0.136101,0.136860,0.137620,0.138380,0.139139,0.139899,0.140658,0.141418,0.142177,0.142936,0.143695,0.144454,0.145213,0.145972,0.146730,
0.147489,0.148248,0.149006,0.149765,0.150523,0.151281,0.152039,0.152797,0.153555,0.154313,0.155071,0.155828,0.156586,0.157343,0.158101,0.158858,0.159615,0.160372,0.161129,0.161886,0.162643,0.163400,0.164157,0.164913,0.165670,0.166426,0.167182,0.167938,0.168694,0.169450,0.170206,0.170962,
0.171718,0.172473,0.173229,0.173984,0.174739,0.175494,0.176249,0.177004,0.177759,0.178514,0.179268,0.180023,0.180777,0.181532,0.182286,0.183040,0.183794,0.184548,0.185301,0.186055,0.186809,0.187562,0.188315,0.189069,0.189822,0.190575,0.191328,0.192080,0.192833,0.193586,0.194338,0.195090,
0.195843,0.196595,0.197347,0.198098,0.198850,0.199602,0.200353,0.201105,0.201856,0.202607,0.203358,0.204109,0.204860,0.205610,0.206361,0.207111,0.207862,0.208612,0.209362,0.210112,0.210862,0.211611,0.212361,0.213110,0.213860,0.214609,0.215358,0.216107,0.216856,0.217604,0.218353,0.219101,
0.219850,0.220598,0.221346,0.222094,0.222841,0.223589,0.224337,0.225084,0.225831,0.226578,0.227325,0.228072,0.228819,0.229565,0.230312,0.231058,0.231804,0.232550,0.233296,0.234042,0.234788,0.235533,0.236278,0.237024,0.237769,0.238514,0.239258,0.240003,0.240748,0.241492,0.242236,0.242980,
0.243724,0.244468,0.245212,0.245955,0.246698,0.247442,0.248185,0.248928,0.249670,0.250413,0.251155,0.251898,0.252640,0.253382,0.254124,0.254866,0.255607,0.256349,0.257090,0.257831,0.258572,0.259313,0.260054,0.260794,0.261534,0.262275,0.263015,0.263755,0.264494,0.265234,0.265973,0.266713,
0.267452,0.268191,0.268930,0.269668,0.270407,0.271145,0.271883,0.272621,0.273359,0.274097,0.274834,0.275572,0.276309,0.277046,0.277783,0.278520,0.279256,0.279993,0.280729,0.281465,0.282201,0.282937,0.283672,0.284408,0.285143,0.285878,0.286613,0.287347,0.288082,0.288816,0.289551,0.290285,
0.291019,0.291752,0.292486,0.293219,0.293952,0.294685,0.295418,0.296151,0.296883,0.297616,0.298348,0.299080,0.299812,0.300543,0.301275,0.302006,0.302737,0.303468,0.304199,0.304929,0.305660,0.306390,0.307120,0.307850,0.308579,0.309309,0.310038,0.310767,0.311496,0.312225,0.312953,0.313682,
0.314410,0.315138,0.315866,0.316593,0.317321,0.318048,0.318775,0.319502,0.320229,0.320955,0.321682,0.322408,0.323134,0.323859,0.324585,0.325310,0.326035,0.326760,0.327485,0.328210,0.328934,0.329658,0.330382,0.331106,0.331830,0.332553,0.333277,0.334000,0.334722,0.335445,0.336168,0.336890,
0.337612,0.338334,0.339055,0.339777,0.340498,0.341219,0.341940,0.342661,0.343381,0.344101,0.344821,0.345541,0.346261,0.346980,0.347700,0.348419,0.349138,0.349856,0.350575,0.351293,0.352011,0.352729,0.353446,0.354164,0.354881,0.355598,0.356314,0.357031,0.357747,0.358463,0.359179,0.359895,
0.360611,0.361326,0.362041,0.362756,0.363470,0.364185,0.364899,0.365613,0.366327,0.367040,0.367754,0.368467,0.369180,0.369892,0.370605,0.371317,0.372029,0.372741,0.373453,0.374164,0.374875,0.375586,0.376297,0.377007,0.377718,0.378428,0.379138,0.379847,0.380557,0.381266,0.381975,0.382683,
0.383392,0.384100,0.384808,0.385516,0.386224,0.386931,0.387638,0.388345,0.389052,0.389758,0.390464,0.391170,0.391876,0.392582,0.393287,0.393992,0.394697,0.395401,0.396106,0.396810,0.397514,0.398218,0.398921,0.399624,0.400327,0.401030,0.401732,0.402435,0.403137,0.403838,0.404540,0.405241,
0.405942,0.406643,0.407344,0.408044,0.408744,0.409444,0.410144,0.410843,0.411542,0.412241,0.412940,0.413638,0.414336,0.415034,0.415732,0.416430,0.417127,0.417824,0.418520,0.419217,0.419913,0.420609,0.421305,0.422000,0.422695,0.423390,0.424085,0.424780,0.425474,0.426168,0.426862,0.427555,
0.428248,0.428941,0.429634,0.430326,0.431019,0.431711,0.432402,0.433094,0.433785,0.434476,0.435167,0.435857,0.436547,0.437237,0.437927,0.438616,0.439305,0.439994,0.440683,0.441371,0.442059,0.442747,0.443435,0.444122,0.444809,0.445496,0.446183,0.446869,0.447555,0.448241,0.448926,0.449611,
0.450296,0.450981,0.451665,0.452350,0.453033,0.453717,0.454400,0.455084,0.455766,0.456449,0.457131,0.457813,0.458495,0.459177,0.459858,0.460539,0.461219,0.461900,0.462580,0.463260,0.463939,0.464619,0.465298,0.465976,0.466655,0.467333,0.468011,0.468689,0.469366,0.470043,0.470720,0.471397,
0.472073,0.472749,0.473425,0.474100,0.474775,0.475450,0.476125,0.476799,0.477473,0.478147,0.478821,0.479494,0.480167,0.480839,0.481512,0.482184,0.482856,0.483527,0.484198,0.484869,0.485540,0.486210,0.486880,0.487550,0.488220,0.488889,0.489558,0.490226,0.490895,0.491563,0.492231,0.492898,
0.493565,0.494232,0.494899,0.495565,0.496231,0.496897,0.497563,0.498228,0.498893,0.499557,0.500221,0.500885,0.501549,0.502212,0.502876,0.503538,0.504201,0.504863,0.505525,0.506187,0.506848,0.507509,0.508170,0.508830,0.509490,0.510150,0.510810,0.511469,0.512128,0.512786,0.513445,0.514103,
0.514760,0.515418,0.516075,0.516732,0.517388,0.518045,0.518700,0.519356,0.520011,0.520666,0.521321,0.521975,0.522629,0.523283,0.523937,0.524590,0.525243,0.525895,0.526547,0.527199,0.527851,0.528502,0.529153,0.529804,0.530454,0.531104,0.531754,0.532403,0.533052,0.533701,0.534349,0.534998,
0.535645,0.536293,0.536940,0.537587,0.538234,0.538880,0.539526,0.540171,0.540817,0.541462,0.542106,0.542751,0.543395,0.544039,0.544682,0.545325,0.545968,0.546610,0.547252,0.547894,0.548536,0.549177,0.549817,0.550458,0.551098,0.551738,0.552378,0.553017,0.553656,0.554294,0.554932,0.555570,
0.556208,0.556845,0.557482,0.558119,0.558755,0.559391,0.560026,0.560662,0.561297,0.561931,0.562565,0.563199,0.563833,0.564466,0.565099,0.565732,0.566364,0.566996,0.567628,0.568259,0.568890,0.569521,0.570151,0.570781,0.571410,0.572040,0.572669,0.573297,0.573925,0.574553,0.575181,0.575808,
0.576435,0.577062,0.577688,0.578314,0.578939,0.579565,0.580189,0.580814,0.581438,0.582062,0.582685,0.583309,0.583931,0.584554,0.585176,0.585798,0.586419,0.587040,0.587661,0.588282,0.588902,0.589521,0.590141,0.590760,0.591378,0.591997,0.592615,0.593232,0.593850,0.594466,0.595083,0.595699,
0.596315,0.596931,0.597546,0.598161,0.598775,0.599389,0.600003,0.600616,0.601230,0.601842,0.602455,0.603067,0.603678,0.604290,0.604900,0.605511,0.606121,0.606731,0.607341,0.607950,0.608559,0.609167,0.609775,0.610383,0.610990,0.611597,0.612204,0.612810,0.613416,0.614022,0.614627,0.615232,
0.615836,0.616440,0.617044,0.617647,0.618250,0.618853,0.619455,0.620057,0.620659,0.621260,0.621861,0.622461,0.623061,0.623661,0.624260,0.624859,0.625458,0.626056,0.626654,0.627252,0.627849,0.628446,0.629042,0.629638,0.630234,0.630829,0.631424,0.632019,0.632613,0.633207,0.633800,0.634393,
0.634986,0.635578,0.636170,0.636762,0.637353,0.637944,0.638534,0.639124,0.639714,0.640303,0.640892,0.641481,0.642069,0.642657,0.643244,0.643832,0.644418,0.645005,0.645590,0.646176,0.646761,0.647346,0.647930,0.648514,0.649098,0.649681,0.650264,0.650847,0.651429,0.652011,0.652592,0.653173,
0.653753,0.654334,0.654913,0.655493,0.656072,0.656651,0.657229,0.657807,0.658384,0.658961,0.659538,0.660114,0.660690,0.661266,0.661841,0.662416,0.662990,0.663564,0.664138,0.664711,0.665284,0.665856,0.666428,0.667000,0.667571,0.668142,0.668713,0.669283,0.669852,0.670422,0.670990,0.671559,
0.672127,0.672695,0.673262,0.673829,0.674396,0.674962,0.675527,0.676093,0.676658,0.677222,0.677786,0.678350,0.678913,0.679476,0.680039,0.680601,0.681163,0.681724,0.682285,0.682846,0.683406,0.683965,0.684525,0.685084,0.685642,0.686200,0.686758,0.687315,0.687872,0.688429,0.688985,0.689541,
0.690096,0.690651,0.691205,0.691759,0.692313,0.692866,0.693419,0.693971,0.694523,0.695075,0.695626,0.696177,0.696728,0.697278,0.697827,0.698376,0.698925,0.699473,0.700021,0.700569,0.701116,0.701663,0.702209,0.702755,0.703300,0.703845,0.704390,0.704934,0.705478,0.706021,0.706564,0.707107,
0.707649,0.708191,0.708732,0.709273,0.709813,0.710353,0.710893,0.711432,0.711971,0.712509,0.713047,0.713585,0.714122,0.714659,0.715195,0.715731,0.716266,0.716801,0.717336,0.717870,0.718404,0.718937,0.719470,0.720003,0.720535,0.721066,0.721597,0.722128,0.722659,0.723188,0.723718,0.724247,
0.724776,0.725304,0.725832,0.726359,0.726886,0.727413,0.727939,0.728464,0.728990,0.729514,0.730039,0.730563,0.731086,0.731609,0.732132,0.732654,0.733176,0.733697,0.734218,0.734739,0.735259,0.735779,0.736298,0.736817,0.737335,0.737853,0.738370,0.738887,0.739404,0.739920,0.740436,0.740951,
0.741466,0.741980,0.742494,0.743008,0.743521,0.744034,0.744546,0.745058,0.745569,0.746080,0.746591,0.747101,0.747610,0.748119,0.748628,0.749136,0.749644,0.750152,0.750659,0.751165,0.751671,0.752177,0.752682,0.753187,0.753691,0.754195,0.754698,0.755201,0.755704,0.756206,0.756708,0.757209,
0.757710,0.758210,0.758710,0.759209,0.759708,0.760207,0.760705,0.761202,0.761700,0.762196,0.762693,0.763188,0.763684,0.764179,0.764673,0.765167,0.765661,0.766154,0.766647,0.767139,0.767631,0.768122,0.768613,0.769103,0.769593,0.770083,0.770572,0.771061,0.771549,0.772036,0.772524,0.773010,
0.773497,0.773983,0.774468,0.774953,0.775438,0.775922,0.776405,0.776888,0.777371,0.777853,0.778335,0.778817,0.779297,0.779778,0.780258,0.780737,0.781216,0.781695,0.782173,0.782651,0.783128,0.783605,0.784081,0.784557,0.785032,0.785507,0.785981,0.786455,0.786929,0.787402,0.787874,0.788346,
0.788818,0.789289,0.789760,0.790230,0.790700,0.791169,0.791638,0.792107,0.792575,0.793042,0.793509,0.793975,0.794442,0.794907,0.795372,0.795837,0.796301,0.796765,0.797228,0.797691,0.798153,0.798615,0.799076,0.799537,0.799998,0.800458,0.800917,0.801376,0.801835,0.802293,0.802750,0.803208,
0.803664,0.804120,0.804576,0.805031,0.805486,0.805940,0.806394,0.806848,0.807300,0.807753,0.808205,0.808656,0.809107,0.809558,0.810008,0.810457,0.810906,0.811355,0.811803,0.812251,0.812698,0.813144,0.813591,0.814036,0.814482,0.814926,0.815371,0.815814,0.816258,0.816701,0.817143,0.817585,
0.818026,0.818467,0.818908,0.819348,0.819787,0.820226,0.820664,0.821103,0.821540,0.821977,0.822414,0.822850,0.823285,0.823721,0.824155,0.824589,0.825023,0.825456,0.825889,0.826321,0.826753,0.827184,0.827615,0.828045,0.828475,0.828904,0.829333,0.829761,0.830189,0.830616,0.831043,0.831470,
0.831895,0.832321,0.832746,0.833170,0.833594,0.834018,0.834440,0.834863,0.835285,0.835706,0.836127,0.836548,0.836968,0.837387,0.837806,0.838225,0.838643,0.839060,0.839477,0.839894,0.840310,0.840725,0.841140,0.841555,0.841969,0.842383,0.842796,0.843208,0.843620,0.844032,0.844443,0.844854,
0.845264,0.845673,0.846082,0.846491,0.846899,0.847307,0.847714,0.848120,0.848526,0.848932,0.849337,0.849742,0.850146,0.850549,0.850953,0.851355,0.851757,0.852159,0.852560,0.852961,0.853361,0.853760,0.854159,0.854558,0.854956,0.855354,0.855751,0.856147,0.856543,0.856939,0.857334,0.857729,
0.858123,0.858516,0.858909,0.859302,0.859694,0.860085,0.860476,0.860867,0.861257,0.861646,0.862035,0.862424,0.862812,0.863199,0.863586,0.863973,0.864359,0.864744,0.865129,0.865514,0.865898,0.866281,0.866664,0.867046,0.867428,0.867809,0.868190,0.868571,0.868951,0.869330,0.869709,0.870087,
0.870465,0.870842,0.871219,0.871595,0.871971,0.872346,0.872721,0.873095,0.873469,0.873842,0.874215,0.874587,0.874958,0.875329,0.875700,0.876070,0.876440,0.876809,0.877177,0.877545,0.877913,0.878280,0.878646,0.879012,0.879378,0.879743,0.880107,0.880471,0.880834,0.881197,0.881559,0.881921,
0.882283,0.882643,0.883004,0.883363,0.883723,0.884081,0.884439,0.884797,0.885154,0.885511,0.885867,0.886223,0.886578,0.886932,0.887286,0.887640,0.887993,0.888345,0.888697,0.889048,0.889399,0.889750,0.890099,0.890449,0.890798,0.891146,0.891493,0.891841,0.892187,0.892534,0.892879,0.893224,
0.893569,0.893913,0.894256,0.894599,0.894942,0.895284,0.895625,0.895966,0.896307,0.896646,0.896986,0.897325,0.897663,0.898001,0.898338,0.898674,0.899011,0.899346,0.899681,0.900016,0.900350,0.900683,0.901016,0.901349,0.901681,0.902012,0.902343,0.902673,0.903003,0.903332,0.903661,0.903989,
0.904317,0.904644,0.904971,0.905297,0.905622,0.905947,0.906272,0.906596,0.906919,0.907242,0.907564,0.907886,0.908207,0.908528,0.908848,0.909168,0.909487,0.909806,0.910124,0.910441,0.910758,0.911075,0.911391,0.911706,0.912021,0.912335,0.912649,0.912962,0.913275,0.913587,0.913899,0.914210,
0.914520,0.914830,0.915140,0.915449,0.915757,0.916065,0.916372,0.916679,0.916985,0.917291,0.917596,0.917901,0.918205,0.918508,0.918811,0.919114,0.919416,0.919717,0.920018,0.920318,0.920618,0.920917,0.921216,0.921514,0.921812,0.922109,0.922405,0.922701,0.922997,0.923291,0.923586,0.923880,
0.924173,0.924465,0.924758,0.925049,0.925340,0.925631,0.925921,0.926210,0.926499,0.926787,0.927075,0.927363,0.927649,0.927935,0.928221,0.928506,0.928791,0.929075,0.929358,0.929641,0.929923,0.930205,0.930486,0.930767,0.931047,0.931327,0.931606,0.931884,0.932162,0.932440,0.932716,0.932993,
0.933269,0.933544,0.933818,0.934093,0.934366,0.934639,0.934912,0.935184,0.935455,0.935726,0.935996,0.936266,0.936535,0.936803,0.937072,0.937339,0.937606,0.937872,0.938138,0.938404,0.938668,0.938932,0.939196,0.939459,0.939722,0.939984,0.940245,0.940506,0.940766,0.941026,0.941285,0.941544,
0.941802,0.942060,0.942317,0.942573,0.942829,0.943084,0.943339,0.943593,0.943847,0.944100,0.944353,0.944605,0.944856,0.945107,0.945358,0.945607,0.945857,0.946105,0.946353,0.946601,0.946848,0.947094,0.947340,0.947586,0.947830,0.948075,0.948318,0.948561,0.948804,0.949046,0.949287,0.949528,
0.949768,0.950008,0.950247,0.950486,0.950724,0.950962,0.951199,0.951435,0.951671,0.951906,0.952141,0.952375,0.952609,0.952842,0.953074,0.953306,0.953537,0.953768,0.953998,0.954228,0.954457,0.954686,0.954914,0.955141,0.955368,0.955594,0.955820,0.956045,0.956270,0.956494,0.956717,0.956940,
0.957163,0.957385,0.957606,0.957826,0.958047,0.958266,0.958485,0.958703,0.958921,0.959139,0.959355,0.959572,0.959787,0.960002,0.960217,0.960431,0.960644,0.960857,0.961069,0.961280,0.961492,0.961702,0.961912,0.962121,0.962330,0.962538,0.962746,0.962953,0.963160,0.963366,0.963571,0.963776,
0.963980,0.964184,0.964387,0.964590,0.964792,0.964993,0.965194,0.965394,0.965594,0.965793,0.965992,0.966190,0.966387,0.966584,0.966781,0.966976,0.967172,0.967366,0.967560,0.967754,0.967947,0.968139,0.968331,0.968522,0.968713,0.968903,0.969092,0.969281,0.969470,0.969657,0.969845,0.970031,
0.970217,0.970403,0.970588,0.970772,0.970956,0.971139,0.971322,0.971504,0.971685,0.971866,0.972047,0.972226,0.972406,0.972584,0.972762,0.972940,0.973117,0.973293,0.973469,0.973644,0.973819,0.973993,0.974166,0.974339,0.974512,0.974684,0.974855,0.975025,0.975195,0.975365,0.975534,0.975702,
0.975870,0.976037,0.976204,0.976370,0.976535,0.976700,0.976864,0.977028,0.977191,0.977354,0.977516,0.977677,0.977838,0.977999,0.978158,0.978317,0.978476,0.978634,0.978791,0.978948,0.979104,0.979260,0.979415,0.979570,0.979724,0.979877,0.980030,0.980182,0.980334,0.980485,0.980635,0.980785,
0.980935,0.981083,0.981232,0.981379,0.981526,0.981673,0.981819,0.981964,0.982109,0.982253,0.982396,0.982539,0.982682,0.982824,0.982965,0.983105,0.983246,0.983385,0.983524,0.983662,0.983800,0.983937,0.984074,0.984210,0.984346,0.984480,0.984615,0.984749,0.984882,0.985014,0.985146,0.985278,
0.985408,0.985539,0.985668,0.985798,0.985926,0.986054,0.986181,0.986308,0.986434,0.986560,0.986685,0.986809,0.986933,0.987057,0.987179,0.987301,0.987423,0.987544,0.987664,0.987784,0.987903,0.988022,0.988140,0.988258,0.988374,0.988491,0.988607,0.988722,0.988836,0.988950,0.989064,0.989177,
0.989289,0.989400,0.989512,0.989622,0.989732,0.989841,0.989950,0.990058,0.990166,0.990273,0.990379,0.990485,0.990590,0.990695,0.990799,0.990903,0.991006,0.991108,0.991210,0.991311,0.991411,0.991511,0.991611,0.991710,0.991808,0.991906,0.992003,0.992099,0.992195,0.992291,0.992385,0.992480,
0.992573,0.992666,0.992759,0.992850,0.992942,0.993032,0.993122,0.993212,0.993301,0.993389,0.993477,0.993564,0.993651,0.993737,0.993822,0.993907,0.993991,0.994075,0.994158,0.994240,0.994322,0.994404,0.994484,0.994565,0.994644,0.994723,0.994802,0.994879,0.994957,0.995033,0.995109,0.995185,
0.995260,0.995334,0.995408,0.995481,0.995553,0.995625,0.995697,0.995767,0.995838,0.995907,0.995976,0.996045,0.996113,0.996180,0.996247,0.996313,0.996378,0.996443,0.996507,0.996571,0.996634,0.996697,0.996759,0.996820,0.996881,0.996941,0.997001,0.997060,0.997119,0.997176,0.997234,0.997290,
0.997347,0.997402,0.997457,0.997511,0.997565,0.997618,0.997671,0.997723,0.997775,0.997825,0.997876,0.997925,0.997974,0.998023,0.998071,0.998118,0.998165,0.998211,0.998257,0.998302,0.998346,0.998390,0.998433,0.998476,0.998518,0.998559,0.998600,0.998640,0.998680,0.998719,0.998758,0.998795,
0.998833,0.998870,0.998906,0.998941,0.998976,0.999011,0.999045,0.999078,0.999110,0.999142,0.999174,0.999205,0.999235,0.999265,0.999294,0.999322,0.999350,0.999378,0.999404,0.999431,0.999456,0.999481,0.999506,0.999529,0.999553,0.999575,0.999597,0.999619,0.999640,0.999660,0.999680,0.999699,
0.999717,0.999735,0.999753,0.999769,0.999786,0.999801,0.999816,0.999831,0.999844,0.999858,0.999870,0.999882,0.999894,0.999905,0.999915,0.999925,0.999934,0.999942,0.999950,0.999958,0.999964,0.999971,0.999976,0.999981,0.999986,0.999989,0.999993,0.999995,0.999997,0.999999,1.000000,1.000000,
1.000000,0.999999,0.999997,0.999995,0.999993,0.999989,0.999986,0.999981,0.999976,0.999971,0.999964,0.999958,0.999950,0.999942,0.999934,0.999925,0.999915,0.999905,0.999894,0.999882,0.999870,0.999858,0.999844,0.999831,0.999816,0.999801,0.999786,0.999769,0.999753,0.999735,0.999717,0.999699,
0.999680,0.999660,0.999640,0.999619,0.999597,0.999575,0.999553,0.999529,0.999506,0.999481,0.999456,0.999431,0.999404,0.999378,0.999350,0.999322,0.999294,0.999265,0.999235,0.999205,0.999174,0.999142,0.999110,0.999078,0.999045,0.999011,0.998976,0.998941,0.998906,0.998870,0.998833,0.998795,
0.998758,0.998719,0.998680,0.998640,0.998600,0.998559,0.998518,0.998476,0.998433,0.998390,0.998346,0.998302,0.998257,0.998211,0.998165,0.998118,0.998071,0.998023,0.997974,0.997925,0.997876,0.997825,0.997775,0.997723,0.997671,0.997618,0.997565,0.997511,0.997457,0.997402,0.997347,0.997290,
0.997234,0.997176,0.997119,0.997060,0.997001,0.996941,0.996881,0.996820,0.996759,0.996697,0.996634,0.996571,0.996507,0.996443,0.996378,0.996313,0.996247,0.996180,0.996113,0.996045,0.995976,0.995907,0.995838,0.995767,0.995697,0.995625,0.995553,0.995481,0.995408,0.995334,0.995260,0.995185,
0.995109,0.995033,0.994957,0.994879,0.994802,0.994723,0.994644,0.994565,0.994484,0.994404,0.994322,0.994240,0.994158,0.994075,0.993991,0.993907,0.993822,0.993737,0.993651,0.993564,0.993477,0.993389,0.993301,0.993212,0.993122,0.993032,0.992942,0.992850,0.992759,0.992666,0.992573,0.992480,
0.992385,0.992291,0.992195,0.992099,0.992003,0.991906,0.991808,0.991710,0.991611,0.991511,0.991411,0.991311,0.991210,0.991108,0.991006,0.990903,0.990799,0.990695,0.990590,0.990485,0.990379,0.990273,0.990166,0.990058,0.989950,0.989841,0.989732,0.989622,0.989512,0.989400,0.989289,0.989177,
0.989064,0.988950,0.988836,0.988722,0.988607,0.988491,0.988374,0.988258,0.988140,0.988022,0.987903,0.987784,0.987664,0.987544,0.987423,0.987301,0.987179,0.987057,0.986933,0.986809,0.986685,0.986560,0.986434,0.986308,0.986181,0.986054,0.985926,0.985798,0.985668,0.985539,0.985408,0.985278,
0.985146,0.985014,0.984882,0.984749,0.984615,0.984480,0.984346,0.984210,0.984074,0.983937,0.983800,0.983662,0.983524,0.983385,0.983246,0.983105,0.982965,0.982824,0.982682,0.982539,0.982396,0.982253,0.982109,0.981964,0.981819,0.981673,0.981526,0.981379,0.981232,0.981083,0.980935,0.980785,
0.980635,0.980485,0.980334,0.980182,0.980030,0.979877,0.979724,0.979570,0.979415,0.979260,0.979104,0.978948,0.978791,0.978634,0.978476,0.978317,0.978158,0.977999,0.977838,0.977677,0.977516,0.977354,0.977191,0.977028,0.976864,0.976700,0.976535,0.976370,0.976204,0.976037,0.975870,0.975702,
0.975534,0.975365,0.975195,0.975025,0.974855,0.974684,0.974512,0.974339,0.974166,0.973993,0.973819,0.973644,0.973469,0.973293,0.973117,0.972940,0.972762,0.972584,0.972406,0.972226,0.972047,0.971866,0.971685,0.971504,0.971322,0.971139,0.970956,0.970772,0.970588,0.970403,0.970217,0.970031,
0.969845,0.969657,0.969470,0.969281,0.969092,0.968903,0.968713,0.968522,0.968331,0.968139,0.967947,0.967754,0.967560,0.967366,0.967172,0.966976,0.966781,0.966584,0.966387,0.966190,0.965992,0.965793,0.965594,0.965394,0.965194,0.964993,0.964792,0.964590,0.964387,0.964184,0.963980,0.963776,
0.963571,0.963366,0.963160,0.962953,0.962746,0.962538,0.962330,0.962121,0.961912,0.961702,0.961492,0.961280,0.961069,0.960857,0.960644,0.960431,0.960217,0.960002,0.959787,0.959572,0.959355,0.959139,0.958921,0.958703,0.958485,0.958266,0.958047,0.957826,0.957606,0.957385,0.957163,0.956940,
0.956717,0.956494,0.956270,0.956045,0.955820,0.955594,0.955368,0.955141,0.954914,0.954686,0.954457,0.954228,0.953998,0.953768,0.953537,0.953306,0.953074,0.952842,0.952609,0.952375,0.952141,0.951906,0.951671,0.951435,0.951199,0.950962,0.950724,0.950486,0.950247,0.950008,0.949768,0.949528,
0.949287,0.949046,0.948804,0.948561,0.948318,0.948075,0.947830,0.947586,0.947340,0.947094,0.946848,0.946601,0.946353,0.946105,0.945857,0.945607,0.945358,0.945107,0.944856,0.944605,0.944353,0.944100,0.943847,0.943593,0.943339,0.943084,0.942829,0.942573,0.942317,0.942060,0.941802,0.941544,
0.941285,0.941026,0.940766,0.940506,0.940245,0.939984,0.939722,0.939459,0.939196,0.938932,0.938668,0.938404,0.938138,0.937872,0.937606,0.937339,0.937072,0.936803,0.936535,0.936266,0.935996,0.935726,0.935455,0.935184,0.934912,0.934639,0.934366,0.934093,0.933818,0.933544,0.933269,0.932993,
0.932716,0.932440,0.932162,0.931884,0.931606,0.931327,0.931047,0.930767,0.930486,0.930205,0.929923,0.929641,0.929358,0.929075,0.928791,0.928506,0.928221,0.927935,0.927649,0.927363,0.927075,0.926787,0.926499,0.926210,0.925921,0.925631,0.925340,0.925049,0.924758,0.924465,0.924173,0.923880,
0.923586,0.923291,0.922997,0.922701,0.922405,0.922109,0.921812,0.921514,0.921216,0.920917,0.920618,0.920318,0.920018,0.919717,0.919416,0.919114,0.918811,0.918508,0.918205,0.917901,0.917596,0.917291,0.916985,0.916679,0.916372,0.916065,0.915757,0.915449,0.915140,0.914830,0.914520,0.914210,
0.913899,0.913587,0.913275,0.912962,0.912649,0.912335,0.912021,0.911706,0.911391,0.911075,0.910758,0.910441,0.910124,0.909806,0.909487,0.909168,0.908848,0.908528,0.908207,0.907886,0.907564,0.907242,0.906919,0.906596,0.906272,0.905947,0.905622,0.905297,0.904971,0.904644,0.904317,0.903989,
0.903661,0.903332,0.903003,0.902673,0.902343,0.902012,0.901681,0.901349,0.901016,0.900683,0.900350,0.900016,0.899681,0.899346,0.899011,0.898674,0.898338,0.898001,0.897663,0.897325,0.896986,0.896646,0.896307,0.895966,0.895625,0.895284,0.894942,0.894599,0.894256,0.893913,0.893569,0.893224,
0.892879,0.892534,0.892187,0.891841,0.891493,0.891146,0.890798,0.890449,0.890099,0.889750,0.889399,0.889048,0.888697,0.888345,0.887993,0.887640,0.887286,0.886932,0.886578,0.886223,0.885867,0.885511,0.885154,0.884797,0.884439,0.884081,0.883723,0.883363,0.883004,0.882643,0.882283,0.881921,
0.881559,0.881197,0.880834,0.880471,0.880107,0.879743,0.879378,0.879012,0.878646,0.878280,0.877913,0.877545,0.877177,0.876809,0.876440,0.876070,0.875700,0.875329,0.874958,0.874587,0.874215,0.873842,0.873469,0.873095,0.872721,0.872346,0.871971,0.871595,0.871219,0.870842,0.870465,0.870087,
0.869709,0.869330,0.868951,0.868571,0.868190,0.867809,0.867428,0.867046,0.866664,0.866281,0.865898,0.865514,0.865129,0.864744,0.864359,0.863973,0.863586,0.863199,0.862812,0.862424,0.862035,0.861646,0.861257,0.860867,0.860476,0.860085,0.859694,0.859302,0.858909,0.858516,0.858123,0.857729,
0.857334,0.856939,0.856543,0.856147,0.855751,0.855354,0.854956,0.854558,0.854159,0.853760,0.853361,0.852961,0.852560,0.852159,0.851757,0.851355,0.850953,0.850549,0.850146,0.849742,0.849337,0.848932,0.848526,0.848120,0.847714,0.847307,0.846899,0.846491,0.846082,0.845673,0.845264,0.844854,
0.844443,0.844032,0.843620,0.843208,0.842796,0.842383,0.841969,0.841555,0.841140,0.840725,0.840310,0.839894,0.839477,0.839060,0.838643,0.838225,0.837806,0.837387,0.836968,0.836548,0.836127,0.835706,0.835285,0.834863,0.834440,0.834018,0.833594,0.833170,0.832746,0.832321,0.831895,0.831470,
0.831043,0.830616,0.830189,0.829761,0.829333,0.828904,0.828475,0.828045,0.827615,0.827184,0.826753,0.826321,0.825889,0.825456,0.825023,0.824589,0.824155,0.823721,0.823285,0.822850,0.822414,0.821977,0.821540,0.821103,0.820664,0.820226,0.819787,0.819348,0.818908,0.818467,0.818026,0.817585,
0.817143,0.816701,0.816258,0.815814,0.815371,0.814926,0.814482,0.814036,0.813591,0.813144,0.812698,0.812251,0.811803,0.811355,0.810906,0.810457,0.810008,0.809558,0.809107,0.808656,0.808205,0.807753,0.807300,0.806848,0.806394,0.805940,0.805486,0.805031,0.804576,0.804120,0.803664,0.803208,
0.802750,0.802293,0.801835,0.801376,0.800917,0.800458,0.799998,0.799537,0.799076,0.798615,0.798153,0.797691,0.797228,0.796765,0.796301,0.795837,0.795372,0.794907,0.794442,0.793975,0.793509,0.793042,0.792575,0.792107,0.791638,0.791169,0.790700,0.790230,0.789760,0.789289,0.788818,0.788346,
0.787874,0.787402,0.786929,0.786455,0.785981,0.785507,0.785032,0.784557,0.784081,0.783605,0.783128,0.782651,0.782173,0.781695,0.781216,0.780737,0.780258,0.779778,0.779297,0.778817,0.778335,0.777853,0.777371,0.776888,0.776405,0.775922,0.775438,0.774953,0.774468,0.773983,0.773497,0.773010,
0.772524,0.772036,0.771549,0.771061,0.770572,0.770083,0.769593,0.769103,0.768613,0.768122,0.767631,0.767139,0.766647,0.766154,0.765661,0.765167,0.764673,0.764179,0.763684,0.763188,0.762693,0.762196,0.761700,0.761202,0.760705,0.760207,0.759708,0.759209,0.758710,0.758210,0.757710,0.757209,
0.756708,0.756206,0.755704,0.755201,0.754698,0.754195,0.753691,0.753187,0.752682,0.752177,0.751671,0.751165,0.750659,0.750152,0.749644,0.749136,0.748628,0.748119,0.747610,0.747101,0.746591,0.746080,0.745569,0.745058,0.744546,0.744034,0.743521,0.743008,0.742494,0.741980,0.741466,0.740951,
0.740436,0.739920,0.739404,0.738887,0.738370,0.737853,0.737335,0.736817,0.736298,0.735779,0.735259,0.734739,0.734218,0.733697,0.733176,0.732654,0.732132,0.731609,0.731086,0.730563,0.730039,0.729514,0.728990,0.728464,0.727939,0.727413,0.726886,0.726359,0.725832,0.725304,0.724776,0.724247,
0.723718,0.723188,0.722659,0.722128,0.721597,0.721066,0.720535,0.720003,0.719470,0.718937,0.718404,0.717870,0.717336,0.716801,0.716266,0.715731,0.715195,0.714659,0.714122,0.713585,0.713047,0.712509,0.711971,0.711432,0.710893,0.710353,0.709813,0.709273,0.708732,0.708191,0.707649,0.707107,
0.706564,0.706021,0.705478,0.704934,0.704390,0.703845,0.703300,0.702755,0.702209,0.701663,0.701116,0.700569,0.700021,0.699473,0.698925,0.698376,0.697827,0.697278,0.696728,0.696177,0.695626,0.695075,0.694523,0.693971,0.693419,0.692866,0.692313,0.691759,0.691205,0.690651,0.690096,0.689541,
0.688985,0.688429,0.687872,0.687315,0.686758,0.686200,0.685642,0.685084,0.684525,0.683965,0.683406,0.682846,0.682285,0.681724,0.681163,0.680601,0.680039,0.679476,0.678913,0.678350,0.677786,0.677222,0.676658,0.676093,0.675527,0.674962,0.674396,0.673829,0.673262,0.672695,0.672127,0.671559,
0.670990,0.670422,0.669852,0.669283,0.668713,0.668142,0.667571,0.667000,0.666428,0.665856,0.665284,0.664711,0.664138,0.663564,0.662990,0.662416,0.661841,0.661266,0.660690,0.660114,0.659538,0.658961,0.658384,0.657807,0.657229,0.656651,0.656072,0.655493,0.654913,0.654334,0.653753,0.653173,
0.652592,0.652011,0.651429,0.650847,0.650264,0.649681,0.649098,0.648514,0.647930,0.647346,0.646761,0.646176,0.645590,0.645005,0.644418,0.643832,0.643244,0.642657,0.642069,0.641481,0.640892,0.640303,0.639714,0.639124,0.638534,0.637944,0.637353,0.636762,0.636170,0.635578,0.634986,0.634393,
0.633800,0.633207,0.632613,0.632019,0.631424,0.630829,0.630234,0.629638,0.629042,0.628446,0.627849,0.627252,0.626654,0.626056,0.625458,0.624859,0.624260,0.623661,0.623061,0.622461,0.621861,0.621260,0.620659,0.620057,0.619455,0.618853,0.618250,0.617647,0.617044,0.616440,0.615836,0.615232,
0.614627,0.614022,0.613416,0.612810,0.612204,0.611597,0.610990,0.610383,0.609775,0.609167,0.608559,0.607950,0.607341,0.606731,0.606121,0.605511,0.604900,0.604290,0.603678,0.603067,0.602455,0.601842,0.601230,0.600616,0.600003,0.599389,0.598775,0.598161,0.597546,0.596931,0.596315,0.595699,
0.595083,0.594466,0.593850,0.593232,0.592615,0.591997,0.591378,0.590760,0.590141,0.589521,0.588902,0.588282,0.587661,0.587040,0.586419,0.585798,0.585176,0.584554,0.583931,0.583309,0.582685,0.582062,0.581438,0.580814,0.580189,0.579565,0.578939,0.578314,0.577688,0.577062,0.576435,0.575808,
0.575181,0.574553,0.573925,0.573297,0.572669,0.572040,0.571410,0.570781,0.570151,0.569521,0.568890,0.568259,0.567628,0.566996,0.566364,0.565732,0.565099,0.564466,0.563833,0.563199,0.562565,0.561931,0.561297,0.560662,0.560026,0.559391,0.558755,0.558119,0.557482,0.556845,0.556208,0.555570,
0.554932,0.554294,0.553656,0.553017,0.552378,0.551738,0.551098,0.550458,0.549817,0.549177,0.548536,0.547894,0.547252,0.546610,0.545968,0.545325,0.544682,0.544039,0.543395,0.542751,0.542106,0.541462,0.540817,0.540171,0.539526,0.538880,0.538234,0.537587,0.536940,0.536293,0.535645,0.534998,
0.534349,0.533701,0.533052,0.532403,0.531754,0.531104,0.530454,0.529804,0.529153,0.528502,0.527851,0.527199,0.526547,0.525895,0.525243,0.524590,0.523937,0.523283,0.522629,0.521975,0.521321,0.520666,0.520011,0.519356,0.518700,0.518045,0.517388,0.516732,0.516075,0.515418,0.514760,0.514103,
0.513445,0.512786,0.512128,0.511469,0.510810,0.510150,0.509490,0.508830,0.508170,0.507509,0.506848,0.506187,0.505525,0.504863,0.504201,0.503538,0.502876,0.502212,0.501549,0.500885,0.500221,0.499557,0.498893,0.498228,0.497563,0.496897,0.496231,0.495565,0.494899,0.494232,0.493565,0.492898,
0.492231,0.491563,0.490895,0.490226,0.489558,0.488889,0.488220,0.487550,0.486880,0.486210,0.485540,0.484869,0.484198,0.483527,0.482856,0.482184,0.481512,0.480839,0.480167,0.479494,0.478821,0.478147,0.477473,0.476799,0.476125,0.475450,0.474775,0.474100,0.473425,0.472749,0.472073,0.471397,
0.470720,0.470043,0.469366,0.468689,0.468011,0.467333,0.466655,0.465976,0.465298,0.464619,0.463939,0.463260,0.462580,0.461900,0.461219,0.460539,0.459858,0.459177,0.458495,0.457813,0.457131,0.456449,0.455766,0.455084,0.454400,0.453717,0.453033,0.452350,0.451665,0.450981,0.450296,0.449611,
0.448926,0.448241,0.447555,0.446869,0.446183,0.445496,0.444809,0.444122,0.443435,0.442747,0.442059,0.441371,0.440683,0.439994,0.439305,0.438616,0.437927,0.437237,0.436547,0.435857,0.435167,0.434476,0.433785,0.433094,0.432402,0.431711,0.431019,0.430326,0.429634,0.428941,0.428248,0.427555,
0.426862,0.426168,0.425474,0.424780,0.424085,0.423390,0.422695,0.422000,0.421305,0.420609,0.419913,0.419217,0.418520,0.417824,0.417127,0.416430,0.415732,0.415034,0.414336,0.413638,0.412940,0.412241,0.411542,0.410843,0.410144,0.409444,0.408744,0.408044,0.407344,0.406643,0.405942,0.405241,
0.404540,0.403838,0.403137,0.402435,0.401732,0.401030,0.400327,0.399624,0.398921,0.398218,0.397514,0.396810,0.396106,0.395401,0.394697,0.393992,0.393287,0.392582,0.391876,0.391170,0.390464,0.389758,0.389052,0.388345,0.387638,0.386931,0.386224,0.385516,0.384808,0.384100,0.383392,0.382683,
0.381975,0.381266,0.380557,0.379847,0.379138,0.378428,0.377718,0.377007,0.376297,0.375586,0.374875,0.374164,0.373453,0.372741,0.372029,0.371317,0.370605,0.369892,0.369180,0.368467,0.367754,0.367040,0.366327,0.365613,0.364899,0.364185,0.363470,0.362756,0.362041,0.361326,0.360611,0.359895,
0.359179,0.358463,0.357747,0.357031,0.356314,0.355598,0.354881,0.354164,0.353446,0.352729,0.352011,0.351293,0.350575,0.349856,0.349138,0.348419,0.347700,0.346980,0.346261,0.345541,0.344821,0.344101,0.343381,0.342661,0.341940,0.341219,0.340498,0.339777,0.339055,0.338334,0.337612,0.336890,
0.336168,0.335445,0.334722,0.334000,0.333277,0.332553,0.331830,0.331106,0.330382,0.329658,0.328934,0.328210,0.327485,0.326760,0.326035,0.325310,0.324585,0.323859,0.323134,0.322408,0.321682,0.320955,0.320229,0.319502,0.318775,0.318048,0.317321,0.316593,0.315866,0.315138,0.314410,0.313682,
0.312953,0.312225,0.311496,0.310767,0.310038,0.309309,0.308579,0.307850,0.307120,0.306390,0.305660,0.304929,0.304199,0.303468,0.302737,0.302006,0.301275,0.300543,0.299812,0.299080,0.298348,0.297616,0.296883,0.296151,0.295418,0.294685,0.293952,0.293219,0.292486,0.291752,0.291019,0.290285,
0.289551,0.288816,0.288082,0.287347,0.286613,0.285878,0.285143,0.284408,0.283672,0.282937,0.282201,0.281465,0.280729,0.279993,0.279256,0.278520,0.277783,0.277046,0.276309,0.275572,0.274834,0.274097,0.273359,0.272621,0.271883,0.271145,0.270407,0.269668,0.268930,0.268191,0.267452,0.266713,
0.265973,0.265234,0.264494,0.263755,0.263015,0.262275,0.261534,0.260794,0.260054,0.259313,0.258572,0.257831,0.257090,0.256349,0.255607,0.254866,0.254124,0.253382,0.252640,0.251898,0.251155,0.250413,0.249670,0.248928,0.248185,0.247442,0.246698,0.245955,0.245212,0.244468,0.243724,0.242980,
0.242236,0.241492,0.240748,0.240003,0.239258,0.238514,0.237769,0.237024,0.236278,0.235533,0.234788,0.234042,0.233296,0.232550,0.231804,0.231058,0.230312,0.229565,0.228819,0.228072,0.227325,0.226578,0.225831,0.225084,0.224337,0.223589,0.222841,0.222094,0.221346,0.220598,0.219850,0.219101,
0.218353,0.217604,0.216856,0.216107,0.215358,0.214609,0.213860,0.213110,0.212361,0.211611,0.210862,0.210112,0.209362,0.208612,0.207862,0.207111,0.206361,0.205610,0.204860,0.204109,0.203358,0.202607,0.201856,0.201105,0.200353,0.199602,0.198850,0.198098,0.197347,0.196595,0.195843,0.195090,
0.194338,0.193586,0.192833,0.192080,0.191328,0.190575,0.189822,0.189069,0.188315,0.187562,0.186809,0.186055,0.185301,0.184548,0.183794,0.183040,0.182286,0.181532,0.180777,0.180023,0.179268,0.178514,0.177759,0.177004,0.176249,0.175494,0.174739,0.173984,0.173229,0.172473,0.171718,0.170962,
0.170206,0.169450,0.168694,0.167938,0.167182,0.166426,0.165670,0.164913,0.164157,0.163400,0.162643,0.161886,0.161129,0.160372,0.159615,0.158858,0.158101,0.157343,0.156586,0.155828,0.155071,0.154313,0.153555,0.152797,0.152039,0.151281,0.150523,0.149765,0.149006,0.148248,0.147489,0.146730,
0.145972,0.145213,0.144454,0.143695,0.142936,0.142177,0.141418,0.140658,0.139899,0.139139,0.138380,0.137620,0.136860,0.136101,0.135341,0.134581,0.133821,0.133061,0.132300,0.131540,0.130780,0.130019,0.129259,0.128498,0.127737,0.126977,0.126216,0.125455,0.124694,0.123933,0.123172,0.122411,
0.121649,0.120888,0.120127,0.119365,0.118604,0.117842,0.117080,0.116319,0.115557,0.114795,0.114033,0.113271,0.112509,0.111747,0.110984,0.110222,0.109460,0.108697,0.107935,0.107172,0.106410,0.105647,0.104884,0.104122,0.103359,0.102596,0.101833,0.101070,0.100307,0.099544,0.098780,0.098017,
0.097254,0.096490,0.095727,0.094963,0.094200,0.093436,0.092673,0.091909,0.091145,0.090381,0.089617,0.088854,0.088090,0.087326,0.086561,0.085797,0.085033,0.084269,0.083505,0.082740,0.081976,0.081211,0.080447,0.079682,0.078918,0.078153,0.077389,0.076624,0.075859,0.075094,0.074329,0.073565,
0.072800,0.072035,0.071270,0.070505,0.069739,0.068974,0.068209,0.067444,0.066679,0.065913,0.065148,0.064383,0.063617,0.062852,0.062086,0.061321,0.060555,0.059790,0.059024,0.058258,0.057493,0.056727,0.055961,0.055195,0.054429,0.053664,0.052898,0.052132,0.051366,0.050600,0.049834,0.049068,
0.048302,0.047535,0.046769,0.046003,0.045237,0.044471,0.043705,0.042938,0.042172,0.041406,0.040639,0.039873,0.039107,0.038340,0.037574,0.036807,0.036041,0.035274,0.034508,0.033741,0.032975,0.032208,0.031441,0.030675,0.029908,0.029142,0.028375,0.027608,0.026841,0.026075,0.025308,0.024541,
0.023774,0.023008,0.022241,0.021474,0.020707,0.019940,0.019174,0.018407,0.017640,0.016873,0.016106,0.015339,0.014572,0.013805,0.013038,0.012272,0.011505,0.010738,0.009971,0.009204,0.008437,0.007670,0.006903,0.006136,0.005369,0.004602,0.003835,0.003068,0.002301,0.001534,0.000767,0.000000,
-0.000767,-0.001534,-0.002301,-0.003068,-0.003835,-0.004602,-0.005369,-0.006136,-0.006903,-0.007670,-0.008437,-0.009204,-0.009971,-0.010738,-0.011505,-0.012272,-0.013038,-0.013805,-0.014572,-0.015339,-0.016106,-0.016873,-0.017640,-0.018407,-0.019174,-0.019940,-0.020707,-0.021474,-0.022241,-0.023008,-0.023774,-0.024541,
-0.025308,-0.026075,-0.026841,-0.027608,-0.028375,-0.029142,-0.029908,-0.030675,-0.031441,-0.032208,-0.032975,-0.033741,-0.034508,-0.035274,-0.036041,-0.036807,-0.037574,-0.038340,-0.039107,-0.039873,-0.040639,-0.041406,-0.042172,-0.042938,-0.043705,-0.044471,-0.045237,-0.046003,-0.046769,-0.047535,-0.048302,-0.049068,
-0.049834,-0.050600,-0.051366,-0.052132,-0.052898,-0.053664,-0.054429,-0.055195,-0.055961,-0.056727,-0.057493,-0.058258,-0.059024,-0.059790,-0.060555,-0.061321,-0.062086,-0.062852,-0.063617,-0.064383,-0.065148,-0.065913,-0.066679,-0.067444,-0.068209,-0.068974,-0.069739,-0.070505,-0.071270,-0.072035,-0.072800,-0.073565,
-0.074329,-0.075094,-0.075859,-0.076624,-0.077389,-0.078153,-0.078918,-0.079682,-0.080447,-0.081211,-0.081976,-0.082740,-0.083505,-0.084269,-0.085033,-0.085797,-0.086561,-0.087326,-0.088090,-0.088854,-0.089617,-0.090381,-0.091145,-0.091909,-0.092673,-0.093436,-0.094200,-0.094963,-0.095727,-0.096490,-0.097254,-0.098017,
-0.098780,-0.099544,-0.100307,-0.101070,-0.101833,-0.102596,-0.103359,-0.104122,-0.104884,-0.105647,-0.106410,-0.107172,-0.107935,-0.108697,-0.109460,-0.110222,-0.110984,-0.111747,-0.112509,-0.113271,-0.114033,-0.114795,-0.115557,-0.116319,-0.117080,-0.117842,-0.118604,-0.119365,-0.120127,-0.120888,-0.121649,-0.122411,
-0.123172,-0.123933,-0.124694,-0.125455,-0.126216,-0.126977,-0.127737,-0.128498,-0.129259,-0.130019,-0.130780,-0.131540,-0.132300,-0.133061,-0.133821,-0.134581,-0.135341,-0.136101,-0.136860,-0.137620,-0.138380,-0.139139,-0.139899,-0.140658,-0.141418,-0.142177,-0.142936,-0.143695,-0.144454,-0.145213,-0.145972,-0.146730,
-0.147489,-0.148248,-0.149006,-0.149765,-0.150523,-0.151281,-0.152039,-0.152797,-0.153555,-0.154313,-0.155071,-0.155828,-0.156586,-0.157343,-0.158101,-0.158858,-0.159615,-0.160372,-0.161129,-0.161886,-0.162643,-0.163400,-0.164157,-0.164913,-0.165670,-0.166426,-0.167182,-0.167938,-0.168694,-0.169450,-0.170206,-0.170962,
-0.171718,-0.172473,-0.173229,-0.173984,-0.174739,-0.175494,-0.176249,-0.177004,-0.177759,-0.178514,-0.179268,-0.180023,-0.180777,-0.181532,-0.182286,-0.183040,-0.183794,-0.184548,-0.185301,-0.186055,-0.186809,-0.187562,-0.188315,-0.189069,-0.189822,-0.190575,-0.191328,-0.192080,-0.192833,-0.193586,-0.194338,-0.195090,
-0.195843,-0.196595,-0.197347,-0.198098,-0.198850,-0.199602,-0.200353,-0.201105,-0.201856,-0.202607,-0.203358,-0.204109,-0.204860,-0.205610,-0.206361,-0.207111,-0.207862,-0.208612,-0.209362,-0.210112,-0.210862,-0.211611,-0.212361,-0.213110,-0.213860,-0.214609,-0.215358,-0.216107,-0.216856,-0.217604,-0.218353,-0.219101,
-0.219850,-0.220598,-0.221346,-0.222094,-0.222841,-0.223589,-0.224337,-0.225084,-0.225831,-0.226578,-0.227325,-0.228072,-0.228819,-0.229565,-0.230312,-0.231058,-0.231804,-0.232550,-0.233296,-0.234042,-0.234788,-0.235533,-0.236278,-0.237024,-0.237769,-0.238514,-0.239258,-0.240003,-0.240748,-0.241492,-0.242236,-0.242980,
-0.243724,-0.244468,-0.245212,-0.245955,-0.246698,-0.247442,-0.248185,-0.248928,-0.249670,-0.250413,-0.251155,-0.251898,-0.252640,-0.253382,-0.254124,-0.254866,-0.255607,-0.256349,-0.257090,-0.257831,-0.258572,-0.259313,-0.260054,-0.260794,-0.261534,-0.262275,-0.263015,-0.263755,-0.264494,-0.265234,-0.265973,-0.266713,
-0.267452,-0.268191,-0.268930,-0.269668,-0.270407,-0.271145,-0.271883,-0.272621,-0.273359,-0.274097,-0.274834,-0.275572,-0.276309,-0.277046,-0.277783,-0.278520,-0.279256,-0.279993,-0.280729,-0.281465,-0.282201,-0.282937,-0.283672,-0.284408,-0.285143,-0.285878,-0.286613,-0.287347,-0.288082,-0.288816,-0.289551,-0.290285,
-0.291019,-0.291752,-0.292486,-0.293219,-0.293952,-0.294685,-0.295418,-0.296151,-0.296883,-0.297616,-0.298348,-0.299080,-0.299812,-0.300543,-0.301275,-0.302006,-0.302737,-0.303468,-0.304199,-0.304929,-0.305660,-0.306390,-0.307120,-0.307850,-0.308579,-0.309309,-0.310038,-0.310767,-0.311496,-0.312225,-0.312953,-0.313682,
-0.314410,-0.315138,-0.315866,-0.316593,-0.317321,-0.318048,-0.318775,-0.319502,-0.320229,-0.320955,-0.321682,-0.322408,-0.323134,-0.323859,-0.324585,-0.325310,-0.326035,-0.326760,-0.327485,-0.328210,-0.328934,-0.329658,-0.330382,-0.331106,-0.331830,-0.332553,-0.333277,-0.334000,-0.334722,-0.335445,-0.336168,-0.336890,
-0.337612,-0.338334,-0.339055,-0.339777,-0.340498,-0.341219,-0.341940,-0.342661,-0.343381,-0.344101,-0.344821,-0.345541,-0.346261,-0.346980,-0.347700,-0.348419,-0.349138,-0.349856,-0.350575,-0.351293,-0.352011,-0.352729,-0.353446,-0.354164,-0.354881,-0.355598,-0.356314,-0.357031,-0.357747,-0.358463,-0.359179,-0.359895,
-0.360611,-0.361326,-0.362041,-0.362756,-0.363470,-0.364185,-0.364899,-0.365613,-0.366327,-0.367040,-0.367754,-0.368467,-0.369180,-0.369892,-0.370605,-0.371317,-0.372029,-0.372741,-0.373453,-0.374164,-0.374875,-0.375586,-0.376297,-0.377007,-0.377718,-0.378428,-0.379138,-0.379847,-0.380557,-0.381266,-0.381975,-0.382683,
-0.383392,-0.384100,-0.384808,-0.385516,-0.386224,-0.386931,-0.387638,-0.388345,-0.389052,-0.389758,-0.390464,-0.391170,-0.391876,-0.392582,-0.393287,-0.393992,-0.394697,-0.395401,-0.396106,-0.396810,-0.397514,-0.398218,-0.398921,-0.399624,-0.400327,-0.401030,-0.401732,-0.402435,-0.403137,-0.403838,-0.404540,-0.405241,
-0.405942,-0.406643,-0.407344,-0.408044,-0.408744,-0.409444,-0.410144,-0.410843,-0.411542,-0.412241,-0.412940,-0.413638,-0.414336,-0.415034,-0.415732,-0.416430,-0.417127,-0.417824,-0.418520,-0.419217,-0.419913,-0.420609,-0.421305,-0.422000,-0.422695,-0.423390,-0.424085,-0.424780,-0.425474,-0.426168,-0.426862,-0.427555,
-0.428248,-0.428941,-0.429634,-0.430326,-0.431019,-0.431711,-0.432402,-0.433094,-0.433785,-0.434476,-0.435167,-0.435857,-0.436547,-0.437237,-0.437927,-0.438616,-0.439305,-0.439994,-0.440683,-0.441371,-0.442059,-0.442747,-0.443435,-0.444122,-0.444809,-0.445496,-0.446183,-0.446869,-0.447555,-0.448241,-0.448926,-0.449611,
-0.450296,-0.450981,-0.451665,-0.452350,-0.453033,-0.453717,-0.454400,-0.455084,-0.455766,-0.456449,-0.457131,-0.457813,-0.458495,-0.459177,-0.459858,-0.460539,-0.461219,-0.461900,-0.462580,-0.463260,-0.463939,-0.464619,-0.465298,-0.465976,-0.466655,-0.467333,-0.468011,-0.468689,-0.469366,-0.470043,-0.470720,-0.471397,
-0.472073,-0.472749,-0.473425,-0.474100,-0.474775,-0.475450,-0.476125,-0.476799,-0.477473,-0.478147,-0.478821,-0.479494,-0.480167,-0.480839,-0.481512,-0.482184,-0.482856,-0.483527,-0.484198,-0.484869,-0.485540,-0.486210,-0.486880,-0.487550,-0.488220,-0.488889,-0.489558,-0.490226,-0.490895,-0.491563,-0.492231,-0.492898,
-0.493565,-0.494232,-0.494899,-0.495565,-0.496231,-0.496897,-0.497563,-0.498228,-0.498893,-0.499557,-0.500221,-0.500885,-0.501549,-0.502212,-0.502876,-0.503538,-0.504201,-0.504863,-0.505525,-0.506187,-0.506848,-0.507509,-0.508170,-0.508830,-0.509490,-0.510150,-0.510810,-0.511469,-0.512128,-0.512786,-0.513445,-0.514103,
-0.514760,-0.515418,-0.516075,-0.516732,-0.517388,-0.518045,-0.518700,-0.519356,-0.520011,-0.520666,-0.521321,-0.521975,-0.522629,-0.523283,-0.523937,-0.524590,-0.525243,-0.525895,-0.526547,-0.527199,-0.527851,-0.528502,-0.529153,-0.529804,-0.530454,-0.531104,-0.531754,-0.532403,-0.533052,-0.533701,-0.534349,-0.534998,
-0.535645,-0.536293,-0.536940,-0.537587,-0.538234,-0.538880,-0.539526,-0.540171,-0.540817,-0.541462,-0.542106,-0.542751,-0.543395,-0.544039,-0.544682,-0.545325,-0.545968,-0.546610,-0.547252,-0.547894,-0.548536,-0.549177,-0.549817,-0.550458,-0.551098,-0.551738,-0.552378,-0.553017,-0.553656,-0.554294,-0.554932,-0.555570,
-0.556208,-0.556845,-0.557482,-0.558119,-0.558755,-0.559391,-0.560026,-0.560662,-0.561297,-0.561931,-0.562565,-0.563199,-0.563833,-0.564466,-0.565099,-0.565732,-0.566364,-0.566996,-0.567628,-0.568259,-0.568890,-0.569521,-0.570151,-0.570781,-0.571410,-0.572040,-0.572669,-0.573297,-0.573925,-0.574553,-0.575181,-0.575808,
-0.576435,-0.577062,-0.577688,-0.578314,-0.578939,-0.579565,-0.580189,-0.580814,-0.581438,-0.582062,-0.582685,-0.583309,-0.583931,-0.584554,-0.585176,-0.585798,-0.586419,-0.587040,-0.587661,-0.588282,-0.588902,-0.589521,-0.590141,-0.590760,-0.591378,-0.591997,-0.592615,-0.593232,-0.593850,-0.594466,-0.595083,-0.595699,
-0.596315,-0.596931,-0.597546,-0.598161,-0.598775,-0.599389,-0.600003,-0.600616,-0.601230,-0.601842,-0.602455,-0.603067,-0.603678,-0.604290,-0.604900,-0.605511,-0.606121,-0.606731,-0.607341,-0.607950,-0.608559,-0.609167,-0.609775,-0.610383,-0.610990,-0.611597,-0.612204,-0.612810,-0.613416,-0.614022,-0.614627,-0.615232,
-0.615836,-0.616440,-0.617044,-0.617647,-0.618250,-0.618853,-0.619455,-0.620057,-0.620659,-0.621260,-0.621861,-0.622461,-0.623061,-0.623661,-0.624260,-0.624859,-0.625458,-0.626056,-0.626654,-0.627252,-0.627849,-0.628446,-0.629042,-0.629638,-0.630234,-0.630829,-0.631424,-0.632019,-0.632613,-0.633207,-0.633800,-0.634393,
-0.634986,-0.635578,-0.636170,-0.636762,-0.637353,-0.637944,-0.638534,-0.639124,-0.639714,-0.640303,-0.640892,-0.641481,-0.642069,-0.642657,-0.643244,-0.643832,-0.644418,-0.645005,-0.645590,-0.646176,-0.646761,-0.647346,-0.647930,-0.648514,-0.649098,-0.649681,-0.650264,-0.650847,-0.651429,-0.652011,-0.652592,-0.653173,
-0.653753,-0.654334,-0.654913,-0.655493,-0.656072,-0.656651,-0.657229,-0.657807,-0.658384,-0.658961,-0.659538,-0.660114,-0.660690,-0.661266,-0.661841,-0.662416,-0.662990,-0.663564,-0.664138,-0.664711,-0.665284,-0.665856,-0.666428,-0.667000,-0.667571,-0.668142,-0.668713,-0.669283,-0.669852,-0.670422,-0.670990,-0.671559,
-0.672127,-0.672695,-0.673262,-0.673829,-0.674396,-0.674962,-0.675527,-0.676093,-0.676658,-0.677222,-0.677786,-0.678350,-0.678913,-0.679476,-0.680039,-0.680601,-0.681163,-0.681724,-0.682285,-0.682846,-0.683406,-0.683965,-0.684525,-0.685084,-0.685642,-0.686200,-0.686758,-0.687315,-0.687872,-0.688429,-0.688985,-0.689541,
-0.690096,-0.690651,-0.691205,-0.691759,-0.692313,-0.692866,-0.693419,-0.693971,-0.694523,-0.695075,-0.695626,-0.696177,-0.696728,-0.697278,-0.697827,-0.698376,-0.698925,-0.699473,-0.700021,-0.700569,-0.701116,-0.701663,-0.702209,-0.702755,-0.703300,-0.703845,-0.704390,-0.704934,-0.705478,-0.706021,-0.706564,-0.707107,
-0.707649,-0.708191,-0.708732,-0.709273,-0.709813,-0.710353,-0.710893,-0.711432,-0.711971,-0.712509,-0.713047,-0.713585,-0.714122,-0.714659,-0.715195,-0.715731,-0.716266,-0.716801,-0.717336,-0.717870,-0.718404,-0.718937,-0.719470,-0.720003,-0.720535,-0.721066,-0.721597,-0.722128,-0.722659,-0.723188,-0.723718,-0.724247,
-0.724776,-0.725304,-0.725832,-0.726359,-0.726886,-0.727413,-0.727939,-0.728464,-0.728990,-0.729514,-0.730039,-0.730563,-0.731086,-0.731609,-0.732132,-0.732654,-0.733176,-0.733697,-0.734218,-0.734739,-0.735259,-0.735779,-0.736298,-0.736817,-0.737335,-0.737853,-0.738370,-0.738887,-0.739404,-0.739920,-0.740436,-0.740951,
-0.741466,-0.741980,-0.742494,-0.743008,-0.743521,-0.744034,-0.744546,-0.745058,-0.745569,-0.746080,-0.746591,-0.747101,-0.747610,-0.748119,-0.748628,-0.749136,-0.749644,-0.750152,-0.750659,-0.751165,-0.751671,-0.752177,-0.752682,-0.753187,-0.753691,-0.754195,-0.754698,-0.755201,-0.755704,-0.756206,-0.756708,-0.757209,
-0.757710,-0.758210,-0.758710,-0.759209,-0.759708,-0.760207,-0.760705,-0.761202,-0.761700,-0.762196,-0.762693,-0.763188,-0.763684,-0.764179,-0.764673,-0.765167,-0.765661,-0.766154,-0.766647,-0.767139,-0.767631,-0.768122,-0.768613,-0.769103,-0.769593,-0.770083,-0.770572,-0.771061,-0.771549,-0.772036,-0.772524,-0.773010,
-0.773497,-0.773983,-0.774468,-0.774953,-0.775438,-0.775922,-0.776405,-0.776888,-0.777371,-0.777853,-0.778335,-0.778817,-0.779297,-0.779778,-0.780258,-0.780737,-0.781216,-0.781695,-0.782173,-0.782651,-0.783128,-0.783605,-0.784081,-0.784557,-0.785032,-0.785507,-0.785981,-0.786455,-0.786929,-0.787402,-0.787874,-0.788346,
-0.788818,-0.789289,-0.789760,-0.790230,-0.790700,-0.791169,-0.791638,-0.792107,-0.792575,-0.793042,-0.793509,-0.793975,-0.794442,-0.794907,-0.795372,-0.795837,-0.796301,-0.796765,-0.797228,-0.797691,-0.798153,-0.798615,-0.799076,-0.799537,-0.799998,-0.800458,-0.800917,-0.801376,-0.801835,-0.802293,-0.802750,-0.803208,
-0.803664,-0.804120,-0.804576,-0.805031,-0.805486,-0.805940,-0.806394,-0.806848,-0.807300,-0.807753,-0.808205,-0.808656,-0.809107,-0.809558,-0.810008,-0.810457,-0.810906,-0.811355,-0.811803,-0.812251,-0.812698,-0.813144,-0.813591,-0.814036,-0.814482,-0.814926,-0.815371,-0.815814,-0.816258,-0.816701,-0.817143,-0.817585,
-0.818026,-0.818467,-0.818908,-0.819348,-0.819787,-0.820226,-0.820664,-0.821103,-0.821540,-0.821977,-0.822414,-0.822850,-0.823285,-0.823721,-0.824155,-0.824589,-0.825023,-0.825456,-0.825889,-0.826321,-0.826753,-0.827184,-0.827615,-0.828045,-0.828475,-0.828904,-0.829333,-0.829761,-0.830189,-0.830616,-0.831043,-0.831470,
-0.831895,-0.832321,-0.832746,-0.833170,-0.833594,-0.834018,-0.834440,-0.834863,-0.835285,-0.835706,-0.836127,-0.836548,-0.836968,-0.837387,-0.837806,-0.838225,-0.838643,-0.839060,-0.839477,-0.839894,-0.840310,-0.840725,-0.841140,-0.841555,-0.841969,-0.842383,-0.842796,-0.843208,-0.843620,-0.844032,-0.844443,-0.844854,
-0.845264,-0.845673,-0.846082,-0.846491,-0.846899,-0.847307,-0.847714,-0.848120,-0.848526,-0.848932,-0.849337,-0.849742,-0.850146,-0.850549,-0.850953,-0.851355,-0.851757,-0.852159,-0.852560,-0.852961,-0.853361,-0.853760,-0.854159,-0.854558,-0.854956,-0.855354,-0.855751,-0.856147,-0.856543,-0.856939,-0.857334,-0.857729,
-0.858123,-0.858516,-0.858909,-0.859302,-0.859694,-0.860085,-0.860476,-0.860867,-0.861257,-0.861646,-0.862035,-0.862424,-0.862812,-0.863199,-0.863586,-0.863973,-0.864359,-0.864744,-0.865129,-0.865514,-0.865898,-0.866281,-0.866664,-0.867046,-0.867428,-0.867809,-0.868190,-0.868571,-0.868951,-0.869330,-0.869709,-0.870087,
-0.870465,-0.870842,-0.871219,-0.871595,-0.871971,-0.872346,-0.872721,-0.873095,-0.873469,-0.873842,-0.874215,-0.874587,-0.874958,-0.875329,-0.875700,-0.876070,-0.876440,-0.876809,-0.877177,-0.877545,-0.877913,-0.878280,-0.878646,-0.879012,-0.879378,-0.879743,-0.880107,-0.880471,-0.880834,-0.881197,-0.881559,-0.881921,
-0.882283,-0.882643,-0.883004,-0.883363,-0.883723,-0.884081,-0.884439,-0.884797,-0.885154,-0.885511,-0.885867,-0.886223,-0.886578,-0.886932,-0.887286,-0.887640,-0.887993,-0.888345,-0.888697,-0.889048,-0.889399,-0.889750,-0.890099,-0.890449,-0.890798,-0.891146,-0.891493,-0.891841,-0.892187,-0.892534,-0.892879,-0.893224,
-0.893569,-0.893913,-0.894256,-0.894599,-0.894942,-0.895284,-0.895625,-0.895966,-0.896307,-0.896646,-0.896986,-0.897325,-0.897663,-0.898001,-0.898338,-0.898674,-0.899011,-0.899346,-0.899681,-0.900016,-0.900350,-0.900683,-0.901016,-0.901349,-0.901681,-0.902012,-0.902343,-0.902673,-0.903003,-0.903332,-0.903661,-0.903989,
-0.904317,-0.904644,-0.904971,-0.905297,-0.905622,-0.905947,-0.906272,-0.906596,-0.906919,-0.907242,-0.907564,-0.907886,-0.908207,-0.908528,-0.908848,-0.909168,-0.909487,-0.909806,-0.910124,-0.910441,-0.910758,-0.911075,-0.911391,-0.911706,-0.912021,-0.912335,-0.912649,-0.912962,-0.913275,-0.913587,-0.913899,-0.914210,
-0.914520,-0.914830,-0.915140,-0.915449,-0.915757,-0.916065,-0.916372,-0.916679,-0.916985,-0.917291,-0.917596,-0.917901,-0.918205,-0.918508,-0.918811,-0.919114,-0.919416,-0.919717,-0.920018,-0.920318,-0.920618,-0.920917,-0.921216,-0.921514,-0.921812,-0.922109,-0.922405,-0.922701,-0.922997,-0.923291,-0.923586,-0.923880,
-0.924173,-0.924465,-0.924758,-0.925049,-0.925340,-0.925631,-0.925921,-0.926210,-0.926499,-0.926787,-0.927075,-0.927363,-0.927649,-0.927935,-0.928221,-0.928506,-0.928791,-0.929075,-0.929358,-0.929641,-0.929923,-0.930205,-0.930486,-0.930767,-0.931047,-0.931327,-0.931606,-0.931884,-0.932162,-0.932440,-0.932716,-0.932993,
-0.933269,-0.933544,-0.933818,-0.934093,-0.934366,-0.934639,-0.934912,-0.935184,-0.935455,-0.935726,-0.935996,-0.936266,-0.936535,-0.936803,-0.937072,-0.937339,-0.937606,-0.937872,-0.938138,-0.938404,-0.938668,-0.938932,-0.939196,-0.939459,-0.939722,-0.939984,-0.940245,-0.940506,-0.940766,-0.941026,-0.941285,-0.941544,
-0.941802,-0.942060,-0.942317,-0.942573,-0.942829,-0.943084,-0.943339,-0.943593,-0.943847,-0.944100,-0.944353,-0.944605,-0.944856,-0.945107,-0.945358,-0.945607,-0.945857,-0.946105,-0.946353,-0.946601,-0.946848,-0.947094,-0.947340,-0.947586,-0.947830,-0.948075,-0.948318,-0.948561,-0.948804,-0.949046,-0.949287,-0.949528,
-0.949768,-0.950008,-0.950247,-0.950486,-0.950724,-0.950962,-0.951199,-0.951435,-0.951671,-0.951906,-0.952141,-0.952375,-0.952609,-0.952842,-0.953074,-0.953306,-0.953537,-0.953768,-0.953998,-0.954228,-0.954457,-0.954686,-0.954914,-0.955141,-0.955368,-0.955594,-0.955820,-0.956045,-0.956270,-0.956494,-0.956717,-0.956940,
-0.957163,-0.957385,-0.957606,-0.957826,-0.958047,-0.958266,-0.958485,-0.958703,-0.958921,-0.959139,-0.959355,-0.959572,-0.959787,-0.960002,-0.960217,-0.960431,-0.960644,-0.960857,-0.961069,-0.961280,-0.961492,-0.961702,-0.961912,-0.962121,-0.962330,-0.962538,-0.962746,-0.962953,-0.963160,-0.963366,-0.963571,-0.963776,
-0.963980,-0.964184,-0.964387,-0.964590,-0.964792,-0.964993,-0.965194,-0.965394,-0.965594,-0.965793,-0.965992,-0.966190,-0.966387,-0.966584,-0.966781,-0.966976,-0.967172,-0.967366,-0.967560,-0.967754,-0.967947,-0.968139,-0.968331,-0.968522,-0.968713,-0.968903,-0.969092,-0.969281,-0.969470,-0.969657,-0.969845,-0.970031,
-0.970217,-0.970403,-0.970588,-0.970772,-0.970956,-0.971139,-0.971322,-0.971504,-0.971685,-0.971866,-0.972047,-0.972226,-0.972406,-0.972584,-0.972762,-0.972940,-0.973117,-0.973293,-0.973469,-0.973644,-0.973819,-0.973993,-0.974166,-0.974339,-0.974512,-0.974684,-0.974855,-0.975025,-0.975195,-0.975365,-0.975534,-0.975702,
-0.975870,-0.976037,-0.976204,-0.976370,-0.976535,-0.976700,-0.976864,-0.977028,-0.977191,-0.977354,-0.977516,-0.977677,-0.977838,-0.977999,-0.978158,-0.978317,-0.978476,-0.978634,-0.978791,-0.978948,-0.979104,-0.979260,-0.979415,-0.979570,-0.979724,-0.979877,-0.980030,-0.980182,-0.980334,-0.980485,-0.980635,-0.980785,
-0.980935,-0.981083,-0.981232,-0.981379,-0.981526,-0.981673,-0.981819,-0.981964,-0.982109,-0.982253,-0.982396,-0.982539,-0.982682,-0.982824,-0.982965,-0.983105,-0.983246,-0.983385,-0.983524,-0.983662,-0.983800,-0.983937,-0.984074,-0.984210,-0.984346,-0.984480,-0.984615,-0.984749,-0.984882,-0.985014,-0.985146,-0.985278,
-0.985408,-0.985539,-0.985668,-0.985798,-0.985926,-0.986054,-0.986181,-0.986308,-0.986434,-0.986560,-0.986685,-0.986809,-0.986933,-0.987057,-0.987179,-0.987301,-0.987423,-0.987544,-0.987664,-0.987784,-0.987903,-0.988022,-0.988140,-0.988258,-0.988374,-0.988491,-0.988607,-0.988722,-0.988836,-0.988950,-0.989064,-0.989177,
-0.989289,-0.989400,-0.989512,-0.989622,-0.989732,-0.989841,-0.989950,-0.990058,-0.990166,-0.990273,-0.990379,-0.990485,-0.990590,-0.990695,-0.990799,-0.990903,-0.991006,-0.991108,-0.991210,-0.991311,-0.991411,-0.991511,-0.991611,-0.991710,-0.991808,-0.991906,-0.992003,-0.992099,-0.992195,-0.992291,-0.992385,-0.992480,
-0.992573,-0.992666,-0.992759,-0.992850,-0.992942,-0.993032,-0.993122,-0.993212,-0.993301,-0.993389,-0.993477,-0.993564,-0.993651,-0.993737,-0.993822,-0.993907,-0.993991,-0.994075,-0.994158,-0.994240,-0.994322,-0.994404,-0.994484,-0.994565,-0.994644,-0.994723,-0.994802,-0.994879,-0.994957,-0.995033,-0.995109,-0.995185,
-0.995260,-0.995334,-0.995408,-0.995481,-0.995553,-0.995625,-0.995697,-0.995767,-0.995838,-0.995907,-0.995976,-0.996045,-0.996113,-0.996180,-0.996247,-0.996313,-0.996378,-0.996443,-0.996507,-0.996571,-0.996634,-0.996697,-0.996759,-0.996820,-0.996881,-0.996941,-0.997001,-0.997060,-0.997119,-0.997176,-0.997234,-0.997290,
-0.997347,-0.997402,-0.997457,-0.997511,-0.997565,-0.997618,-0.997671,-0.997723,-0.997775,-0.997825,-0.997876,-0.997925,-0.997974,-0.998023,-0.998071,-0.998118,-0.998165,-0.998211,-0.998257,-0.998302,-0.998346,-0.998390,-0.998433,-0.998476,-0.998518,-0.998559,-0.998600,-0.998640,-0.998680,-0.998719,-0.998758,-0.998795,
-0.998833,-0.998870,-0.998906,-0.998941,-0.998976,-0.999011,-0.999045,-0.999078,-0.999110,-0.999142,-0.999174,-0.999205,-0.999235,-0.999265,-0.999294,-0.999322,-0.999350,-0.999378,-0.999404,-0.999431,-0.999456,-0.999481,-0.999506,-0.999529,-0.999553,-0.999575,-0.999597,-0.999619,-0.999640,-0.999660,-0.999680,-0.999699,
-0.999717,-0.999735,-0.999753,-0.999769,-0.999786,-0.999801,-0.999816,-0.999831,-0.999844,-0.999858,-0.999870,-0.999882,-0.999894,-0.999905,-0.999915,-0.999925,-0.999934,-0.999942,-0.999950,-0.999958,-0.999964,-0.999971,-0.999976,-0.999981,-0.999986,-0.999989,-0.999993,-0.999995,-0.999997,-0.999999,-1.000000,-1.000000,
-1.000000,-0.999999,-0.999997,-0.999995,-0.999993,-0.999989,-0.999986,-0.999981,-0.999976,-0.999971,-0.999964,-0.999958,-0.999950,-0.999942,-0.999934,-0.999925,-0.999915,-0.999905,-0.999894,-0.999882,-0.999870,-0.999858,-0.999844,-0.999831,-0.999816,-0.999801,-0.999786,-0.999769,-0.999753,-0.999735,-0.999717,-0.999699,
-0.999680,-0.999660,-0.999640,-0.999619,-0.999597,-0.999575,-0.999553,-0.999529,-0.999506,-0.999481,-0.999456,-0.999431,-0.999404,-0.999378,-0.999350,-0.999322,-0.999294,-0.999265,-0.999235,-0.999205,-0.999174,-0.999142,-0.999110,-0.999078,-0.999045,-0.999011,-0.998976,-0.998941,-0.998906,-0.998870,-0.998833,-0.998795,
-0.998758,-0.998719,-0.998680,-0.998640,-0.998600,-0.998559,-0.998518,-0.998476,-0.998433,-0.998390,-0.998346,-0.998302,-0.998257,-0.998211,-0.998165,-0.998118,-0.998071,-0.998023,-0.997974,-0.997925,-0.997876,-0.997825,-0.997775,-0.997723,-0.997671,-0.997618,-0.997565,-0.997511,-0.997457,-0.997402,-0.997347,-0.997290,
-0.997234,-0.997176,-0.997119,-0.997060,-0.997001,-0.996941,-0.996881,-0.996820,-0.996759,-0.996697,-0.996634,-0.996571,-0.996507,-0.996443,-0.996378,-0.996313,-0.996247,-0.996180,-0.996113,-0.996045,-0.995976,-0.995907,-0.995838,-0.995767,-0.995697,-0.995625,-0.995553,-0.995481,-0.995408,-0.995334,-0.995260,-0.995185,
-0.995109,-0.995033,-0.994957,-0.994879,-0.994802,-0.994723,-0.994644,-0.994565,-0.994484,-0.994404,-0.994322,-0.994240,-0.994158,-0.994075,-0.993991,-0.993907,-0.993822,-0.993737,-0.993651,-0.993564,-0.993477,-0.993389,-0.993301,-0.993212,-0.993122,-0.993032,-0.992942,-0.992850,-0.992759,-0.992666,-0.992573,-0.992480,
-0.992385,-0.992291,-0.992195,-0.992099,-0.992003,-0.991906,-0.991808,-0.991710,-0.991611,-0.991511,-0.991411,-0.991311,-0.991210,-0.991108,-0.991006,-0.990903,-0.990799,-0.990695,-0.990590,-0.990485,-0.990379,-0.990273,-0.990166,-0.990058,-0.989950,-0.989841,-0.989732,-0.989622,-0.989512,-0.989400,-0.989289,-0.989177,
-0.989064,-0.988950,-0.988836,-0.988722,-0.988607,-0.988491,-0.988374,-0.988258,-0.988140,-0.988022,-0.987903,-0.987784,-0.987664,-0.987544,-0.987423,-0.987301,-0.987179,-0.987057,-0.986933,-0.986809,-0.986685,-0.986560,-0.986434,-0.986308,-0.986181,-0.986054,-0.985926,-0.985798,-0.985668,-0.985539,-0.985408,-0.985278,
-0.985146,-0.985014,-0.984882,-0.984749,-0.984615,-0.984480,-0.984346,-0.984210,-0.984074,-0.983937,-0.983800,-0.983662,-0.983524,-0.983385,-0.983246,-0.983105,-0.982965,-0.982824,-0.982682,-0.982539,-0.982396,-0.982253,-0.982109,-0.981964,-0.981819,-0.981673,-0.981526,-0.981379,-0.981232,-0.981083,-0.980935,-0.980785,
-0.980635,-0.980485,-0.980334,-0.980182,-0.980030,-0.979877,-0.979724,-0.979570,-0.979415,-0.979260,-0.979104,-0.978948,-0.978791,-0.978634,-0.978476,-0.978317,-0.978158,-0.977999,-0.977838,-0.977677,-0.977516,-0.977354,-0.977191,-0.977028,-0.976864,-0.976700,-0.976535,-0.976370,-0.976204,-0.976037,-0.975870,-0.975702,
-0.975534,-0.975365,-0.975195,-0.975025,-0.974855,-0.974684,-0.974512,-0.974339,-0.974166,-0.973993,-0.973819,-0.973644,-0.973469,-0.973293,-0.973117,-0.972940,-0.972762,-0.972584,-0.972406,-0.972226,-0.972047,-0.971866,-0.971685,-0.971504,-0.971322,-0.971139,-0.970956,-0.970772,-0.970588,-0.970403,-0.970217,-0.970031,
-0.969845,-0.969657,-0.969470,-0.969281,-0.969092,-0.968903,-0.968713,-0.968522,-0.968331,-0.968139,-0.967947,-0.967754,-0.967560,-0.967366,-0.967172,-0.966976,-0.966781,-0.966584,-0.966387,-0.966190,-0.965992,-0.965793,-0.965594,-0.965394,-0.965194,-0.964993,-0.964792,-0.964590,-0.964387,-0.964184,-0.963980,-0.963776,
-0.963571,-0.963366,-0.963160,-0.962953,-0.962746,-0.962538,-0.962330,-0.962121,-0.961912,-0.961702,-0.961492,-0.961280,-0.961069,-0.960857,-0.960644,-0.960431,-0.960217,-0.960002,-0.959787,-0.959572,-0.959355,-0.959139,-0.958921,-0.958703,-0.958485,-0.958266,-0.958047,-0.957826,-0.957606,-0.957385,-0.957163,-0.956940,
-0.956717,-0.956494,-0.956270,-0.956045,-0.955820,-0.955594,-0.955368,-0.955141,-0.954914,-0.954686,-0.954457,-0.954228,-0.953998,-0.953768,-0.953537,-0.953306,-0.953074,-0.952842,-0.952609,-0.952375,-0.952141,-0.951906,-0.951671,-0.951435,-0.951199,-0.950962,-0.950724,-0.950486,-0.950247,-0.950008,-0.949768,-0.949528,
-0.949287,-0.949046,-0.948804,-0.948561,-0.948318,-0.948075,-0.947830,-0.947586,-0.947340,-0.947094,-0.946848,-0.946601,-0.946353,-0.946105,-0.945857,-0.945607,-0.945358,-0.945107,-0.944856,-0.944605,-0.944353,-0.944100,-0.943847,-0.943593,-0.943339,-0.943084,-0.942829,-0.942573,-0.942317,-0.942060,-0.941802,-0.941544,
-0.941285,-0.941026,-0.940766,-0.940506,-0.940245,-0.939984,-0.939722,-0.939459,-0.939196,-0.938932,-0.938668,-0.938404,-0.938138,-0.937872,-0.937606,-0.937339,-0.937072,-0.936803,-0.936535,-0.936266,-0.935996,-0.935726,-0.935455,-0.935184,-0.934912,-0.934639,-0.934366,-0.934093,-0.933818,-0.933544,-0.933269,-0.932993,
-0.932716,-0.932440,-0.932162,-0.931884,-0.931606,-0.931327,-0.931047,-0.930767,-0.930486,-0.930205,-0.929923,-0.929641,-0.929358,-0.929075,-0.928791,-0.928506,-0.928221,-0.927935,-0.927649,-0.927363,-0.927075,-0.926787,-0.926499,-0.926210,-0.925921,-0.925631,-0.925340,-0.925049,-0.924758,-0.924465,-0.924173,-0.923880,
-0.923586,-0.923291,-0.922997,-0.922701,-0.922405,-0.922109,-0.921812,-0.921514,-0.921216,-0.920917,-0.920618,-0.920318,-0.920018,-0.919717,-0.919416,-0.919114,-0.918811,-0.918508,-0.918205,-0.917901,-0.917596,-0.917291,-0.916985,-0.916679,-0.916372,-0.916065,-0.915757,-0.915449,-0.915140,-0.914830,-0.914520,-0.914210,
-0.913899,-0.913587,-0.913275,-0.912962,-0.912649,-0.912335,-0.912021,-0.911706,-0.911391,-0.911075,-0.910758,-0.910441,-0.910124,-0.909806,-0.909487,-0.909168,-0.908848,-0.908528,-0.908207,-0.907886,-0.907564,-0.907242,-0.906919,-0.906596,-0.906272,-0.905947,-0.905622,-0.905297,-0.904971,-0.904644,-0.904317,-0.903989,
-0.903661,-0.903332,-0.903003,-0.902673,-0.902343,-0.902012,-0.901681,-0.901349,-0.901016,-0.900683,-0.900350,-0.900016,-0.899681,-0.899346,-0.899011,-0.898674,-0.898338,-0.898001,-0.897663,-0.897325,-0.896986,-0.896646,-0.896307,-0.895966,-0.895625,-0.895284,-0.894942,-0.894599,-0.894256,-0.893913,-0.893569,-0.893224,
-0.892879,-0.892534,-0.892187,-0.891841,-0.891493,-0.891146,-0.890798,-0.890449,-0.890099,-0.889750,-0.889399,-0.889048,-0.888697,-0.888345,-0.887993,-0.887640,-0.887286,-0.886932,-0.886578,-0.886223,-0.885867,-0.885511,-0.885154,-0.884797,-0.884439,-0.884081,-0.883723,-0.883363,-0.883004,-0.882643,-0.882283,-0.881921,
-0.881559,-0.881197,-0.880834,-0.880471,-0.880107,-0.879743,-0.879378,-0.879012,-0.878646,-0.878280,-0.877913,-0.877545,-0.877177,-0.876809,-0.876440,-0.876070,-0.875700,-0.875329,-0.874958,-0.874587,-0.874215,-0.873842,-0.873469,-0.873095,-0.872721,-0.872346,-0.871971,-0.871595,-0.871219,-0.870842,-0.870465,-0.870087,
-0.869709,-0.869330,-0.868951,-0.868571,-0.868190,-0.867809,-0.867428,-0.867046,-0.866664,-0.866281,-0.865898,-0.865514,-0.865129,-0.864744,-0.864359,-0.863973,-0.863586,-0.863199,-0.862812,-0.862424,-0.862035,-0.861646,-0.861257,-0.860867,-0.860476,-0.860085,-0.859694,-0.859302,-0.858909,-0.858516,-0.858123,-0.857729,
-0.857334,-0.856939,-0.856543,-0.856147,-0.855751,-0.855354,-0.854956,-0.854558,-0.854159,-0.853760,-0.853361,-0.852961,-0.852560,-0.852159,-0.851757,-0.851355,-0.850953,-0.850549,-0.850146,-0.849742,-0.849337,-0.848932,-0.848526,-0.848120,-0.847714,-0.847307,-0.846899,-0.846491,-0.846082,-0.845673,-0.845264,-0.844854,
-0.844443,-0.844032,-0.843620,-0.843208,-0.842796,-0.842383,-0.841969,-0.841555,-0.841140,-0.840725,-0.840310,-0.839894,-0.839477,-0.839060,-0.838643,-0.838225,-0.837806,-0.837387,-0.836968,-0.836548,-0.836127,-0.835706,-0.835285,-0.834863,-0.834440,-0.834018,-0.833594,-0.833170,-0.832746,-0.832321,-0.831895,-0.831470,
-0.831043,-0.830616,-0.830189,-0.829761,-0.829333,-0.828904,-0.828475,-0.828045,-0.827615,-0.827184,-0.826753,-0.826321,-0.825889,-0.825456,-0.825023,-0.824589,-0.824155,-0.823721,-0.823285,-0.822850,-0.822414,-0.821977,-0.821540,-0.821103,-0.820664,-0.820226,-0.819787,-0.819348,-0.818908,-0.818467,-0.818026,-0.817585,
-0.817143,-0.816701,-0.816258,-0.815814,-0.815371,-0.814926,-0.814482,-0.814036,-0.813591,-0.813144,-0.812698,-0.812251,-0.811803,-0.811355,-0.810906,-0.810457,-0.810008,-0.809558,-0.809107,-0.808656,-0.808205,-0.807753,-0.807300,-0.806848,-0.806394,-0.805940,-0.805486,-0.805031,-0.804576,-0.804120,-0.803664,-0.803208,
-0.802750,-0.802293,-0.801835,-0.801376,-0.800917,-0.800458,-0.799998,-0.799537,-0.799076,-0.798615,-0.798153,-0.797691,-0.797228,-0.796765,-0.796301,-0.795837,-0.795372,-0.794907,-0.794442,-0.793975,-0.793509,-0.793042,-0.792575,-0.792107,-0.791638,-0.791169,-0.790700,-0.790230,-0.789760,-0.789289,-0.788818,-0.788346,
-0.787874,-0.787402,-0.786929,-0.786455,-0.785981,-0.785507,-0.785032,-0.784557,-0.784081,-0.783605,-0.783128,-0.782651,-0.782173,-0.781695,-0.781216,-0.780737,-0.780258,-0.779778,-0.779297,-0.778817,-0.778335,-0.777853,-0.777371,-0.776888,-0.776405,-0.775922,-0.775438,-0.774953,-0.774468,-0.773983,-0.773497,-0.773010,
-0.772524,-0.772036,-0.771549,-0.771061,-0.770572,-0.770083,-0.769593,-0.769103,-0.768613,-0.768122,-0.767631,-0.767139,-0.766647,-0.766154,-0.765661,-0.765167,-0.764673,-0.764179,-0.763684,-0.763188,-0.762693,-0.762196,-0.761700,-0.761202,-0.760705,-0.760207,-0.759708,-0.759209,-0.758710,-0.758210,-0.757710,-0.757209,
-0.756708,-0.756206,-0.755704,-0.755201,-0.754698,-0.754195,-0.753691,-0.753187,-0.752682,-0.752177,-0.751671,-0.751165,-0.750659,-0.750152,-0.749644,-0.749136,-0.748628,-0.748119,-0.747610,-0.747101,-0.746591,-0.746080,-0.745569,-0.745058,-0.744546,-0.744034,-0.743521,-0.743008,-0.742494,-0.741980,-0.741466,-0.740951,
-0.740436,-0.739920,-0.739404,-0.738887,-0.738370,-0.737853,-0.737335,-0.736817,-0.736298,-0.735779,-0.735259,-0.734739,-0.734218,-0.733697,-0.733176,-0.732654,-0.732132,-0.731609,-0.731086,-0.730563,-0.730039,-0.729514,-0.728990,-0.728464,-0.727939,-0.727413,-0.726886,-0.726359,-0.725832,-0.725304,-0.724776,-0.724247,
-0.723718,-0.723188,-0.722659,-0.722128,-0.721597,-0.721066,-0.720535,-0.720003,-0.719470,-0.718937,-0.718404,-0.717870,-0.717336,-0.716801,-0.716266,-0.715731,-0.715195,-0.714659,-0.714122,-0.713585,-0.713047,-0.712509,-0.711971,-0.711432,-0.710893,-0.710353,-0.709813,-0.709273,-0.708732,-0.708191,-0.707649,-0.707107,
-0.706564,-0.706021,-0.705478,-0.704934,-0.704390,-0.703845,-0.703300,-0.702755,-0.702209,-0.701663,-0.701116,-0.700569,-0.700021,-0.699473,-0.698925,-0.698376,-0.697827,-0.697278,-0.696728,-0.696177,-0.695626,-0.695075,-0.694523,-0.693971,-0.693419,-0.692866,-0.692313,-0.691759,-0.691205,-0.690651,-0.690096,-0.689541,
-0.688985,-0.688429,-0.687872,-0.687315,-0.686758,-0.686200,-0.685642,-0.685084,-0.684525,-0.683965,-0.683406,-0.682846,-0.682285,-0.681724,-0.681163,-0.680601,-0.680039,-0.679476,-0.678913,-0.678350,-0.677786,-0.677222,-0.676658,-0.676093,-0.675527,-0.674962,-0.674396,-0.673829,-0.673262,-0.672695,-0.672127,-0.671559,
-0.670990,-0.670422,-0.669852,-0.669283,-0.668713,-0.668142,-0.667571,-0.667000,-0.666428,-0.665856,-0.665284,-0.664711,-0.664138,-0.663564,-0.662990,-0.662416,-0.661841,-0.661266,-0.660690,-0.660114,-0.659538,-0.658961,-0.658384,-0.657807,-0.657229,-0.656651,-0.656072,-0.655493,-0.654913,-0.654334,-0.653753,-0.653173,
-0.652592,-0.652011,-0.651429,-0.650847,-0.650264,-0.649681,-0.649098,-0.648514,-0.647930,-0.647346,-0.646761,-0.646176,-0.645590,-0.645005,-0.644418,-0.643832,-0.643244,-0.642657,-0.642069,-0.641481,-0.640892,-0.640303,-0.639714,-0.639124,-0.638534,-0.637944,-0.637353,-0.636762,-0.636170,-0.635578,-0.634986,-0.634393,
-0.633800,-0.633207,-0.632613,-0.632019,-0.631424,-0.630829,-0.630234,-0.629638,-0.629042,-0.628446,-0.627849,-0.627252,-0.626654,-0.626056,-0.625458,-0.624859,-0.624260,-0.623661,-0.623061,-0.622461,-0.621861,-0.621260,-0.620659,-0.620057,-0.619455,-0.618853,-0.618250,-0.617647,-0.617044,-0.616440,-0.615836,-0.615232,
-0.614627,-0.614022,-0.613416,-0.612810,-0.612204,-0.611597,-0.610990,-0.610383,-0.609775,-0.609167,-0.608559,-0.607950,-0.607341,-0.606731,-0.606121,-0.605511,-0.604900,-0.604290,-0.603678,-0.603067,-0.602455,-0.601842,-0.601230,-0.600616,-0.600003,-0.599389,-0.598775,-0.598161,-0.597546,-0.596931,-0.596315,-0.595699,
-0.595083,-0.594467,-0.593850,-0.593232,-0.592615,-0.591997,-0.591378,-0.590760,-0.590141,-0.589521,-0.588902,-0.588282,-0.587661,-0.587040,-0.586419,-0.585798,-0.585176,-0.584554,-0.583931,-0.583309,-0.582685,-0.582062,-0.581438,-0.580814,-0.580189,-0.579565,-0.578939,-0.578314,-0.577688,-0.577062,-0.576435,-0.575808,
-0.575181,-0.574553,-0.573925,-0.573297,-0.572669,-0.572040,-0.571410,-0.570781,-0.570151,-0.569521,-0.568890,-0.568259,-0.567628,-0.566996,-0.566364,-0.565732,-0.565099,-0.564466,-0.563833,-0.563199,-0.562565,-0.561931,-0.561297,-0.560662,-0.560026,-0.559391,-0.558755,-0.558119,-0.557482,-0.556845,-0.556208,-0.555570,
-0.554932,-0.554294,-0.553656,-0.553017,-0.552378,-0.551738,-0.551098,-0.550458,-0.549817,-0.549177,-0.548536,-0.547894,-0.547252,-0.546610,-0.545968,-0.545325,-0.544682,-0.544039,-0.543395,-0.542751,-0.542106,-0.541462,-0.540817,-0.540171,-0.539526,-0.538880,-0.538234,-0.537587,-0.536940,-0.536293,-0.535645,-0.534998,
-0.534349,-0.533701,-0.533052,-0.532403,-0.531754,-0.531104,-0.530454,-0.529804,-0.529153,-0.528502,-0.527851,-0.527199,-0.526547,-0.525895,-0.525243,-0.524590,-0.523937,-0.523283,-0.522629,-0.521975,-0.521321,-0.520666,-0.520011,-0.519356,-0.518700,-0.518045,-0.517388,-0.516732,-0.516075,-0.515418,-0.514760,-0.514103,
-0.513445,-0.512786,-0.512128,-0.511469,-0.510810,-0.510150,-0.509490,-0.508830,-0.508170,-0.507509,-0.506848,-0.506187,-0.505525,-0.504863,-0.504201,-0.503538,-0.502876,-0.502212,-0.501549,-0.500885,-0.500221,-0.499557,-0.498893,-0.498228,-0.497563,-0.496897,-0.496231,-0.495565,-0.494899,-0.494232,-0.493565,-0.492898,
-0.492231,-0.491563,-0.490895,-0.490226,-0.489558,-0.488889,-0.488220,-0.487550,-0.486880,-0.486210,-0.485540,-0.484869,-0.484198,-0.483527,-0.482856,-0.482184,-0.481512,-0.480839,-0.480167,-0.479494,-0.478821,-0.478147,-0.477473,-0.476799,-0.476125,-0.475450,-0.474775,-0.474100,-0.473425,-0.472749,-0.472073,-0.471397,
-0.470720,-0.470043,-0.469366,-0.468689,-0.468011,-0.467333,-0.466655,-0.465976,-0.465298,-0.464619,-0.463939,-0.463260,-0.462580,-0.461900,-0.461219,-0.460539,-0.459858,-0.459177,-0.458495,-0.457813,-0.457131,-0.456449,-0.455766,-0.455084,-0.454400,-0.453717,-0.453033,-0.452350,-0.451665,-0.450981,-0.450296,-0.449611,
-0.448926,-0.448241,-0.447555,-0.446869,-0.446183,-0.445496,-0.444809,-0.444122,-0.443435,-0.442747,-0.442059,-0.441371,-0.440683,-0.439994,-0.439305,-0.438616,-0.437927,-0.437237,-0.436547,-0.435857,-0.435167,-0.434476,-0.433785,-0.433094,-0.432402,-0.431711,-0.431019,-0.430326,-0.429634,-0.428941,-0.428248,-0.427555,
-0.426862,-0.426168,-0.425474,-0.424780,-0.424085,-0.423390,-0.422695,-0.422000,-0.421305,-0.420609,-0.419913,-0.419217,-0.418520,-0.417824,-0.417127,-0.416430,-0.415732,-0.415034,-0.414336,-0.413638,-0.412940,-0.412241,-0.411542,-0.410843,-0.410144,-0.409444,-0.408744,-0.408044,-0.407344,-0.406643,-0.405942,-0.405241,
-0.404540,-0.403838,-0.403137,-0.402435,-0.401732,-0.401030,-0.400327,-0.399624,-0.398921,-0.398218,-0.397514,-0.396810,-0.396106,-0.395401,-0.394697,-0.393992,-0.393287,-0.392582,-0.391876,-0.391170,-0.390464,-0.389758,-0.389052,-0.388345,-0.387638,-0.386931,-0.386224,-0.385516,-0.384808,-0.384100,-0.383392,-0.382683,
-0.381975,-0.381266,-0.380557,-0.379847,-0.379138,-0.378428,-0.377718,-0.377007,-0.376297,-0.375586,-0.374875,-0.374164,-0.373453,-0.372741,-0.372029,-0.371317,-0.370605,-0.369892,-0.369180,-0.368467,-0.367754,-0.367040,-0.366327,-0.365613,-0.364899,-0.364185,-0.363470,-0.362756,-0.362041,-0.361326,-0.360611,-0.359895,
-0.359179,-0.358463,-0.357747,-0.357031,-0.356314,-0.355598,-0.354881,-0.354164,-0.353446,-0.352729,-0.352011,-0.351293,-0.350575,-0.349856,-0.349138,-0.348419,-0.347700,-0.346980,-0.346261,-0.345541,-0.344821,-0.344101,-0.343381,-0.342661,-0.341940,-0.341219,-0.340498,-0.339777,-0.339055,-0.338334,-0.337612,-0.336890,
-0.336168,-0.335445,-0.334722,-0.334000,-0.333277,-0.332553,-0.331830,-0.331106,-0.330382,-0.329658,-0.328934,-0.328210,-0.327485,-0.326760,-0.326035,-0.325310,-0.324585,-0.323859,-0.323134,-0.322408,-0.321682,-0.320955,-0.320229,-0.319502,-0.318775,-0.318048,-0.317321,-0.316593,-0.315866,-0.315138,-0.314410,-0.313682,
-0.312953,-0.312225,-0.311496,-0.310767,-0.310038,-0.309309,-0.308579,-0.307850,-0.307120,-0.306390,-0.305660,-0.304929,-0.304199,-0.303468,-0.302737,-0.302006,-0.301275,-0.300543,-0.299812,-0.299080,-0.298348,-0.297616,-0.296883,-0.296151,-0.295418,-0.294685,-0.293952,-0.293219,-0.292486,-0.291752,-0.291019,-0.290285,
-0.289551,-0.288816,-0.288082,-0.287347,-0.286613,-0.285878,-0.285143,-0.284408,-0.283672,-0.282937,-0.282201,-0.281465,-0.280729,-0.279993,-0.279256,-0.278520,-0.277783,-0.277046,-0.276309,-0.275572,-0.274834,-0.274097,-0.273359,-0.272621,-0.271883,-0.271145,-0.270407,-0.269668,-0.268930,-0.268191,-0.267452,-0.266713,
-0.265973,-0.265234,-0.264494,-0.263755,-0.263015,-0.262275,-0.261534,-0.260794,-0.260054,-0.259313,-0.258572,-0.257831,-0.257090,-0.256349,-0.255607,-0.254866,-0.254124,-0.253382,-0.252640,-0.251898,-0.251155,-0.250413,-0.249670,-0.248928,-0.248185,-0.247442,-0.246698,-0.245955,-0.245212,-0.244468,-0.243724,-0.242980,
-0.242236,-0.241492,-0.240748,-0.240003,-0.239258,-0.238514,-0.237769,-0.237024,-0.236278,-0.235533,-0.234788,-0.234042,-0.233296,-0.232550,-0.231804,-0.231058,-0.230312,-0.229565,-0.228819,-0.228072,-0.227325,-0.226578,-0.225831,-0.225084,-0.224337,-0.223589,-0.222841,-0.222094,-0.221346,-0.220598,-0.219850,-0.219101,
-0.218353,-0.217604,-0.216856,-0.216107,-0.215358,-0.214609,-0.213860,-0.213110,-0.212361,-0.211611,-0.210862,-0.210112,-0.209362,-0.208612,-0.207862,-0.207111,-0.206361,-0.205610,-0.204860,-0.204109,-0.203358,-0.202607,-0.201856,-0.201105,-0.200353,-0.199602,-0.198850,-0.198098,-0.197347,-0.196595,-0.195843,-0.195090,
-0.194338,-0.193586,-0.192833,-0.192080,-0.191328,-0.190575,-0.189822,-0.189069,-0.188315,-0.187562,-0.186809,-0.186055,-0.185301,-0.184548,-0.183794,-0.183040,-0.182286,-0.181532,-0.180777,-0.180023,-0.179268,-0.178514,-0.177759,-0.177004,-0.176249,-0.175494,-0.174739,-0.173984,-0.173229,-0.172473,-0.171718,-0.170962,
-0.170206,-0.169450,-0.168694,-0.167938,-0.167182,-0.166426,-0.165670,-0.164913,-0.164157,-0.163400,-0.162643,-0.161886,-0.161129,-0.160372,-0.159615,-0.158858,-0.158101,-0.157343,-0.156586,-0.155828,-0.155071,-0.154313,-0.153555,-0.152797,-0.152039,-0.151281,-0.150523,-0.149765,-0.149006,-0.148248,-0.147489,-0.146730,
-0.145972,-0.145213,-0.144454,-0.143695,-0.142936,-0.142177,-0.141418,-0.140658,-0.139899,-0.139139,-0.138380,-0.137620,-0.136860,-0.136101,-0.135341,-0.134581,-0.133821,-0.133061,-0.132300,-0.131540,-0.130780,-0.130019,-0.129259,-0.128498,-0.127737,-0.126977,-0.126216,-0.125455,-0.124694,-0.123933,-0.123172,-0.122411,
-0.121649,-0.120888,-0.120127,-0.119365,-0.118604,-0.117842,-0.117080,-0.116319,-0.115557,-0.114795,-0.114033,-0.113271,-0.112509,-0.111747,-0.110984,-0.110222,-0.109460,-0.108697,-0.107935,-0.107172,-0.106410,-0.105647,-0.104884,-0.104122,-0.103359,-0.102596,-0.101833,-0.101070,-0.100307,-0.099544,-0.098780,-0.098017,
-0.097254,-0.096490,-0.095727,-0.094963,-0.094200,-0.093436,-0.092673,-0.091909,-0.091145,-0.090381,-0.089617,-0.088854,-0.088090,-0.087326,-0.086561,-0.085797,-0.085033,-0.084269,-0.083505,-0.082740,-0.081976,-0.081211,-0.080447,-0.079682,-0.078918,-0.078153,-0.077389,-0.076624,-0.075859,-0.075094,-0.074329,-0.073565,
-0.072800,-0.072035,-0.071270,-0.070505,-0.069739,-0.068974,-0.068209,-0.067444,-0.066679,-0.065913,-0.065148,-0.064383,-0.063617,-0.062852,-0.062086,-0.061321,-0.060555,-0.059790,-0.059024,-0.058258,-0.057493,-0.056727,-0.055961,-0.055195,-0.054429,-0.053664,-0.052898,-0.052132,-0.051366,-0.050600,-0.049834,-0.049068,
-0.048302,-0.047535,-0.046769,-0.046003,-0.045237,-0.044471,-0.043705,-0.042938,-0.042172,-0.041406,-0.040639,-0.039873,-0.039107,-0.038340,-0.037574,-0.036807,-0.036041,-0.035274,-0.034508,-0.033741,-0.032975,-0.032208,-0.031441,-0.030675,-0.029908,-0.029142,-0.028375,-0.027608,-0.026841,-0.026075,-0.025308,-0.024541,
-0.023774,-0.023008,-0.022241,-0.021474,-0.020707,-0.019940,-0.019174,-0.018407,-0.017640,-0.016873,-0.016106,-0.015339,-0.014572,-0.013805,-0.013038,-0.012272,-0.011505,-0.010738,-0.009971,-0.009204,-0.008437,-0.007670,-0.006903,-0.006136,-0.005369,-0.004602,-0.003835,-0.003068,-0.002301,-0.001534,-0.000767,-0.000000
};
int abs(int f)
{if (f >= 0){return f;}return -f;
}int main (void)
{   inverseKinematics(0,18,0);} 
//先定义一个阶乘函数
float fac(float n){float f=0;if(n == 1 || n==0)f =1;elsef = fac(n-1)*n;return f;
}
//一个指数函数(次方)
float kvat(float n,float ci){float chengf=1;int i;for (i=1; i<=ci; i++) {chengf = chengf*n;}return chengf;
}
float sinus(float x)
{int z =-1;int j =1;float sin= x;for (j =3;fabs( kvat(x,j)/fac(j) )>0.00001 ; j+=2) {
//        printf("%lf\n",kvat(x, j));sin =sin + z*(kvat(x,j)/fac(j));z = -z;}return sin;
}float fcos(float x)
{float temp=0.0,t=5;int i=0;while(x>=2*PI) x=x-2*PI;       //最多只有2π个弧度while(t>=0.00001){t=(kvat(x,2*i))/fac(2*i);temp+=kvat(-1,i)*t;i++;//printf("%.5lf\n",temp);}return temp;
}float my_acos(float x)
{unsigned char i;float ans = x,t1 = 1,t2 = x;x *= x;for(i = 3;i < 51;i += 2){t1 *= (float)(i - 2) / (float)(i - 1);t2 *= x;ans += (t1 * t2 / (float)i);}return ans = 1.5708 - ans;
}
float my_asin(float in)
{float a = PI/2 - my_acos(in);return a; 
}
float my_abs(float f)
{if (f >= 0.0f){return f;}return -f;
}
float fast_atan2(float y, float x)
{float x_abs, y_abs, z;float alpha, angle, base_angle;int index;/* don't divide by zero! */if ((y == 0.0f) || (x == 0.0f))//if ((y == 0.0f) && (x == 0.0f))angle = 1.5707963705;else{/* normalize to +/- 45 degree range */y_abs = my_abs(y);x_abs = my_abs(x);//z = (y_abs < x_abs ? y_abs / x_abs : x_abs / y_abs);if (y_abs < x_abs)z = y_abs / x_abs;elsez = x_abs / y_abs;/* when ratio approaches the table resolution, the angle is *//*      best approximated with the argument itself...       */if (z < TAN_MAP_RES)base_angle = z;else{/* find index and interpolation value */alpha = z * (float) TAN_MAP_SIZE - .5f;index = (int) alpha;alpha -= (float) index;/* determine base angle based on quadrant and *//* add or subtract table value from base angle based on quadrant */base_angle = fast_atan_table[index];base_angle += (fast_atan_table[index + 1] - fast_atan_table[index]) * alpha;}if (x_abs > y_abs){        /* -45 -> 45 or 135 -> 225 */if (x >= 0.0f){           /* -45 -> 45 */if (y >= 0.0f)angle = base_angle;   /* 0 -> 45, angle OK */elseangle = -base_angle;  /* -45 -> 0, angle = -angle */}else{                  /* 135 -> 180 or 180 -> -135 */angle = 3.14159265358979323846;if (y >= 0.0f)angle -= base_angle;  /* 135 -> 180, angle = 180 - angle */elseangle = base_angle - angle;   /* 180 -> -135, angle = angle - 180 */}}else{                    /* 45 -> 135 or -135 -> -45 */if (y >= 0.0f){           /* 45 -> 135 */angle = 1.57079632679489661923;if (x >= 0.0f)angle -= base_angle;  /* 45 -> 90, angle = 90 - angle */elseangle += base_angle;  /* 90 -> 135, angle = 90 + angle */}else{                  /* -135 -> -45 */angle = -1.57079632679489661923;if (x >= 0.0f)angle += base_angle;  /* -90 -> -45, angle = -90 + angle */elseangle -= base_angle;  /* -135 -> -90, angle = -90 - angle */}}}
#ifdef ZERO_TO_TWOPIif (angle < 0)return (angle + TWOPI);elsereturn (angle);
#elsereturn (angle);
#endif
}
double fsqrt(int n)
{double i=0,j=0;while(i*i<n){i++;//1 2 3}double left=i-1,right=i,mid;if(right*right==n){return right;}while(right-left>eps){mid=(left+right)/2;if(mid*mid>n){right=mid;}else{left=mid;}}return mid;
}void inverseKinematics(float x, float y, float z)
{   //printf("%f %f %f",x,y,z);float a, b, c; //临时变量float L1 = 10.5, L2 = 10, L3 = 12;//3节手臂的长度float m, n, t, q, p;//临时变量float j1, j2, j3, j0;//4个舵机的旋转角度float x1, y1, z1;//逆解后正解算出来的值,看是否与逆解值相等char i = 0;float m1,m2,m3,m4,m5,m6;float n1,n2;j0 = fast_atan2(y,x);n1 = sinus(j0);n2 = fcos(j0);a = x / n2;if (x == 0) a = y; //如果x为0,需要交换x,yb = z;for (j1 = 90; j1 > -90; j1--)//for(j1 = -90;j1 <90;j1++){j1 *= RAD2ANG;m1 = sinus(j1);m2 = fcos(j1);j3 = my_acos((kvat(a, 2) + kvat(b, 2) + kvat(L1, 2) - kvat(L2, 2) - kvat(L3, 2) - 2 * a*L1*m1 - 2 * b*L1*m2) / (2 * L2*L3));//j3 = my_acos((kvat(a, 2) + kvat(b, 2) + kvat(L1, 2) - kvat(L2, 2) - kvat(L3, 2) - 2 * a*L1*sinus(j1) - 2 * b*L1*fcos(j1)) / (2 * L2*L3));m3 = fcos(j3);m4 = sinus(j3);m = L2 * m1 + L3 * m1*m3 + L3 * m2*m4;n = L2 * m2 + L3 * m2*m3 - L3 * m1*m4;//m = L2 * sinus(j1) + L3 * sinus(j1)*fcos(j3) + L3 * fcos(j1)*sinus(j3);//	n = L2 * fcos(j1) + L3 * fcos(j1)*fcos(j3) - L3 * sinus(j1)*sinus(j3);//	t = a - L1 * sinus(j1);t = a - L1 * m1;//	p = fsqrt(n*n + m*m);p = fsqrt(kvat(n, 2) + kvat(m, 2));q = my_asin(m / p);j2 = -(my_asin(t / p) - q);//if (abs(ANG2RAD(j2)) >= 135) { j1 = ANG2RAD(j1); continue; }//***************计算正解然后与目标解对比,看解是否正确**************//x1 = (L1 * sinus(j1) + L2 * sinus(j1 + j2) + L3 * sinus(j1 + j2 + j3))*fcos(j0);//y1 = (L1 * sinus(j1) + L2 * sinus(j1 + j2) + L3 * sinus(j1 + j2 + j3))*sinus(j0);//z1 = L1 * fcos(j1) + L2 * fcos(j1 + j2) + L3 * fcos(j1 + j2 + j3);m5 = sinus(j1 + j2);m6 = sinus(j1 + j2 + j3);x1 = (L1 * m1 + L2 * m5 + L3 * m6)*n2;y1 = (L1 * m1 + L2 * m5 + L3 * m6)*n1;z1 = L1 * m2 + L2 * fcos(j1 + j2) + L3 * fcos(j1 + j2 + j3);j1 = ANG2RAD(j1);j2 = ANG2RAD(j2);j3 = ANG2RAD(j3);//	printf("%f\n",j3);if (x1<(x + 1) && x1 >(x - 1) && y1<(y + 1) && y1 >(y - 1) && z1<(z + 1) && z1 >(z - 1)){if(j3 <135){printf("j0:%f,j1:%f,j2:%f,j3:%f,x:%f,y:%f,z:%f\r\n", ANG2RAD(j0), j1, j2, j3, x1, y1, z1);break;}}}
}/*
void inverseKinematics(float x, float y, float z)
{float a, b, c; //临时变量float L1 = 10, L2 = 11, L3 = 14;//3节手臂的长度float m, n, t, q, p;//临时变量float j1, j2, j3, j0;//4个舵机的旋转角度float x1, y1, z1;//逆解后正解算出来的值,看是否与逆解值相等j0 = atan2(y, x);a = x / cos(j0);if (x == 0) a = y; //如果x为0,需要交换x,yb = z;for (j1 = -90; j1 < 90; j1++){j1 *= RAD2ANG;j3 = acos((pow(a, 2) + pow(b, 2) + pow(L1, 2) - pow(L2, 2) - pow(L3, 2) - 2 * a*L1*sin(j1) - 2 * b*L1*cos(j1)) / (2 * L2*L3));//if (abs(ANG2RAD(j3)) >= 135) { j1 = ANG2RAD(j1); continue; }m = L2 * sin(j1) + L3 * sin(j1)*cos(j3) + L3 * cos(j1)*sin(j3);n = L2 * cos(j1) + L3 * cos(j1)*cos(j3) - L3 * sin(j1)*sin(j3);t = a - L1 * sin(j1);p = pow(pow(n, 2) + pow(m, 2), 0.5);q = asin(m / p);j2 = asin(t / p) - q;//if (abs(ANG2RAD(j2)) >= 135) { j1 = ANG2RAD(j1); continue; }//***************计算正解然后与目标解对比,看解是否正确**************x1 = (L1 * sin(j1) + L2 * sin(j1 + j2) + L3 * sin(j1 + j2 + j3))*cos(j0);y1 = (L1 * sin(j1) + L2 * sin(j1 + j2) + L3 * sin(j1 + j2 + j3))*sin(j0);z1 = L1 * cos(j1) + L2 * cos(j1 + j2) + L3 * cos(j1 + j2 + j3);j1 = ANG2RAD(j1);j2 = ANG2RAD(j2);j3 = ANG2RAD(j3);if (x1<(x + 1) && x1 >(x - 1) && y1<(y + 1) && y1 >(y - 1) && z1<(z + 1) && z1 >(z - 1)){printf("j0:%f,j1:%f,j2:%f,j3:%f,x:%f,y:%f,z:%f\r\n", ANG2RAD(j0), j1, j2, j3, x1, y1, z1);}}for (j1 = -90; j1 < 90; j1++)//这个循环是为了求解另一组解,j2 = asin(t / p) - q;j2 = -(asin(t / p) - q);多了个负号{j1 *= RAD2ANG;j3 = acos((pow(a, 2) + pow(b, 2) + pow(L1, 2) - pow(L2, 2) - pow(L3, 2) - 2 * a*L1*sin(j1) - 2 * b*L1*cos(j1)) / (2 * L2*L3));//if (abs(ANG2RAD(j3)) >= 135) { j1 = ANG2RAD(j1); continue; }m = L2 * sin(j1) + L3 * sin(j1)*cos(j3) + L3 * cos(j1)*sin(j3);n = L2 * cos(j1) + L3 * cos(j1)*cos(j3) - L3 * sin(j1)*sin(j3);t = a - L1 * sin(j1);p = pow(pow(n, 2) + pow(m, 2), 0.5);q = asin(m / p);j2 = -(asin(t / p) - q);//if (abs(ANG2RAD(j2)) >= 135) { j1 = ANG2RAD(j1); continue; }x1 = (L1 * sin(j1) + L2 * sin(j1 + j2) + L3 * sin(j1 + j2 + j3))*cos(j0);y1 = (L1 * sin(j1) + L2 * sin(j1 + j2) + L3 * sin(j1 + j2 + j3))*sin(j0);z1 = L1 * cos(j1) + L2 * cos(j1 + j2) + L3 * cos(j1 + j2 + j3);j1 = ANG2RAD(j1);j2 = ANG2RAD(j2);j3 = ANG2RAD(j3);if (x1<(x + 1) && x1 >(x - 1) && y1<(y + 1) && y1 >(y - 1) && z1<(z + 1) && z1 >(z - 1)){printf("j0:%f,j1:%f,j2:%f,j3:%f,x:%f,y:%f,z:%f\r\n", ANG2RAD(j0), j1, j2, j3, x1, y1, z1);}}}
*/

可以观看,不可抄袭,如果比赛冲突,我们要追究责任!!!

更多推荐

为春雨哥开源六自由度机械臂逆解算法

本文发布于:2024-02-25 07:46:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1698267.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:春雨   自由度   开源   算法   机械

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!