00001
00002
00003
00004
00005 #include <math.h>
00006 void calcImgProj(double a[5],double qr0[4],double v[3],double t[3],double M[3],
00007 double n[2])
00008 {
00009 double t1;
00010 double t10;
00011 double t12;
00012 double t14;
00013 double t16;
00014 double t18;
00015 double t19;
00016 double t2;
00017 double t25;
00018 double t26;
00019 double t3;
00020 double t32;
00021 double t33;
00022 double t35;
00023 double t36;
00024 double t4;
00025 double t42;
00026 double t46;
00027 double t5;
00028 double t51;
00029 double t52;
00030 double t57;
00031 double t58;
00032 double t6;
00033 double t69;
00034 double t7;
00035 double t77;
00036 double t80;
00037 double t9;
00038 {
00039 t1 = a[0];
00040 t2 = v[0];
00041 t3 = t2*t2;
00042 t4 = v[1];
00043 t5 = t4*t4;
00044 t6 = v[2];
00045 t7 = t6*t6;
00046 t9 = sqrt(1.0-t3-t5-t7);
00047 t10 = qr0[1];
00048 t12 = qr0[0];
00049 t14 = qr0[3];
00050 t16 = qr0[2];
00051 t18 = t9*t10+t12*t2+t4*t14-t6*t16;
00052 t19 = M[0];
00053 t25 = t9*t16+t12*t4+t6*t10-t2*t14;
00054 t26 = M[1];
00055 t32 = t9*t14+t12*t6+t2*t16-t4*t10;
00056 t33 = M[2];
00057 t35 = -t18*t19-t25*t26-t32*t33;
00058 t36 = -t18;
00059 t42 = t9*t12-t2*t10-t4*t16-t6*t14;
00060 t46 = t42*t19+t25*t33-t32*t26;
00061 t51 = t42*t26+t32*t19-t18*t33;
00062 t52 = -t32;
00063 t57 = t42*t33+t18*t26-t25*t19;
00064 t58 = -t25;
00065 t69 = t35*t58+t42*t51+t57*t36-t46*t52+t[1];
00066 t77 = t35*t52+t42*t57+t46*t58-t51*t36+t[2];
00067 t80 = 1/t77;
00068 n[0] = (t1*(t35*t36+t42*t46+t51*t52-t57*t58+t[0])+a[4]*t69+a[1]*t77)*t80;
00069 n[1] = (t1*a[3]*t69+a[2]*t77)*t80;
00070 return;
00071 }
00072 }
00073
00074 void calcImgProjFullR(double a[5],double qr0[4],double t[3],double M[3],
00075 double n[2])
00076 {
00077 double t1;
00078 double t11;
00079 double t13;
00080 double t17;
00081 double t2;
00082 double t22;
00083 double t27;
00084 double t3;
00085 double t38;
00086 double t46;
00087 double t49;
00088 double t5;
00089 double t6;
00090 double t8;
00091 double t9;
00092 {
00093 t1 = a[0];
00094 t2 = qr0[1];
00095 t3 = M[0];
00096 t5 = qr0[2];
00097 t6 = M[1];
00098 t8 = qr0[3];
00099 t9 = M[2];
00100 t11 = -t3*t2-t5*t6-t8*t9;
00101 t13 = qr0[0];
00102 t17 = t13*t3+t5*t9-t8*t6;
00103 t22 = t6*t13+t8*t3-t9*t2;
00104 t27 = t13*t9+t6*t2-t5*t3;
00105 t38 = -t5*t11+t13*t22-t27*t2+t8*t17+t[1];
00106 t46 = -t11*t8+t13*t27-t5*t17+t2*t22+t[2];
00107 t49 = 1/t46;
00108 n[0] = (t1*(-t2*t11+t13*t17-t22*t8+t5*t27+t[0])+a[4]*t38+a[1]*t46)*t49;
00109 n[1] = (t1*a[3]*t38+a[2]*t46)*t49;
00110 return;
00111 }
00112 }
00113
00114 #include <math.h>
00115 void calcImgProjJacKRTS(double a[5],double qr0[4],double v[3],double t[3],
00116 double M[3],double jacmKRT[2][11],double jacmS[2][3])
00117 {
00118 double t1;
00119 double t102;
00120 double t107;
00121 double t109;
00122 double t11;
00123 double t114;
00124 double t116;
00125 double t120;
00126 double t129;
00127 double t13;
00128 double t131;
00129 double t140;
00130 double t148;
00131 double t149;
00132 double t15;
00133 double t150;
00134 double t152;
00135 double t154;
00136 double t161;
00137 double t164;
00138 double t167;
00139 double t17;
00140 double t170;
00141 double t172;
00142 double t174;
00143 double t177;
00144 double t18;
00145 double t182;
00146 double t187;
00147 double t189;
00148 double t194;
00149 double t196;
00150 double t2;
00151 double t208;
00152 double t218;
00153 double t229;
00154 double t232;
00155 double t235;
00156 double t237;
00157 double t239;
00158 double t24;
00159 double t242;
00160 double t247;
00161 double t25;
00162 double t252;
00163 double t254;
00164 double t259;
00165 double t261;
00166 double t273;
00167 double t283;
00168 double t295;
00169 double t296;
00170 double t298;
00171 double t3;
00172 double t301;
00173 double t304;
00174 double t305;
00175 double t307;
00176 double t308;
00177 double t31;
00178 double t311;
00179 double t32;
00180 double t326;
00181 double t327;
00182 double t329;
00183 double t332;
00184 double t333;
00185 double t34;
00186 double t349;
00187 double t35;
00188 double t352;
00189 double t4;
00190 double t41;
00191 double t45;
00192 double t5;
00193 double t50;
00194 double t51;
00195 double t56;
00196 double t57;
00197 double t6;
00198 double t60;
00199 double t66;
00200 double t67;
00201 double t68;
00202 double t74;
00203 double t76;
00204 double t78;
00205 double t79;
00206 double t8;
00207 double t81;
00208 double t83;
00209 double t85;
00210 double t87;
00211 double t89;
00212 double t9;
00213 double t91;
00214 double t93;
00215 double t95;
00216 double t97;
00217 {
00218 t1 = v[0];
00219 t2 = t1*t1;
00220 t3 = v[1];
00221 t4 = t3*t3;
00222 t5 = v[2];
00223 t6 = t5*t5;
00224 t8 = sqrt(1.0-t2-t4-t6);
00225 t9 = qr0[1];
00226 t11 = qr0[0];
00227 t13 = qr0[3];
00228 t15 = qr0[2];
00229 t17 = t8*t9+t11*t1+t13*t3-t5*t15;
00230 t18 = M[0];
00231 t24 = t8*t15+t3*t11+t5*t9-t13*t1;
00232 t25 = M[1];
00233 t31 = t8*t13+t5*t11+t1*t15-t3*t9;
00234 t32 = M[2];
00235 t34 = -t17*t18-t24*t25-t31*t32;
00236 t35 = -t17;
00237 t41 = t11*t8-t1*t9-t3*t15-t5*t13;
00238 t45 = t41*t18+t24*t32-t31*t25;
00239 t50 = t41*t25+t31*t18-t17*t32;
00240 t51 = -t31;
00241 t56 = t41*t32+t17*t25-t24*t18;
00242 t57 = -t24;
00243 t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
00244 t66 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
00245 t67 = 1/t66;
00246 jacmKRT[0][0] = t60*t67;
00247 t68 = a[3];
00248 t74 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
00249 jacmKRT[1][0] = t68*t74*t67;
00250 jacmKRT[0][1] = 1.0;
00251 jacmKRT[1][1] = 0.0;
00252 jacmKRT[0][2] = 0.0;
00253 jacmKRT[1][2] = 1.0;
00254 jacmKRT[0][3] = 0.0;
00255 t76 = a[0];
00256 jacmKRT[1][3] = t76*t74*t67;
00257 jacmKRT[0][4] = t74*t67;
00258 jacmKRT[1][4] = 0.0;
00259 t78 = 1/t8;
00260 t79 = t78*t9;
00261 t81 = -t79*t1+t11;
00262 t83 = t78*t15;
00263 t85 = -t83*t1-t13;
00264 t87 = t78*t13;
00265 t89 = -t87*t1+t15;
00266 t91 = -t81*t18-t85*t25-t89*t32;
00267 t93 = -t81;
00268 t95 = t78*t11;
00269 t97 = -t95*t1-t9;
00270 t102 = t97*t18+t85*t32-t89*t25;
00271 t107 = t97*t25+t89*t18-t81*t32;
00272 t109 = -t89;
00273 t114 = t97*t32+t81*t25-t85*t18;
00274 t116 = -t85;
00275 t120 = a[4];
00276 t129 = t91*t57+t34*t116+t97*t50+t41*t107+t114*t35+t56*t93-t102*t51-t45*t109
00277 ;
00278 t131 = a[1];
00279 t140 = t91*t51+t34*t109+t97*t56+t41*t114+t102*t57+t45*t116-t107*t35-t50*t93
00280 ;
00281 t148 = t66*t66;
00282 t149 = 1/t148;
00283 t150 = (t76*t60+t120*t74+t131*t66)*t149;
00284 jacmKRT[0][5] = (t76*(t91*t35+t34*t93+t97*t45+t41*t102+t107*t51+t50*t109-
00285 t114*t57-t56*t116)+t129*t120+t131*t140)*t67-t150*t140;
00286 t152 = t76*t68;
00287 t154 = a[2];
00288 t161 = (t152*t74+t154*t66)*t149;
00289 jacmKRT[1][5] = (t152*t129+t154*t140)*t67-t161*t140;
00290 t164 = -t79*t3+t13;
00291 t167 = -t83*t3+t11;
00292 t170 = -t87*t3-t9;
00293 t172 = -t164*t18-t167*t25-t170*t32;
00294 t174 = -t164;
00295 t177 = -t95*t3-t15;
00296 t182 = t177*t18+t167*t32-t170*t25;
00297 t187 = t177*t25+t170*t18-t164*t32;
00298 t189 = -t170;
00299 t194 = t177*t32+t164*t25-t167*t18;
00300 t196 = -t167;
00301 t208 = t172*t57+t34*t196+t177*t50+t41*t187+t194*t35+t56*t174-t182*t51-t45*
00302 t189;
00303 t218 = t172*t51+t34*t189+t177*t56+t41*t194+t182*t57+t45*t196-t187*t35-t50*
00304 t174;
00305 jacmKRT[0][6] = (t76*(t172*t35+t34*t174+t177*t45+t41*t182+t187*t51+t50*t189
00306 -t194*t57-t56*t196)+t120*t208+t131*t218)*t67-t150*t218;
00307 jacmKRT[1][6] = (t152*t208+t154*t218)*t67-t161*t218;
00308 t229 = -t79*t5-t15;
00309 t232 = -t83*t5+t9;
00310 t235 = -t87*t5+t11;
00311 t237 = -t229*t18-t232*t25-t235*t32;
00312 t239 = -t229;
00313 t242 = -t95*t5-t13;
00314 t247 = t242*t18+t232*t32-t235*t25;
00315 t252 = t242*t25+t235*t18-t229*t32;
00316 t254 = -t235;
00317 t259 = t242*t32+t229*t25-t232*t18;
00318 t261 = -t232;
00319 t273 = t237*t57+t261*t34+t242*t50+t41*t252+t259*t35+t56*t239-t247*t51-t45*
00320 t254;
00321 t283 = t237*t51+t34*t254+t242*t56+t41*t259+t247*t57+t45*t261-t252*t35-t50*
00322 t239;
00323 jacmKRT[0][7] = (t76*(t237*t35+t34*t239+t242*t45+t41*t247+t252*t51+t50*t254
00324 -t259*t57-t56*t261)+t120*t273+t131*t283)*t67-t150*t283;
00325 jacmKRT[1][7] = (t152*t273+t154*t283)*t67-t161*t283;
00326 jacmKRT[0][8] = t76*t67;
00327 jacmKRT[1][8] = 0.0;
00328 jacmKRT[0][9] = t120*t67;
00329 jacmKRT[1][9] = t152*t67;
00330 jacmKRT[0][10] = t131*t67-t150;
00331 jacmKRT[1][10] = t154*t67-t161;
00332 t295 = t35*t35;
00333 t296 = t41*t41;
00334 t298 = t57*t57;
00335 t301 = t35*t57;
00336 t304 = t41*t51;
00337 t305 = 2.0*t301+t41*t31-t304;
00338 t307 = t35*t51;
00339 t308 = t41*t57;
00340 t311 = t307+2.0*t308-t31*t35;
00341 jacmS[0][0] = (t76*(t295+t296+t31*t51-t298)+t120*t305+t131*t311)*t67-t150*
00342 t311;
00343 jacmS[1][0] = (t152*t305+t154*t311)*t67-t161*t311;
00344 t326 = t51*t51;
00345 t327 = t298+t296+t17*t35-t326;
00346 t329 = t57*t51;
00347 t332 = t41*t35;
00348 t333 = 2.0*t329+t41*t17-t332;
00349 jacmS[0][1] = (t76*(t301+2.0*t304-t17*t57)+t120*t327+t131*t333)*t67-t150*
00350 t333;
00351 jacmS[1][1] = (t152*t327+t154*t333)*t67-t161*t333;
00352 t349 = t329+2.0*t332-t24*t51;
00353 t352 = t326+t296+t24*t57-t295;
00354 jacmS[0][2] = (t76*(2.0*t307+t41*t24-t308)+t120*t349+t131*t352)*t67-t150*
00355 t352;
00356 jacmS[1][2] = (t152*t349+t154*t352)*t67-t161*t352;
00357 return;
00358 }
00359 }
00360
00361 #include <math.h>
00362 void calcImgProjJacKRT(double a[5],double qr0[4],double v[3],double t[3],
00363 double M[3],double jacmKRT[2][11])
00364 {
00365 double t1;
00366 double t102;
00367 double t107;
00368 double t109;
00369 double t11;
00370 double t114;
00371 double t116;
00372 double t120;
00373 double t129;
00374 double t13;
00375 double t131;
00376 double t140;
00377 double t148;
00378 double t149;
00379 double t15;
00380 double t150;
00381 double t152;
00382 double t154;
00383 double t161;
00384 double t164;
00385 double t167;
00386 double t17;
00387 double t170;
00388 double t172;
00389 double t174;
00390 double t177;
00391 double t18;
00392 double t182;
00393 double t187;
00394 double t189;
00395 double t194;
00396 double t196;
00397 double t2;
00398 double t208;
00399 double t218;
00400 double t229;
00401 double t232;
00402 double t235;
00403 double t237;
00404 double t239;
00405 double t24;
00406 double t242;
00407 double t247;
00408 double t25;
00409 double t252;
00410 double t254;
00411 double t259;
00412 double t261;
00413 double t273;
00414 double t283;
00415 double t3;
00416 double t31;
00417 double t32;
00418 double t34;
00419 double t35;
00420 double t4;
00421 double t41;
00422 double t45;
00423 double t5;
00424 double t50;
00425 double t51;
00426 double t56;
00427 double t57;
00428 double t6;
00429 double t60;
00430 double t66;
00431 double t67;
00432 double t68;
00433 double t74;
00434 double t76;
00435 double t78;
00436 double t79;
00437 double t8;
00438 double t81;
00439 double t83;
00440 double t85;
00441 double t87;
00442 double t89;
00443 double t9;
00444 double t91;
00445 double t93;
00446 double t95;
00447 double t97;
00448 {
00449 t1 = v[0];
00450 t2 = t1*t1;
00451 t3 = v[1];
00452 t4 = t3*t3;
00453 t5 = v[2];
00454 t6 = t5*t5;
00455 t8 = sqrt(1.0-t2-t4-t6);
00456 t9 = qr0[1];
00457 t11 = qr0[0];
00458 t13 = qr0[3];
00459 t15 = qr0[2];
00460 t17 = t8*t9+t11*t1+t13*t3-t5*t15;
00461 t18 = M[0];
00462 t24 = t8*t15+t3*t11+t5*t9-t13*t1;
00463 t25 = M[1];
00464 t31 = t8*t13+t5*t11+t1*t15-t3*t9;
00465 t32 = M[2];
00466 t34 = -t17*t18-t24*t25-t31*t32;
00467 t35 = -t17;
00468 t41 = t11*t8-t1*t9-t3*t15-t5*t13;
00469 t45 = t41*t18+t24*t32-t31*t25;
00470 t50 = t41*t25+t31*t18-t17*t32;
00471 t51 = -t31;
00472 t56 = t41*t32+t17*t25-t24*t18;
00473 t57 = -t24;
00474 t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
00475 t66 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
00476 t67 = 1/t66;
00477 jacmKRT[0][0] = t60*t67;
00478 t68 = a[3];
00479 t74 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
00480 jacmKRT[1][0] = t68*t74*t67;
00481 jacmKRT[0][1] = 1.0;
00482 jacmKRT[1][1] = 0.0;
00483 jacmKRT[0][2] = 0.0;
00484 jacmKRT[1][2] = 1.0;
00485 jacmKRT[0][3] = 0.0;
00486 t76 = a[0];
00487 jacmKRT[1][3] = t76*t74*t67;
00488 jacmKRT[0][4] = t74*t67;
00489 jacmKRT[1][4] = 0.0;
00490 t78 = 1/t8;
00491 t79 = t78*t9;
00492 t81 = -t79*t1+t11;
00493 t83 = t78*t15;
00494 t85 = -t83*t1-t13;
00495 t87 = t78*t13;
00496 t89 = -t87*t1+t15;
00497 t91 = -t81*t18-t85*t25-t89*t32;
00498 t93 = -t81;
00499 t95 = t78*t11;
00500 t97 = -t95*t1-t9;
00501 t102 = t97*t18+t85*t32-t89*t25;
00502 t107 = t97*t25+t89*t18-t81*t32;
00503 t109 = -t89;
00504 t114 = t97*t32+t81*t25-t85*t18;
00505 t116 = -t85;
00506 t120 = a[4];
00507 t129 = t91*t57+t34*t116+t97*t50+t41*t107+t114*t35+t56*t93-t102*t51-t45*t109
00508 ;
00509 t131 = a[1];
00510 t140 = t91*t51+t34*t109+t97*t56+t41*t114+t102*t57+t45*t116-t107*t35-t50*t93
00511 ;
00512 t148 = t66*t66;
00513 t149 = 1/t148;
00514 t150 = (t76*t60+t120*t74+t131*t66)*t149;
00515 jacmKRT[0][5] = (t76*(t91*t35+t34*t93+t97*t45+t41*t102+t107*t51+t50*t109-
00516 t114*t57-t56*t116)+t129*t120+t131*t140)*t67-t150*t140;
00517 t152 = t76*t68;
00518 t154 = a[2];
00519 t161 = (t152*t74+t154*t66)*t149;
00520 jacmKRT[1][5] = (t152*t129+t154*t140)*t67-t161*t140;
00521 t164 = -t79*t3+t13;
00522 t167 = -t83*t3+t11;
00523 t170 = -t87*t3-t9;
00524 t172 = -t164*t18-t167*t25-t170*t32;
00525 t174 = -t164;
00526 t177 = -t95*t3-t15;
00527 t182 = t177*t18+t167*t32-t170*t25;
00528 t187 = t177*t25+t170*t18-t164*t32;
00529 t189 = -t170;
00530 t194 = t177*t32+t164*t25-t167*t18;
00531 t196 = -t167;
00532 t208 = t172*t57+t34*t196+t177*t50+t41*t187+t194*t35+t56*t174-t182*t51-t45*
00533 t189;
00534 t218 = t172*t51+t34*t189+t177*t56+t41*t194+t182*t57+t45*t196-t187*t35-t50*
00535 t174;
00536 jacmKRT[0][6] = (t76*(t172*t35+t34*t174+t177*t45+t41*t182+t187*t51+t50*t189
00537 -t194*t57-t56*t196)+t120*t208+t131*t218)*t67-t150*t218;
00538 jacmKRT[1][6] = (t152*t208+t154*t218)*t67-t161*t218;
00539 t229 = -t79*t5-t15;
00540 t232 = -t83*t5+t9;
00541 t235 = -t87*t5+t11;
00542 t237 = -t229*t18-t232*t25-t235*t32;
00543 t239 = -t229;
00544 t242 = -t95*t5-t13;
00545 t247 = t242*t18+t232*t32-t235*t25;
00546 t252 = t242*t25+t235*t18-t229*t32;
00547 t254 = -t235;
00548 t259 = t242*t32+t229*t25-t232*t18;
00549 t261 = -t232;
00550 t273 = t237*t57+t261*t34+t242*t50+t41*t252+t259*t35+t56*t239-t247*t51-t45*
00551 t254;
00552 t283 = t237*t51+t34*t254+t242*t56+t41*t259+t247*t57+t45*t261-t252*t35-t50*
00553 t239;
00554 jacmKRT[0][7] = (t76*(t237*t35+t34*t239+t242*t45+t41*t247+t252*t51+t50*t254
00555 -t259*t57-t56*t261)+t120*t273+t131*t283)*t67-t150*t283;
00556 jacmKRT[1][7] = (t152*t273+t154*t283)*t67-t161*t283;
00557 jacmKRT[0][8] = t76*t67;
00558 jacmKRT[1][8] = 0.0;
00559 jacmKRT[0][9] = t120*t67;
00560 jacmKRT[1][9] = t152*t67;
00561 jacmKRT[0][10] = t131*t67-t150;
00562 jacmKRT[1][10] = t154*t67-t161;
00563 return;
00564 }
00565 }
00566
00567 #include <math.h>
00568 void calcImgProjJacS(double a[5],double qr0[4],double v[3],double t[3],
00569 double M[3],double jacmS[2][3])
00570 {
00571 double t1;
00572 double t10;
00573 double t101;
00574 double t102;
00575 double t103;
00576 double t106;
00577 double t108;
00578 double t115;
00579 double t12;
00580 double t122;
00581 double t123;
00582 double t125;
00583 double t128;
00584 double t129;
00585 double t14;
00586 double t145;
00587 double t148;
00588 double t16;
00589 double t18;
00590 double t19;
00591 double t2;
00592 double t24;
00593 double t25;
00594 double t3;
00595 double t30;
00596 double t31;
00597 double t37;
00598 double t38;
00599 double t4;
00600 double t41;
00601 double t42;
00602 double t45;
00603 double t46;
00604 double t48;
00605 double t49;
00606 double t5;
00607 double t50;
00608 double t53;
00609 double t56;
00610 double t57;
00611 double t59;
00612 double t6;
00613 double t60;
00614 double t62;
00615 double t64;
00616 double t69;
00617 double t7;
00618 double t74;
00619 double t79;
00620 double t82;
00621 double t83;
00622 double t9;
00623 double t97;
00624 {
00625 t1 = a[0];
00626 t2 = v[0];
00627 t3 = t2*t2;
00628 t4 = v[1];
00629 t5 = t4*t4;
00630 t6 = v[2];
00631 t7 = t6*t6;
00632 t9 = sqrt(1.0-t3-t5-t7);
00633 t10 = qr0[1];
00634 t12 = qr0[0];
00635 t14 = qr0[3];
00636 t16 = qr0[2];
00637 t18 = -t9*t10-t12*t2-t4*t14+t6*t16;
00638 t19 = t18*t18;
00639 t24 = t9*t12-t2*t10-t16*t4-t6*t14;
00640 t25 = t24*t24;
00641 t30 = t9*t14+t12*t6+t16*t2-t4*t10;
00642 t31 = -t30;
00643 t37 = -t9*t16-t12*t4-t6*t10+t2*t14;
00644 t38 = t37*t37;
00645 t41 = a[4];
00646 t42 = t18*t37;
00647 t45 = t24*t31;
00648 t46 = 2.0*t42+t24*t30-t45;
00649 t48 = a[1];
00650 t49 = t31*t18;
00651 t50 = t24*t37;
00652 t53 = t49+2.0*t50-t30*t18;
00653 t56 = -t18;
00654 t57 = M[0];
00655 t59 = -t37;
00656 t60 = M[1];
00657 t62 = M[2];
00658 t64 = -t56*t57-t59*t60-t30*t62;
00659 t69 = t24*t62+t56*t60-t59*t57;
00660 t74 = t24*t57+t59*t62-t30*t60;
00661 t79 = t24*t60+t30*t57-t56*t62;
00662 t82 = t64*t31+t24*t69+t74*t37-t18*t79+t[2];
00663 t83 = 1/t82;
00664 t97 = t64*t37+t24*t79+t69*t18-t74*t31+t[1];
00665 t101 = t82*t82;
00666 t102 = 1/t101;
00667 t103 = (t1*(t64*t18+t24*t74+t79*t31-t69*t37+t[0])+t41*t97+t48*t82)*t102;
00668 jacmS[0][0] = (t1*(t19+t25+t30*t31-t38)+t41*t46+t48*t53)*t83-t103*t53;
00669 t106 = t1*a[3];
00670 t108 = a[2];
00671 t115 = (t106*t97+t108*t82)*t102;
00672 jacmS[1][0] = (t106*t46+t108*t53)*t83-t115*t53;
00673 t122 = t31*t31;
00674 t123 = t38+t25+t56*t18-t122;
00675 t125 = t31*t37;
00676 t128 = t24*t18;
00677 t129 = 2.0*t125+t24*t56-t128;
00678 jacmS[0][1] = (t1*(t42+2.0*t45-t56*t37)+t123*t41+t48*t129)*t83-t103*t129;
00679 jacmS[1][1] = (t106*t123+t108*t129)*t83-t129*t115;
00680 t145 = t125+2.0*t128-t59*t31;
00681 t148 = t122+t25+t59*t37-t19;
00682 jacmS[0][2] = (t1*(2.0*t49+t24*t59-t50)+t41*t145+t148*t48)*t83-t103*t148;
00683 jacmS[1][2] = (t106*t145+t148*t108)*t83-t115*t148;
00684 return;
00685 }
00686 }
00687
00688 #include <math.h>
00689 void calcImgProjJacRTS(double a[5],double qr0[4],double v[3],double t[3],
00690 double M[3],double jacmRT[2][6],double jacmS[2][3])
00691 {
00692 double t1;
00693 double t10;
00694 double t107;
00695 double t109;
00696 double t11;
00697 double t118;
00698 double t12;
00699 double t126;
00700 double t127;
00701 double t14;
00702 double t141;
00703 double t145;
00704 double t146;
00705 double t147;
00706 double t15;
00707 double t150;
00708 double t152;
00709 double t159;
00710 double t16;
00711 double t162;
00712 double t165;
00713 double t168;
00714 double t170;
00715 double t172;
00716 double t175;
00717 double t18;
00718 double t180;
00719 double t185;
00720 double t187;
00721 double t19;
00722 double t192;
00723 double t194;
00724 double t2;
00725 double t206;
00726 double t21;
00727 double t216;
00728 double t22;
00729 double t227;
00730 double t23;
00731 double t230;
00732 double t233;
00733 double t235;
00734 double t237;
00735 double t240;
00736 double t245;
00737 double t25;
00738 double t250;
00739 double t252;
00740 double t257;
00741 double t259;
00742 double t27;
00743 double t271;
00744 double t28;
00745 double t281;
00746 double t293;
00747 double t294;
00748 double t296;
00749 double t299;
00750 double t3;
00751 double t30;
00752 double t302;
00753 double t303;
00754 double t305;
00755 double t306;
00756 double t309;
00757 double t324;
00758 double t325;
00759 double t327;
00760 double t330;
00761 double t331;
00762 double t347;
00763 double t35;
00764 double t350;
00765 double t37;
00766 double t4;
00767 double t43;
00768 double t49;
00769 double t5;
00770 double t51;
00771 double t52;
00772 double t54;
00773 double t56;
00774 double t6;
00775 double t61;
00776 double t65;
00777 double t7;
00778 double t70;
00779 double t75;
00780 double t76;
00781 double t81;
00782 double t82;
00783 double t87;
00784 double t88;
00785 double t9;
00786 double t93;
00787 double t94;
00788 double t98;
00789 {
00790 t1 = a[0];
00791 t2 = v[0];
00792 t3 = t2*t2;
00793 t4 = v[1];
00794 t5 = t4*t4;
00795 t6 = v[2];
00796 t7 = t6*t6;
00797 t9 = sqrt(1.0-t3-t5-t7);
00798 t10 = 1/t9;
00799 t11 = qr0[1];
00800 t12 = t11*t10;
00801 t14 = qr0[0];
00802 t15 = -t12*t2+t14;
00803 t16 = M[0];
00804 t18 = qr0[2];
00805 t19 = t18*t10;
00806 t21 = qr0[3];
00807 t22 = -t19*t2-t21;
00808 t23 = M[1];
00809 t25 = t10*t21;
00810 t27 = -t25*t2+t18;
00811 t28 = M[2];
00812 t30 = -t15*t16-t22*t23-t27*t28;
00813 t35 = -t9*t11-t2*t14-t4*t21+t6*t18;
00814 t37 = -t35;
00815 t43 = t9*t18+t4*t14+t6*t11-t2*t21;
00816 t49 = t9*t21+t6*t14+t2*t18-t11*t4;
00817 t51 = -t37*t16-t43*t23-t49*t28;
00818 t52 = -t15;
00819 t54 = t10*t14;
00820 t56 = -t54*t2-t11;
00821 t61 = t9*t14-t2*t11-t4*t18-t6*t21;
00822 t65 = t61*t16+t43*t28-t23*t49;
00823 t70 = t56*t16+t22*t28-t23*t27;
00824 t75 = t56*t23+t27*t16-t28*t15;
00825 t76 = -t49;
00826 t81 = t61*t23+t49*t16-t37*t28;
00827 t82 = -t27;
00828 t87 = t56*t28+t23*t15-t22*t16;
00829 t88 = -t43;
00830 t93 = t61*t28+t37*t23-t43*t16;
00831 t94 = -t22;
00832 t98 = a[4];
00833 t107 = t30*t88+t94*t51+t56*t81+t61*t75+t87*t35+t93*t52-t70*t76-t82*t65;
00834 t109 = a[1];
00835 t118 = t30*t76+t82*t51+t56*t93+t61*t87+t70*t88+t65*t94-t35*t75-t81*t52;
00836 t126 = t76*t51+t61*t93+t65*t88-t81*t35+t[2];
00837 t127 = 1/t126;
00838 t141 = t51*t88+t61*t81+t93*t35-t65*t76+t[1];
00839 t145 = t126*t126;
00840 t146 = 1/t145;
00841 t147 = (t1*(t35*t51+t61*t65+t81*t76-t93*t88+t[0])+t98*t141+t126*t109)*t146;
00842 jacmRT[0][0] = (t1*(t30*t35+t52*t51+t56*t65+t61*t70+t76*t75+t81*t82-t88*t87
00843 -t93*t94)+t98*t107+t109*t118)*t127-t118*t147;
00844 t150 = t1*a[3];
00845 t152 = a[2];
00846 t159 = (t150*t141+t126*t152)*t146;
00847 jacmRT[1][0] = (t107*t150+t152*t118)*t127-t159*t118;
00848 t162 = -t12*t4+t21;
00849 t165 = -t19*t4+t14;
00850 t168 = -t25*t4-t11;
00851 t170 = -t162*t16-t165*t23-t168*t28;
00852 t172 = -t162;
00853 t175 = -t54*t4-t18;
00854 t180 = t175*t16+t165*t28-t168*t23;
00855 t185 = t175*t23+t168*t16-t162*t28;
00856 t187 = -t168;
00857 t192 = t175*t28+t162*t23-t165*t16;
00858 t194 = -t165;
00859 t206 = t170*t88+t51*t194+t175*t81+t61*t185+t192*t35+t93*t172-t76*t180-t65*
00860 t187;
00861 t216 = t170*t76+t51*t187+t93*t175+t61*t192+t180*t88+t65*t194-t185*t35-t81*
00862 t172;
00863 jacmRT[0][1] = (t1*(t170*t35+t172*t51+t175*t65+t180*t61+t185*t76+t81*t187-
00864 t192*t88-t93*t194)+t98*t206+t109*t216)*t127-t147*t216;
00865 jacmRT[1][1] = (t150*t206+t152*t216)*t127-t159*t216;
00866 t227 = -t12*t6-t18;
00867 t230 = -t19*t6+t11;
00868 t233 = -t25*t6+t14;
00869 t235 = -t227*t16-t23*t230-t233*t28;
00870 t237 = -t227;
00871 t240 = -t54*t6-t21;
00872 t245 = t240*t16+t230*t28-t233*t23;
00873 t250 = t23*t240+t233*t16-t227*t28;
00874 t252 = -t233;
00875 t257 = t240*t28+t227*t23-t230*t16;
00876 t259 = -t230;
00877 t271 = t235*t88+t51*t259+t81*t240+t61*t250+t257*t35+t93*t237-t245*t76-t65*
00878 t252;
00879 t281 = t235*t76+t51*t252+t240*t93+t61*t257+t245*t88+t259*t65-t250*t35-t81*
00880 t237;
00881 jacmRT[0][2] = (t1*(t235*t35+t237*t51+t240*t65+t61*t245+t250*t76+t81*t252-
00882 t257*t88-t93*t259)+t271*t98+t281*t109)*t127-t147*t281;
00883 jacmRT[1][2] = (t150*t271+t281*t152)*t127-t159*t281;
00884 jacmRT[0][3] = t127*t1;
00885 jacmRT[1][3] = 0.0;
00886 jacmRT[0][4] = t98*t127;
00887 jacmRT[1][4] = t150*t127;
00888 jacmRT[0][5] = t109*t127-t147;
00889 jacmRT[1][5] = t152*t127-t159;
00890 t293 = t35*t35;
00891 t294 = t61*t61;
00892 t296 = t88*t88;
00893 t299 = t35*t88;
00894 t302 = t61*t76;
00895 t303 = 2.0*t299+t61*t49-t302;
00896 t305 = t35*t76;
00897 t306 = t61*t88;
00898 t309 = t305+2.0*t306-t49*t35;
00899 jacmS[0][0] = (t1*(t293+t294+t49*t76-t296)+t98*t303+t109*t309)*t127-t147*
00900 t309;
00901 jacmS[1][0] = (t150*t303+t152*t309)*t127-t159*t309;
00902 t324 = t76*t76;
00903 t325 = t296+t294+t35*t37-t324;
00904 t327 = t76*t88;
00905 t330 = t61*t35;
00906 t331 = 2.0*t327+t61*t37-t330;
00907 jacmS[0][1] = (t1*(t299+2.0*t302-t37*t88)+t98*t325+t109*t331)*t127-t147*
00908 t331;
00909 jacmS[1][1] = (t150*t325+t152*t331)*t127-t159*t331;
00910 t347 = t327+2.0*t330-t43*t76;
00911 t350 = t324+t294+t43*t88-t293;
00912 jacmS[0][2] = (t1*(2.0*t305+t61*t43-t306)+t98*t347+t350*t109)*t127-t147*
00913 t350;
00914 jacmS[1][2] = (t150*t347+t152*t350)*t127-t159*t350;
00915 return;
00916 }
00917 }
00918
00919 #include <math.h>
00920 void calcImgProjJacRT(double a[5],double qr0[4],double v[3],double t[3],
00921 double M[3],double jacmRT[2][6])
00922 {
00923 double t1;
00924 double t10;
00925 double t107;
00926 double t109;
00927 double t11;
00928 double t118;
00929 double t12;
00930 double t126;
00931 double t127;
00932 double t14;
00933 double t141;
00934 double t145;
00935 double t146;
00936 double t147;
00937 double t15;
00938 double t150;
00939 double t152;
00940 double t159;
00941 double t16;
00942 double t162;
00943 double t165;
00944 double t168;
00945 double t170;
00946 double t172;
00947 double t175;
00948 double t18;
00949 double t180;
00950 double t185;
00951 double t187;
00952 double t19;
00953 double t192;
00954 double t194;
00955 double t2;
00956 double t206;
00957 double t21;
00958 double t216;
00959 double t22;
00960 double t227;
00961 double t23;
00962 double t230;
00963 double t233;
00964 double t235;
00965 double t237;
00966 double t240;
00967 double t245;
00968 double t25;
00969 double t250;
00970 double t252;
00971 double t257;
00972 double t259;
00973 double t27;
00974 double t271;
00975 double t28;
00976 double t281;
00977 double t3;
00978 double t30;
00979 double t35;
00980 double t37;
00981 double t4;
00982 double t43;
00983 double t49;
00984 double t5;
00985 double t51;
00986 double t52;
00987 double t54;
00988 double t56;
00989 double t6;
00990 double t61;
00991 double t65;
00992 double t7;
00993 double t70;
00994 double t75;
00995 double t76;
00996 double t81;
00997 double t82;
00998 double t87;
00999 double t88;
01000 double t9;
01001 double t93;
01002 double t94;
01003 double t98;
01004 {
01005 t1 = a[0];
01006 t2 = v[0];
01007 t3 = t2*t2;
01008 t4 = v[1];
01009 t5 = t4*t4;
01010 t6 = v[2];
01011 t7 = t6*t6;
01012 t9 = sqrt(1.0-t3-t5-t7);
01013 t10 = 1/t9;
01014 t11 = qr0[1];
01015 t12 = t11*t10;
01016 t14 = qr0[0];
01017 t15 = -t12*t2+t14;
01018 t16 = M[0];
01019 t18 = qr0[2];
01020 t19 = t18*t10;
01021 t21 = qr0[3];
01022 t22 = -t19*t2-t21;
01023 t23 = M[1];
01024 t25 = t10*t21;
01025 t27 = -t25*t2+t18;
01026 t28 = M[2];
01027 t30 = -t15*t16-t22*t23-t27*t28;
01028 t35 = -t9*t11-t2*t14-t4*t21+t6*t18;
01029 t37 = -t35;
01030 t43 = t9*t18+t4*t14+t6*t11-t2*t21;
01031 t49 = t9*t21+t6*t14+t2*t18-t11*t4;
01032 t51 = -t37*t16-t43*t23-t49*t28;
01033 t52 = -t15;
01034 t54 = t10*t14;
01035 t56 = -t54*t2-t11;
01036 t61 = t9*t14-t2*t11-t4*t18-t6*t21;
01037 t65 = t61*t16+t43*t28-t23*t49;
01038 t70 = t56*t16+t22*t28-t23*t27;
01039 t75 = t56*t23+t27*t16-t28*t15;
01040 t76 = -t49;
01041 t81 = t61*t23+t49*t16-t37*t28;
01042 t82 = -t27;
01043 t87 = t56*t28+t23*t15-t22*t16;
01044 t88 = -t43;
01045 t93 = t61*t28+t37*t23-t43*t16;
01046 t94 = -t22;
01047 t98 = a[4];
01048 t107 = t30*t88+t94*t51+t56*t81+t61*t75+t87*t35+t93*t52-t70*t76-t82*t65;
01049 t109 = a[1];
01050 t118 = t30*t76+t82*t51+t56*t93+t61*t87+t70*t88+t65*t94-t35*t75-t81*t52;
01051 t126 = t76*t51+t61*t93+t65*t88-t81*t35+t[2];
01052 t127 = 1/t126;
01053 t141 = t51*t88+t61*t81+t93*t35-t65*t76+t[1];
01054 t145 = t126*t126;
01055 t146 = 1/t145;
01056 t147 = (t1*(t35*t51+t61*t65+t81*t76-t93*t88+t[0])+t98*t141+t126*t109)*t146;
01057 jacmRT[0][0] = (t1*(t30*t35+t52*t51+t56*t65+t61*t70+t76*t75+t81*t82-t88*t87
01058 -t93*t94)+t98*t107+t109*t118)*t127-t118*t147;
01059 t150 = t1*a[3];
01060 t152 = a[2];
01061 t159 = (t150*t141+t126*t152)*t146;
01062 jacmRT[1][0] = (t107*t150+t152*t118)*t127-t159*t118;
01063 t162 = -t12*t4+t21;
01064 t165 = -t19*t4+t14;
01065 t168 = -t25*t4-t11;
01066 t170 = -t162*t16-t165*t23-t168*t28;
01067 t172 = -t162;
01068 t175 = -t54*t4-t18;
01069 t180 = t175*t16+t165*t28-t168*t23;
01070 t185 = t175*t23+t168*t16-t162*t28;
01071 t187 = -t168;
01072 t192 = t175*t28+t162*t23-t165*t16;
01073 t194 = -t165;
01074 t206 = t170*t88+t51*t194+t175*t81+t61*t185+t192*t35+t93*t172-t76*t180-t65*
01075 t187;
01076 t216 = t170*t76+t51*t187+t93*t175+t61*t192+t180*t88+t65*t194-t185*t35-t81*
01077 t172;
01078 jacmRT[0][1] = (t1*(t170*t35+t172*t51+t175*t65+t180*t61+t185*t76+t81*t187-
01079 t192*t88-t93*t194)+t98*t206+t109*t216)*t127-t147*t216;
01080 jacmRT[1][1] = (t150*t206+t152*t216)*t127-t159*t216;
01081 t227 = -t12*t6-t18;
01082 t230 = -t19*t6+t11;
01083 t233 = -t25*t6+t14;
01084 t235 = -t227*t16-t23*t230-t233*t28;
01085 t237 = -t227;
01086 t240 = -t54*t6-t21;
01087 t245 = t240*t16+t230*t28-t233*t23;
01088 t250 = t23*t240+t233*t16-t227*t28;
01089 t252 = -t233;
01090 t257 = t240*t28+t227*t23-t230*t16;
01091 t259 = -t230;
01092 t271 = t235*t88+t51*t259+t81*t240+t61*t250+t257*t35+t93*t237-t245*t76-t65*
01093 t252;
01094 t281 = t235*t76+t51*t252+t240*t93+t61*t257+t245*t88+t259*t65-t250*t35-t81*
01095 t237;
01096 jacmRT[0][2] = (t1*(t235*t35+t237*t51+t240*t65+t61*t245+t250*t76+t81*t252-
01097 t257*t88-t93*t259)+t271*t98+t281*t109)*t127-t147*t281;
01098 jacmRT[1][2] = (t150*t271+t281*t152)*t127-t159*t281;
01099 jacmRT[0][3] = t127*t1;
01100 jacmRT[1][3] = 0.0;
01101 jacmRT[0][4] = t98*t127;
01102 jacmRT[1][4] = t150*t127;
01103 jacmRT[0][5] = t109*t127-t147;
01104 jacmRT[1][5] = t152*t127-t159;
01105 return;
01106 }
01107 }
01108
01109 #include <math.h>
01110 void calcDistImgProj(double a[5],double kc[5],double qr0[4],double v[3],
01111 double t[3],double M[3],double n[2])
01112 {
01113 double t1;
01114 double t10;
01115 double t113;
01116 double t12;
01117 double t14;
01118 double t16;
01119 double t18;
01120 double t19;
01121 double t2;
01122 double t25;
01123 double t26;
01124 double t3;
01125 double t32;
01126 double t33;
01127 double t35;
01128 double t36;
01129 double t4;
01130 double t42;
01131 double t46;
01132 double t5;
01133 double t51;
01134 double t52;
01135 double t57;
01136 double t58;
01137 double t6;
01138 double t61;
01139 double t62;
01140 double t68;
01141 double t69;
01142 double t7;
01143 double t70;
01144 double t71;
01145 double t77;
01146 double t78;
01147 double t79;
01148 double t80;
01149 double t89;
01150 double t9;
01151 double t91;
01152 double t93;
01153 double t95;
01154 double t98;
01155 {
01156 t1 = a[0];
01157 t2 = v[0];
01158 t3 = t2*t2;
01159 t4 = v[1];
01160 t5 = t4*t4;
01161 t6 = v[2];
01162 t7 = t6*t6;
01163 t9 = sqrt(1.0-t3-t5-t7);
01164 t10 = qr0[1];
01165 t12 = qr0[0];
01166 t14 = qr0[3];
01167 t16 = qr0[2];
01168 t18 = t9*t10+t12*t2+t4*t14-t6*t16;
01169 t19 = M[0];
01170 t25 = t9*t16+t12*t4+t6*t10-t2*t14;
01171 t26 = M[1];
01172 t32 = t9*t14+t12*t6+t2*t16-t4*t10;
01173 t33 = M[2];
01174 t35 = -t18*t19-t25*t26-t33*t32;
01175 t36 = -t18;
01176 t42 = t9*t12-t2*t10-t4*t16-t6*t14;
01177 t46 = t42*t19+t25*t33-t32*t26;
01178 t51 = t42*t26+t32*t19-t18*t33;
01179 t52 = -t32;
01180 t57 = t42*t33+t18*t26-t25*t19;
01181 t58 = -t25;
01182 t61 = t35*t36+t42*t46+t52*t51-t57*t58+t[0];
01183 t62 = t61*t61;
01184 t68 = t52*t35+t42*t57+t46*t58-t51*t36+t[2];
01185 t69 = t68*t68;
01186 t70 = 1/t69;
01187 t71 = t62*t70;
01188 t77 = t35*t58+t42*t51+t57*t36-t52*t46+t[1];
01189 t78 = t77*t77;
01190 t79 = t78*t70;
01191 t80 = t71+t79;
01192 t89 = 1.0+t80*(kc[0]+t80*(kc[1]+t80*kc[4]));
01193 t91 = 1/t68;
01194 t93 = kc[2];
01195 t95 = t70*t77;
01196 t98 = kc[3];
01197 t113 = t89*t77*t91+t93*(t71+3.0*t79)+2.0*t98*t61*t95;
01198 n[0] = t1*(t89*t61*t91+2.0*t93*t61*t95+t98*(3.0*t71+t79))+a[4]*t113+a[1];
01199 n[1] = t1*a[3]*t113+a[2];
01200 return;
01201 }
01202 }
01203
01204 void calcDistImgProjFullR(double a[5],double kc[5],double qr0[4],double t[3],
01205 double M[3],double n[2])
01206 {
01207 double t1;
01208 double t11;
01209 double t13;
01210 double t17;
01211 double t2;
01212 double t22;
01213 double t27;
01214 double t3;
01215 double t30;
01216 double t31;
01217 double t37;
01218 double t38;
01219 double t39;
01220 double t40;
01221 double t46;
01222 double t47;
01223 double t48;
01224 double t49;
01225 double t5;
01226 double t58;
01227 double t6;
01228 double t60;
01229 double t62;
01230 double t64;
01231 double t67;
01232 double t8;
01233 double t82;
01234 double t9;
01235 {
01236 t1 = a[0];
01237 t2 = qr0[1];
01238 t3 = M[0];
01239 t5 = qr0[2];
01240 t6 = M[1];
01241 t8 = qr0[3];
01242 t9 = M[2];
01243 t11 = -t3*t2-t6*t5-t9*t8;
01244 t13 = qr0[0];
01245 t17 = t13*t3+t5*t9-t6*t8;
01246 t22 = t6*t13+t8*t3-t9*t2;
01247 t27 = t13*t9+t2*t6-t5*t3;
01248 t30 = -t2*t11+t13*t17-t8*t22+t27*t5+t[0];
01249 t31 = t30*t30;
01250 t37 = -t8*t11+t13*t27-t5*t17+t2*t22+t[2];
01251 t38 = t37*t37;
01252 t39 = 1/t38;
01253 t40 = t39*t31;
01254 t46 = -t5*t11+t13*t22-t27*t2+t17*t8+t[1];
01255 t47 = t46*t46;
01256 t48 = t47*t39;
01257 t49 = t40+t48;
01258 t58 = 1.0+t49*(kc[0]+t49*(kc[1]+t49*kc[4]));
01259 t60 = 1/t37;
01260 t62 = kc[2];
01261 t64 = t39*t46;
01262 t67 = kc[3];
01263 t82 = t58*t46*t60+t62*(t40+3.0*t48)+2.0*t67*t30*t64;
01264 n[0] = t1*(t58*t30*t60+2.0*t62*t30*t64+t67*(3.0*t40+t48))+a[4]*t82+a[1];
01265 n[1] = t1*a[3]*t82+a[2];
01266 return;
01267 }
01268 }
01269
01270 #include <math.h>
01271 void calcDistImgProjJacKDRTS(double a[5],double kc[5],double qr0[4],
01272 double v[3],double t[3],double M[3],double jacmKDRT[2][16],double jacmS[2][3])
01273 {
01274 double t1;
01275 double t101;
01276 double t102;
01277 double t105;
01278 double t107;
01279 double t11;
01280 double t110;
01281 double t111;
01282 double t113;
01283 double t115;
01284 double t117;
01285 double t119;
01286 double t120;
01287 double t122;
01288 double t13;
01289 double t137;
01290 double t140;
01291 double t147;
01292 double t148;
01293 double t15;
01294 double t150;
01295 double t152;
01296 double t154;
01297 double t156;
01298 double t158;
01299 double t160;
01300 double t162;
01301 double t164;
01302 double t166;
01303 double t17;
01304 double t171;
01305 double t176;
01306 double t178;
01307 double t18;
01308 double t183;
01309 double t185;
01310 double t187;
01311 double t188;
01312 double t190;
01313 double t191;
01314 double t2;
01315 double t200;
01316 double t201;
01317 double t210;
01318 double t211;
01319 double t212;
01320 double t213;
01321 double t215;
01322 double t222;
01323 double t227;
01324 double t232;
01325 double t233;
01326 double t236;
01327 double t24;
01328 double t25;
01329 double t265;
01330 double t268;
01331 double t271;
01332 double t274;
01333 double t276;
01334 double t278;
01335 double t281;
01336 double t286;
01337 double t291;
01338 double t293;
01339 double t298;
01340 double t3;
01341 double t300;
01342 double t302;
01343 double t303;
01344 double t31;
01345 double t312;
01346 double t313;
01347 double t32;
01348 double t322;
01349 double t323;
01350 double t324;
01351 double t326;
01352 double t333;
01353 double t338;
01354 double t34;
01355 double t343;
01356 double t346;
01357 double t35;
01358 double t375;
01359 double t378;
01360 double t381;
01361 double t384;
01362 double t386;
01363 double t388;
01364 double t391;
01365 double t396;
01366 double t4;
01367 double t401;
01368 double t403;
01369 double t408;
01370 double t41;
01371 double t410;
01372 double t412;
01373 double t413;
01374 double t422;
01375 double t423;
01376 double t432;
01377 double t433;
01378 double t434;
01379 double t436;
01380 double t443;
01381 double t448;
01382 double t45;
01383 double t453;
01384 double t456;
01385 double t485;
01386 double t491;
01387 double t496;
01388 double t499;
01389 double t5;
01390 double t50;
01391 double t501;
01392 double t503;
01393 double t51;
01394 double t510;
01395 double t513;
01396 double t514;
01397 double t523;
01398 double t532;
01399 double t535;
01400 double t542;
01401 double t56;
01402 double t563;
01403 double t565;
01404 double t566;
01405 double t568;
01406 double t569;
01407 double t57;
01408 double t570;
01409 double t571;
01410 double t572;
01411 double t575;
01412 double t576;
01413 double t577;
01414 double t580;
01415 double t581;
01416 double t582;
01417 double t583;
01418 double t585;
01419 double t592;
01420 double t597;
01421 double t6;
01422 double t60;
01423 double t602;
01424 double t605;
01425 double t61;
01426 double t634;
01427 double t638;
01428 double t639;
01429 double t640;
01430 double t643;
01431 double t644;
01432 double t645;
01433 double t647;
01434 double t648;
01435 double t649;
01436 double t650;
01437 double t652;
01438 double t659;
01439 double t664;
01440 double t669;
01441 double t67;
01442 double t672;
01443 double t68;
01444 double t69;
01445 double t70;
01446 double t701;
01447 double t705;
01448 double t706;
01449 double t708;
01450 double t709;
01451 double t712;
01452 double t713;
01453 double t714;
01454 double t716;
01455 double t723;
01456 double t728;
01457 double t733;
01458 double t736;
01459 double t76;
01460 double t765;
01461 double t77;
01462 double t78;
01463 double t79;
01464 double t8;
01465 double t82;
01466 double t84;
01467 double t86;
01468 double t88;
01469 double t89;
01470 double t9;
01471 double t90;
01472 double t92;
01473 double t93;
01474 double t94;
01475 double t97;
01476 double t99;
01477 {
01478 t1 = v[0];
01479 t2 = t1*t1;
01480 t3 = v[1];
01481 t4 = t3*t3;
01482 t5 = v[2];
01483 t6 = t5*t5;
01484 t8 = sqrt(1.0-t2-t4-t6);
01485 t9 = qr0[1];
01486 t11 = qr0[0];
01487 t13 = qr0[3];
01488 t15 = qr0[2];
01489 t17 = t9*t8+t11*t1+t13*t3-t5*t15;
01490 t18 = M[0];
01491 t24 = t8*t15+t11*t3+t5*t9-t1*t13;
01492 t25 = M[1];
01493 t31 = t8*t13+t5*t11+t1*t15-t3*t9;
01494 t32 = M[2];
01495 t34 = -t17*t18-t24*t25-t31*t32;
01496 t35 = -t17;
01497 t41 = t8*t11-t1*t9-t3*t15-t5*t13;
01498 t45 = t41*t18+t24*t32-t31*t25;
01499 t50 = t41*t25+t31*t18-t32*t17;
01500 t51 = -t31;
01501 t56 = t41*t32+t17*t25-t24*t18;
01502 t57 = -t24;
01503 t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
01504 t61 = t60*t60;
01505 t67 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
01506 t68 = t67*t67;
01507 t69 = 1/t68;
01508 t70 = t61*t69;
01509 t76 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
01510 t77 = t76*t76;
01511 t78 = t77*t69;
01512 t79 = t70+t78;
01513 t82 = kc[4];
01514 t84 = kc[1]+t79*t82;
01515 t86 = kc[0]+t79*t84;
01516 t88 = 1.0+t79*t86;
01517 t89 = t88*t60;
01518 t90 = 1/t67;
01519 t92 = kc[2];
01520 t93 = t92*t60;
01521 t94 = t69*t76;
01522 t97 = kc[3];
01523 t99 = 3.0*t70+t78;
01524 jacmKDRT[0][0] = t89*t90+2.0*t93*t94+t97*t99;
01525 t101 = a[3];
01526 t102 = t88*t76;
01527 t105 = t70+3.0*t78;
01528 t107 = t97*t60;
01529 t110 = t102*t90+t92*t105+2.0*t107*t94;
01530 jacmKDRT[1][0] = t101*t110;
01531 jacmKDRT[0][1] = 1.0;
01532 jacmKDRT[1][1] = 0.0;
01533 jacmKDRT[0][2] = 0.0;
01534 jacmKDRT[1][2] = 1.0;
01535 jacmKDRT[0][3] = 0.0;
01536 t111 = a[0];
01537 jacmKDRT[1][3] = t110*t111;
01538 jacmKDRT[0][4] = t110;
01539 jacmKDRT[1][4] = 0.0;
01540 t113 = t60*t90;
01541 t115 = a[4];
01542 t117 = t76*t90;
01543 jacmKDRT[0][5] = t111*t79*t113+t115*t79*t117;
01544 t119 = t111*t101;
01545 t120 = t79*t76;
01546 jacmKDRT[1][5] = t119*t120*t90;
01547 t122 = t79*t79;
01548 jacmKDRT[0][6] = t111*t122*t113+t115*t122*t117;
01549 jacmKDRT[1][6] = t119*t122*t76*t90;
01550 jacmKDRT[0][7] = 2.0*t111*t60*t94+t115*t105;
01551 jacmKDRT[1][7] = t119*t105;
01552 jacmKDRT[0][8] = t111*t99+2.0*t115*t60*t94;
01553 t137 = t60*t69;
01554 jacmKDRT[1][8] = 2.0*t119*t137*t76;
01555 t140 = t122*t79;
01556 jacmKDRT[0][9] = t111*t140*t113+t115*t140*t117;
01557 jacmKDRT[1][9] = t119*t140*t76*t90;
01558 t147 = 1/t8;
01559 t148 = t147*t9;
01560 t150 = -t148*t1+t11;
01561 t152 = t147*t15;
01562 t154 = -t152*t1-t13;
01563 t156 = t13*t147;
01564 t158 = -t156*t1+t15;
01565 t160 = -t150*t18-t154*t25-t158*t32;
01566 t162 = -t150;
01567 t164 = t147*t11;
01568 t166 = -t164*t1-t9;
01569 t171 = t166*t18+t154*t32-t158*t25;
01570 t176 = t166*t25+t158*t18-t150*t32;
01571 t178 = -t158;
01572 t183 = t32*t166+t150*t25-t154*t18;
01573 t185 = -t154;
01574 t187 = t160*t35+t34*t162+t166*t45+t41*t171+t176*t51+t50*t178-t183*t57-t56*
01575 t185;
01576 t188 = t137*t187;
01577 t190 = 1/t68/t67;
01578 t191 = t61*t190;
01579 t200 = t160*t51+t34*t178+t166*t56+t41*t183+t171*t57+t45*t185-t176*t35-t50*
01580 t162;
01581 t201 = t191*t200;
01582 t210 = t160*t57+t34*t185+t166*t50+t41*t176+t183*t35+t56*t162-t171*t51-t45*
01583 t178;
01584 t211 = t94*t210;
01585 t212 = t77*t190;
01586 t213 = t212*t200;
01587 t215 = 2.0*t188-2.0*t201+2.0*t211-2.0*t213;
01588 t222 = t215*t86+t79*(t215*t84+t79*t215*t82);
01589 t227 = t69*t200;
01590 t232 = t190*t76;
01591 t233 = t232*t200;
01592 t236 = t69*t210;
01593 t265 = t222*t76*t90+t88*t210*t90-t102*t227+t92*(2.0*t188-2.0*t201+6.0*t211
01594 -6.0*t213)+2.0*t97*t187*t94-4.0*t107*t233+2.0*t107*t236;
01595 jacmKDRT[0][10] = t111*(t222*t60*t90+t88*t187*t90-t89*t227+2.0*t92*t187*t94
01596 -4.0*t93*t233+2.0*t93*t236+t97*(6.0*t188-6.0*t201+2.0*t211-2.0*t213))+t115*t265
01597 ;
01598 jacmKDRT[1][10] = t119*t265;
01599 t268 = -t148*t3+t13;
01600 t271 = -t152*t3+t11;
01601 t274 = -t156*t3-t9;
01602 t276 = -t268*t18-t271*t25-t274*t32;
01603 t278 = -t268;
01604 t281 = -t164*t3-t15;
01605 t286 = t281*t18+t271*t32-t274*t25;
01606 t291 = t281*t25+t274*t18-t32*t268;
01607 t293 = -t274;
01608 t298 = t281*t32+t268*t25-t271*t18;
01609 t300 = -t271;
01610 t302 = t276*t35+t34*t278+t281*t45+t41*t286+t291*t51+t50*t293-t298*t57-t56*
01611 t300;
01612 t303 = t137*t302;
01613 t312 = t276*t51+t34*t293+t281*t56+t41*t298+t286*t57+t45*t300-t291*t35-t50*
01614 t278;
01615 t313 = t191*t312;
01616 t322 = t276*t57+t34*t300+t281*t50+t41*t291+t298*t35+t56*t278-t286*t51-t45*
01617 t293;
01618 t323 = t94*t322;
01619 t324 = t212*t312;
01620 t326 = 2.0*t303-2.0*t313+2.0*t323-2.0*t324;
01621 t333 = t326*t86+t79*(t326*t84+t79*t326*t82);
01622 t338 = t69*t312;
01623 t343 = t312*t232;
01624 t346 = t69*t322;
01625 t375 = t333*t76*t90+t88*t322*t90-t338*t102+t92*(2.0*t303-2.0*t313+6.0*t323
01626 -6.0*t324)+2.0*t97*t302*t94-4.0*t107*t343+2.0*t346*t107;
01627 jacmKDRT[0][11] = t111*(t333*t60*t90+t88*t302*t90-t89*t338+2.0*t92*t302*t94
01628 -4.0*t93*t343+2.0*t93*t346+t97*(6.0*t303-6.0*t313+2.0*t323-2.0*t324))+t115*t375
01629 ;
01630 jacmKDRT[1][11] = t119*t375;
01631 t378 = -t148*t5-t15;
01632 t381 = -t152*t5+t9;
01633 t384 = -t156*t5+t11;
01634 t386 = -t378*t18-t25*t381-t384*t32;
01635 t388 = -t378;
01636 t391 = -t164*t5-t13;
01637 t396 = t391*t18+t381*t32-t384*t25;
01638 t401 = t25*t391+t384*t18-t378*t32;
01639 t403 = -t384;
01640 t408 = t391*t32+t378*t25-t381*t18;
01641 t410 = -t381;
01642 t412 = t35*t386+t388*t34+t391*t45+t41*t396+t401*t51+t50*t403-t408*t57-t56*
01643 t410;
01644 t413 = t137*t412;
01645 t422 = t386*t51+t34*t403+t56*t391+t41*t408+t396*t57+t45*t410-t401*t35-t50*
01646 t388;
01647 t423 = t191*t422;
01648 t432 = t386*t57+t34*t410+t391*t50+t41*t401+t408*t35+t56*t388-t396*t51-t45*
01649 t403;
01650 t433 = t94*t432;
01651 t434 = t212*t422;
01652 t436 = 2.0*t413-2.0*t423+2.0*t433-2.0*t434;
01653 t443 = t436*t86+t79*(t436*t84+t79*t436*t82);
01654 t448 = t69*t422;
01655 t453 = t232*t422;
01656 t456 = t69*t432;
01657 t485 = t443*t76*t90+t88*t432*t90-t102*t448+t92*(2.0*t413-2.0*t423+6.0*t433
01658 -6.0*t434)+2.0*t97*t412*t94-4.0*t107*t453+2.0*t107*t456;
01659 jacmKDRT[0][12] = t111*(t443*t60*t90+t88*t412*t90-t89*t448+2.0*t92*t412*t94
01660 -4.0*t93*t453+2.0*t93*t456+t97*(6.0*t413-6.0*t423+2.0*t433-2.0*t434))+t115*t485
01661 ;
01662 jacmKDRT[1][12] = t119*t485;
01663 t491 = t69*t82;
01664 t496 = 2.0*t137*t86+t79*(2.0*t137*t84+2.0*t79*t60*t491);
01665 t499 = t88*t90;
01666 t501 = t92*t69*t76;
01667 t503 = t107*t69;
01668 t510 = 2.0*t93*t69;
01669 t513 = 2.0*t97*t69*t76;
01670 t514 = t496*t76*t90+t510+t513;
01671 jacmKDRT[0][13] = t111*(t496*t60*t90+t499+2.0*t501+6.0*t503)+t115*t514;
01672 jacmKDRT[1][13] = t119*t514;
01673 t523 = 2.0*t94*t86+t79*(2.0*t94*t84+2.0*t120*t491);
01674 t532 = t523*t76*t90+t499+6.0*t501+2.0*t503;
01675 jacmKDRT[0][14] = t111*(t523*t60*t90+t510+t513)+t115*t532;
01676 jacmKDRT[1][14] = t119*t532;
01677 t535 = -2.0*t191-2.0*t212;
01678 t542 = t535*t86+t79*(t535*t84+t79*t535*t82);
01679 t563 = t542*t76*t90-t102*t69+t92*(-2.0*t191-6.0*t212)-4.0*t107*t232;
01680 jacmKDRT[0][15] = t111*(t542*t60*t90-t89*t69-4.0*t93*t232+t97*(-6.0*t191
01681 -2.0*t212))+t115*t563;
01682 jacmKDRT[1][15] = t119*t563;
01683 t565 = t35*t35;
01684 t566 = t41*t41;
01685 t568 = t57*t57;
01686 t569 = t565+t566+t31*t51-t568;
01687 t570 = t137*t569;
01688 t571 = t35*t51;
01689 t572 = t41*t57;
01690 t575 = t571+2.0*t572-t31*t35;
01691 t576 = t191*t575;
01692 t577 = t35*t57;
01693 t580 = t41*t51;
01694 t581 = 2.0*t577+t41*t31-t580;
01695 t582 = t94*t581;
01696 t583 = t212*t575;
01697 t585 = 2.0*t570-2.0*t576+2.0*t582-2.0*t583;
01698 t592 = t585*t86+t79*(t84*t585+t79*t585*t82);
01699 t597 = t69*t575;
01700 t602 = t232*t575;
01701 t605 = t69*t581;
01702 t634 = t592*t76*t90+t88*t581*t90-t102*t597+t92*(2.0*t570-2.0*t576+6.0*t582
01703 -6.0*t583)+2.0*t97*t569*t94-4.0*t107*t602+2.0*t107*t605;
01704 jacmS[0][0] = t111*(t592*t60*t90+t88*t569*t90-t89*t597+2.0*t92*t569*t94-4.0
01705 *t93*t602+2.0*t93*t605+t97*(6.0*t570-6.0*t576+2.0*t582-2.0*t583))+t115*t634;
01706 jacmS[1][0] = t119*t634;
01707 t638 = t577+2.0*t580-t17*t57;
01708 t639 = t137*t638;
01709 t640 = t57*t51;
01710 t643 = t41*t35;
01711 t644 = 2.0*t640+t41*t17-t643;
01712 t645 = t191*t644;
01713 t647 = t51*t51;
01714 t648 = t568+t566+t17*t35-t647;
01715 t649 = t94*t648;
01716 t650 = t212*t644;
01717 t652 = 2.0*t639-2.0*t645+2.0*t649-2.0*t650;
01718 t659 = t652*t86+t79*(t652*t84+t79*t652*t82);
01719 t664 = t69*t644;
01720 t669 = t232*t644;
01721 t672 = t69*t648;
01722 t701 = t659*t76*t90+t88*t648*t90-t102*t664+t92*(2.0*t639-2.0*t645+6.0*t649
01723 -6.0*t650)+2.0*t97*t638*t94-4.0*t107*t669+2.0*t107*t672;
01724 jacmS[0][1] = t111*(t659*t60*t90+t88*t638*t90-t89*t664+2.0*t92*t638*t94-4.0
01725 *t93*t669+2.0*t93*t672+t97*(6.0*t639-6.0*t645+2.0*t649-2.0*t650))+t115*t701;
01726 jacmS[1][1] = t119*t701;
01727 t705 = 2.0*t571+t41*t24-t572;
01728 t706 = t137*t705;
01729 t708 = t647+t566+t57*t24-t565;
01730 t709 = t191*t708;
01731 t712 = t640+2.0*t643-t24*t51;
01732 t713 = t94*t712;
01733 t714 = t212*t708;
01734 t716 = 2.0*t706-2.0*t709+2.0*t713-2.0*t714;
01735 t723 = t716*t86+t79*(t716*t84+t79*t716*t82);
01736 t728 = t69*t708;
01737 t733 = t232*t708;
01738 t736 = t69*t712;
01739 t765 = t723*t76*t90+t88*t712*t90-t102*t728+t92*(2.0*t706-2.0*t709+6.0*t713
01740 -6.0*t714)+2.0*t97*t705*t94-4.0*t107*t733+2.0*t107*t736;
01741 jacmS[0][2] = t111*(t723*t60*t90+t88*t705*t90-t89*t728+2.0*t92*t705*t94-4.0
01742 *t93*t733+2.0*t93*t736+t97*(6.0*t706-6.0*t709+2.0*t713-2.0*t714))+t115*t765;
01743 jacmS[1][2] = t119*t765;
01744 return;
01745 }
01746 }
01747
01748 #include <math.h>
01749 void calcDistImgProjJacKDRT(double a[5],double kc[5],double qr0[4],double v[3],
01750 double t[3],double M[3],double jacmKDRT[2][16])
01751 {
01752 double t1;
01753 double t101;
01754 double t102;
01755 double t105;
01756 double t107;
01757 double t11;
01758 double t110;
01759 double t111;
01760 double t113;
01761 double t115;
01762 double t117;
01763 double t119;
01764 double t120;
01765 double t122;
01766 double t13;
01767 double t137;
01768 double t140;
01769 double t147;
01770 double t148;
01771 double t15;
01772 double t150;
01773 double t152;
01774 double t154;
01775 double t156;
01776 double t158;
01777 double t160;
01778 double t162;
01779 double t164;
01780 double t166;
01781 double t17;
01782 double t171;
01783 double t176;
01784 double t178;
01785 double t18;
01786 double t183;
01787 double t185;
01788 double t187;
01789 double t188;
01790 double t190;
01791 double t191;
01792 double t2;
01793 double t200;
01794 double t201;
01795 double t210;
01796 double t211;
01797 double t212;
01798 double t213;
01799 double t215;
01800 double t222;
01801 double t227;
01802 double t232;
01803 double t233;
01804 double t236;
01805 double t24;
01806 double t25;
01807 double t265;
01808 double t268;
01809 double t271;
01810 double t274;
01811 double t276;
01812 double t278;
01813 double t281;
01814 double t286;
01815 double t291;
01816 double t293;
01817 double t298;
01818 double t3;
01819 double t300;
01820 double t302;
01821 double t303;
01822 double t31;
01823 double t312;
01824 double t313;
01825 double t32;
01826 double t322;
01827 double t323;
01828 double t324;
01829 double t326;
01830 double t333;
01831 double t338;
01832 double t34;
01833 double t343;
01834 double t346;
01835 double t35;
01836 double t375;
01837 double t378;
01838 double t381;
01839 double t384;
01840 double t386;
01841 double t388;
01842 double t391;
01843 double t396;
01844 double t4;
01845 double t401;
01846 double t403;
01847 double t408;
01848 double t41;
01849 double t410;
01850 double t412;
01851 double t413;
01852 double t422;
01853 double t423;
01854 double t432;
01855 double t433;
01856 double t434;
01857 double t436;
01858 double t443;
01859 double t448;
01860 double t45;
01861 double t453;
01862 double t456;
01863 double t485;
01864 double t491;
01865 double t496;
01866 double t499;
01867 double t5;
01868 double t50;
01869 double t501;
01870 double t503;
01871 double t51;
01872 double t510;
01873 double t513;
01874 double t514;
01875 double t523;
01876 double t532;
01877 double t535;
01878 double t542;
01879 double t56;
01880 double t563;
01881 double t57;
01882 double t6;
01883 double t60;
01884 double t61;
01885 double t67;
01886 double t68;
01887 double t69;
01888 double t70;
01889 double t76;
01890 double t77;
01891 double t78;
01892 double t79;
01893 double t8;
01894 double t82;
01895 double t84;
01896 double t86;
01897 double t88;
01898 double t89;
01899 double t9;
01900 double t90;
01901 double t92;
01902 double t93;
01903 double t94;
01904 double t97;
01905 double t99;
01906 {
01907 t1 = v[0];
01908 t2 = t1*t1;
01909 t3 = v[1];
01910 t4 = t3*t3;
01911 t5 = v[2];
01912 t6 = t5*t5;
01913 t8 = sqrt(1.0-t2-t4-t6);
01914 t9 = qr0[1];
01915 t11 = qr0[0];
01916 t13 = qr0[3];
01917 t15 = qr0[2];
01918 t17 = t9*t8+t11*t1+t13*t3-t5*t15;
01919 t18 = M[0];
01920 t24 = t8*t15+t11*t3+t5*t9-t1*t13;
01921 t25 = M[1];
01922 t31 = t8*t13+t5*t11+t1*t15-t3*t9;
01923 t32 = M[2];
01924 t34 = -t17*t18-t24*t25-t31*t32;
01925 t35 = -t17;
01926 t41 = t8*t11-t1*t9-t3*t15-t5*t13;
01927 t45 = t41*t18+t24*t32-t31*t25;
01928 t50 = t41*t25+t31*t18-t32*t17;
01929 t51 = -t31;
01930 t56 = t41*t32+t17*t25-t24*t18;
01931 t57 = -t24;
01932 t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
01933 t61 = t60*t60;
01934 t67 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
01935 t68 = t67*t67;
01936 t69 = 1/t68;
01937 t70 = t61*t69;
01938 t76 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
01939 t77 = t76*t76;
01940 t78 = t77*t69;
01941 t79 = t70+t78;
01942 t82 = kc[4];
01943 t84 = kc[1]+t79*t82;
01944 t86 = kc[0]+t79*t84;
01945 t88 = 1.0+t79*t86;
01946 t89 = t88*t60;
01947 t90 = 1/t67;
01948 t92 = kc[2];
01949 t93 = t92*t60;
01950 t94 = t69*t76;
01951 t97 = kc[3];
01952 t99 = 3.0*t70+t78;
01953 jacmKDRT[0][0] = t89*t90+2.0*t93*t94+t97*t99;
01954 t101 = a[3];
01955 t102 = t88*t76;
01956 t105 = t70+3.0*t78;
01957 t107 = t97*t60;
01958 t110 = t102*t90+t92*t105+2.0*t107*t94;
01959 jacmKDRT[1][0] = t101*t110;
01960 jacmKDRT[0][1] = 1.0;
01961 jacmKDRT[1][1] = 0.0;
01962 jacmKDRT[0][2] = 0.0;
01963 jacmKDRT[1][2] = 1.0;
01964 jacmKDRT[0][3] = 0.0;
01965 t111 = a[0];
01966 jacmKDRT[1][3] = t110*t111;
01967 jacmKDRT[0][4] = t110;
01968 jacmKDRT[1][4] = 0.0;
01969 t113 = t60*t90;
01970 t115 = a[4];
01971 t117 = t76*t90;
01972 jacmKDRT[0][5] = t111*t79*t113+t115*t79*t117;
01973 t119 = t111*t101;
01974 t120 = t79*t76;
01975 jacmKDRT[1][5] = t119*t120*t90;
01976 t122 = t79*t79;
01977 jacmKDRT[0][6] = t111*t122*t113+t115*t122*t117;
01978 jacmKDRT[1][6] = t119*t122*t76*t90;
01979 jacmKDRT[0][7] = 2.0*t111*t60*t94+t115*t105;
01980 jacmKDRT[1][7] = t119*t105;
01981 jacmKDRT[0][8] = t111*t99+2.0*t115*t60*t94;
01982 t137 = t60*t69;
01983 jacmKDRT[1][8] = 2.0*t119*t137*t76;
01984 t140 = t122*t79;
01985 jacmKDRT[0][9] = t111*t140*t113+t115*t140*t117;
01986 jacmKDRT[1][9] = t119*t140*t76*t90;
01987 t147 = 1/t8;
01988 t148 = t147*t9;
01989 t150 = -t148*t1+t11;
01990 t152 = t147*t15;
01991 t154 = -t152*t1-t13;
01992 t156 = t13*t147;
01993 t158 = -t156*t1+t15;
01994 t160 = -t150*t18-t154*t25-t158*t32;
01995 t162 = -t150;
01996 t164 = t147*t11;
01997 t166 = -t164*t1-t9;
01998 t171 = t166*t18+t154*t32-t158*t25;
01999 t176 = t166*t25+t158*t18-t150*t32;
02000 t178 = -t158;
02001 t183 = t32*t166+t150*t25-t154*t18;
02002 t185 = -t154;
02003 t187 = t160*t35+t34*t162+t166*t45+t41*t171+t176*t51+t50*t178-t183*t57-t56*
02004 t185;
02005 t188 = t137*t187;
02006 t190 = 1/t68/t67;
02007 t191 = t61*t190;
02008 t200 = t160*t51+t34*t178+t166*t56+t41*t183+t171*t57+t45*t185-t176*t35-t50*
02009 t162;
02010 t201 = t191*t200;
02011 t210 = t160*t57+t34*t185+t166*t50+t41*t176+t183*t35+t56*t162-t171*t51-t45*
02012 t178;
02013 t211 = t94*t210;
02014 t212 = t77*t190;
02015 t213 = t212*t200;
02016 t215 = 2.0*t188-2.0*t201+2.0*t211-2.0*t213;
02017 t222 = t215*t86+t79*(t215*t84+t79*t215*t82);
02018 t227 = t69*t200;
02019 t232 = t190*t76;
02020 t233 = t232*t200;
02021 t236 = t69*t210;
02022 t265 = t222*t76*t90+t88*t210*t90-t102*t227+t92*(2.0*t188-2.0*t201+6.0*t211
02023 -6.0*t213)+2.0*t97*t187*t94-4.0*t107*t233+2.0*t107*t236;
02024 jacmKDRT[0][10] = t111*(t222*t60*t90+t88*t187*t90-t89*t227+2.0*t92*t187*t94
02025 -4.0*t93*t233+2.0*t93*t236+t97*(6.0*t188-6.0*t201+2.0*t211-2.0*t213))+t115*t265
02026 ;
02027 jacmKDRT[1][10] = t119*t265;
02028 t268 = -t148*t3+t13;
02029 t271 = -t152*t3+t11;
02030 t274 = -t156*t3-t9;
02031 t276 = -t268*t18-t271*t25-t274*t32;
02032 t278 = -t268;
02033 t281 = -t164*t3-t15;
02034 t286 = t281*t18+t271*t32-t274*t25;
02035 t291 = t281*t25+t274*t18-t32*t268;
02036 t293 = -t274;
02037 t298 = t281*t32+t268*t25-t271*t18;
02038 t300 = -t271;
02039 t302 = t276*t35+t34*t278+t281*t45+t41*t286+t291*t51+t50*t293-t298*t57-t56*
02040 t300;
02041 t303 = t137*t302;
02042 t312 = t276*t51+t34*t293+t281*t56+t41*t298+t286*t57+t45*t300-t291*t35-t50*
02043 t278;
02044 t313 = t191*t312;
02045 t322 = t276*t57+t34*t300+t281*t50+t41*t291+t298*t35+t56*t278-t286*t51-t45*
02046 t293;
02047 t323 = t94*t322;
02048 t324 = t212*t312;
02049 t326 = 2.0*t303-2.0*t313+2.0*t323-2.0*t324;
02050 t333 = t326*t86+t79*(t326*t84+t79*t326*t82);
02051 t338 = t69*t312;
02052 t343 = t312*t232;
02053 t346 = t69*t322;
02054 t375 = t333*t76*t90+t88*t322*t90-t338*t102+t92*(2.0*t303-2.0*t313+6.0*t323
02055 -6.0*t324)+2.0*t97*t302*t94-4.0*t107*t343+2.0*t346*t107;
02056 jacmKDRT[0][11] = t111*(t333*t60*t90+t88*t302*t90-t89*t338+2.0*t92*t302*t94
02057 -4.0*t93*t343+2.0*t93*t346+t97*(6.0*t303-6.0*t313+2.0*t323-2.0*t324))+t115*t375
02058 ;
02059 jacmKDRT[1][11] = t119*t375;
02060 t378 = -t148*t5-t15;
02061 t381 = -t152*t5+t9;
02062 t384 = -t156*t5+t11;
02063 t386 = -t378*t18-t25*t381-t384*t32;
02064 t388 = -t378;
02065 t391 = -t164*t5-t13;
02066 t396 = t391*t18+t381*t32-t384*t25;
02067 t401 = t25*t391+t384*t18-t378*t32;
02068 t403 = -t384;
02069 t408 = t391*t32+t378*t25-t381*t18;
02070 t410 = -t381;
02071 t412 = t35*t386+t388*t34+t391*t45+t41*t396+t401*t51+t50*t403-t408*t57-t56*
02072 t410;
02073 t413 = t137*t412;
02074 t422 = t386*t51+t34*t403+t56*t391+t41*t408+t396*t57+t45*t410-t401*t35-t50*
02075 t388;
02076 t423 = t191*t422;
02077 t432 = t386*t57+t34*t410+t391*t50+t41*t401+t408*t35+t56*t388-t396*t51-t45*
02078 t403;
02079 t433 = t94*t432;
02080 t434 = t212*t422;
02081 t436 = 2.0*t413-2.0*t423+2.0*t433-2.0*t434;
02082 t443 = t436*t86+t79*(t436*t84+t79*t436*t82);
02083 t448 = t69*t422;
02084 t453 = t232*t422;
02085 t456 = t69*t432;
02086 t485 = t443*t76*t90+t88*t432*t90-t102*t448+t92*(2.0*t413-2.0*t423+6.0*t433
02087 -6.0*t434)+2.0*t97*t412*t94-4.0*t107*t453+2.0*t107*t456;
02088 jacmKDRT[0][12] = t111*(t443*t60*t90+t88*t412*t90-t89*t448+2.0*t92*t412*t94
02089 -4.0*t93*t453+2.0*t93*t456+t97*(6.0*t413-6.0*t423+2.0*t433-2.0*t434))+t115*t485
02090 ;
02091 jacmKDRT[1][12] = t119*t485;
02092 t491 = t69*t82;
02093 t496 = 2.0*t137*t86+t79*(2.0*t137*t84+2.0*t79*t60*t491);
02094 t499 = t88*t90;
02095 t501 = t92*t69*t76;
02096 t503 = t107*t69;
02097 t510 = 2.0*t93*t69;
02098 t513 = 2.0*t97*t69*t76;
02099 t514 = t496*t76*t90+t510+t513;
02100 jacmKDRT[0][13] = t111*(t496*t60*t90+t499+2.0*t501+6.0*t503)+t115*t514;
02101 jacmKDRT[1][13] = t119*t514;
02102 t523 = 2.0*t94*t86+t79*(2.0*t94*t84+2.0*t120*t491);
02103 t532 = t523*t76*t90+t499+6.0*t501+2.0*t503;
02104 jacmKDRT[0][14] = t111*(t523*t60*t90+t510+t513)+t115*t532;
02105 jacmKDRT[1][14] = t119*t532;
02106 t535 = -2.0*t191-2.0*t212;
02107 t542 = t535*t86+t79*(t535*t84+t79*t535*t82);
02108 t563 = t542*t76*t90-t102*t69+t92*(-2.0*t191-6.0*t212)-4.0*t107*t232;
02109 jacmKDRT[0][15] = t111*(t542*t60*t90-t89*t69-4.0*t93*t232+t97*(-6.0*t191
02110 -2.0*t212))+t115*t563;
02111 jacmKDRT[1][15] = t119*t563;
02112 return;
02113 }
02114 }
02115
02116 #include <math.h>
02117 void calcDistImgProjJacS(double a[5],double kc[5],double qr0[4],double v[3],
02118 double t[3],double M[3],double jacmS[2][3])
02119 {
02120 double t1;
02121 double t10;
02122 double t100;
02123 double t101;
02124 double t102;
02125 double t104;
02126 double t108;
02127 double t110;
02128 double t112;
02129 double t114;
02130 double t12;
02131 double t121;
02132 double t123;
02133 double t126;
02134 double t129;
02135 double t130;
02136 double t132;
02137 double t136;
02138 double t137;
02139 double t138;
02140 double t14;
02141 double t141;
02142 double t144;
02143 double t153;
02144 double t158;
02145 double t16;
02146 double t169;
02147 double t174;
02148 double t177;
02149 double t18;
02150 double t180;
02151 double t181;
02152 double t182;
02153 double t185;
02154 double t186;
02155 double t187;
02156 double t189;
02157 double t19;
02158 double t190;
02159 double t191;
02160 double t192;
02161 double t194;
02162 double t2;
02163 double t201;
02164 double t206;
02165 double t211;
02166 double t214;
02167 double t243;
02168 double t247;
02169 double t248;
02170 double t25;
02171 double t250;
02172 double t251;
02173 double t254;
02174 double t255;
02175 double t256;
02176 double t258;
02177 double t26;
02178 double t265;
02179 double t270;
02180 double t275;
02181 double t278;
02182 double t3;
02183 double t307;
02184 double t32;
02185 double t33;
02186 double t35;
02187 double t36;
02188 double t4;
02189 double t42;
02190 double t46;
02191 double t5;
02192 double t51;
02193 double t52;
02194 double t57;
02195 double t58;
02196 double t6;
02197 double t61;
02198 double t67;
02199 double t68;
02200 double t69;
02201 double t7;
02202 double t70;
02203 double t71;
02204 double t72;
02205 double t74;
02206 double t75;
02207 double t76;
02208 double t77;
02209 double t79;
02210 double t80;
02211 double t81;
02212 double t82;
02213 double t85;
02214 double t86;
02215 double t9;
02216 double t92;
02217 double t93;
02218 double t94;
02219 double t97;
02220 double t98;
02221 double t99;
02222 {
02223 t1 = a[0];
02224 t2 = v[0];
02225 t3 = t2*t2;
02226 t4 = v[1];
02227 t5 = t4*t4;
02228 t6 = v[2];
02229 t7 = t6*t6;
02230 t9 = sqrt(1.0-t3-t5-t7);
02231 t10 = qr0[1];
02232 t12 = qr0[0];
02233 t14 = qr0[3];
02234 t16 = qr0[2];
02235 t18 = t9*t10+t12*t2+t4*t14-t6*t16;
02236 t19 = M[0];
02237 t25 = t9*t16+t12*t4+t10*t6-t2*t14;
02238 t26 = M[1];
02239 t32 = t9*t14+t12*t6+t2*t16-t4*t10;
02240 t33 = M[2];
02241 t35 = -t18*t19-t25*t26-t32*t33;
02242 t36 = -t18;
02243 t42 = t9*t12-t2*t10-t4*t16-t6*t14;
02244 t46 = t42*t19+t25*t33-t32*t26;
02245 t51 = t42*t26+t32*t19-t18*t33;
02246 t52 = -t32;
02247 t57 = t42*t33+t26*t18-t25*t19;
02248 t58 = -t25;
02249 t61 = t35*t36+t42*t46+t51*t52-t57*t58+t[0];
02250 t67 = t35*t52+t42*t57+t46*t58-t51*t36+t[2];
02251 t68 = t67*t67;
02252 t69 = 1/t68;
02253 t70 = t61*t69;
02254 t71 = t36*t36;
02255 t72 = t42*t42;
02256 t74 = t58*t58;
02257 t75 = t71+t72+t32*t52-t74;
02258 t76 = t70*t75;
02259 t77 = t61*t61;
02260 t79 = 1/t68/t67;
02261 t80 = t79*t77;
02262 t81 = t36*t52;
02263 t82 = t58*t42;
02264 t85 = t81+2.0*t82-t32*t36;
02265 t86 = t80*t85;
02266 t92 = t35*t58+t51*t42+t57*t36-t46*t52+t[1];
02267 t93 = t92*t69;
02268 t94 = t36*t58;
02269 t97 = t42*t52;
02270 t98 = 2.0*t94+t42*t32-t97;
02271 t99 = t93*t98;
02272 t100 = t92*t92;
02273 t101 = t100*t79;
02274 t102 = t101*t85;
02275 t104 = 2.0*t76-2.0*t86+2.0*t99-2.0*t102;
02276 t108 = t77*t69+t69*t100;
02277 t110 = kc[4];
02278 t112 = kc[1]+t108*t110;
02279 t114 = kc[0]+t112*t108;
02280 t121 = t104*t114+t108*(t112*t104+t108*t104*t110);
02281 t123 = 1/t67;
02282 t126 = 1.0+t108*t114;
02283 t129 = t126*t61;
02284 t130 = t69*t85;
02285 t132 = kc[2];
02286 t136 = t132*t61;
02287 t137 = t79*t92;
02288 t138 = t137*t85;
02289 t141 = t69*t98;
02290 t144 = kc[3];
02291 t153 = a[4];
02292 t158 = t126*t92;
02293 t169 = t144*t61;
02294 t174 = t121*t92*t123+t126*t98*t123-t158*t130+t132*(2.0*t76-2.0*t86+6.0*t99
02295 -6.0*t102)+2.0*t144*t75*t93-4.0*t138*t169+2.0*t141*t169;
02296 jacmS[0][0] = t1*(t121*t61*t123+t126*t75*t123-t129*t130+2.0*t132*t75*t93
02297 -4.0*t136*t138+2.0*t136*t141+t144*(6.0*t76-6.0*t86+2.0*t99-2.0*t102))+t153*t174
02298 ;
02299 t177 = t1*a[3];
02300 jacmS[1][0] = t177*t174;
02301 t180 = t94+2.0*t97-t58*t18;
02302 t181 = t70*t180;
02303 t182 = t52*t58;
02304 t185 = t36*t42;
02305 t186 = 2.0*t182+t42*t18-t185;
02306 t187 = t80*t186;
02307 t189 = t52*t52;
02308 t190 = t74+t72+t36*t18-t189;
02309 t191 = t93*t190;
02310 t192 = t101*t186;
02311 t194 = 2.0*t181-2.0*t187+2.0*t191-2.0*t192;
02312 t201 = t114*t194+t108*(t112*t194+t108*t194*t110);
02313 t206 = t69*t186;
02314 t211 = t137*t186;
02315 t214 = t69*t190;
02316 t243 = t201*t92*t123+t126*t190*t123-t158*t206+t132*(2.0*t181-2.0*t187+6.0*
02317 t191-6.0*t192)+2.0*t144*t180*t93-4.0*t211*t169+2.0*t169*t214;
02318 jacmS[0][1] = t1*(t201*t61*t123+t126*t180*t123-t129*t206+2.0*t132*t180*t93
02319 -4.0*t136*t211+2.0*t136*t214+t144*(6.0*t181-6.0*t187+2.0*t191-2.0*t192))+t153*
02320 t243;
02321 jacmS[1][1] = t177*t243;
02322 t247 = 2.0*t81+t42*t25-t82;
02323 t248 = t70*t247;
02324 t250 = t189+t72+t25*t58-t71;
02325 t251 = t80*t250;
02326 t254 = t182+2.0*t185-t25*t52;
02327 t255 = t93*t254;
02328 t256 = t101*t250;
02329 t258 = 2.0*t248-2.0*t251+2.0*t255-2.0*t256;
02330 t265 = t258*t114+t108*(t258*t112+t108*t258*t110);
02331 t270 = t250*t69;
02332 t275 = t137*t250;
02333 t278 = t254*t69;
02334 t307 = t265*t92*t123+t126*t254*t123-t270*t158+t132*(2.0*t248-2.0*t251+6.0*
02335 t255-6.0*t256)+2.0*t144*t247*t93-4.0*t169*t275+2.0*t169*t278;
02336 jacmS[0][2] = t1*(t265*t61*t123+t126*t247*t123-t129*t270+2.0*t132*t247*t93
02337 -4.0*t136*t275+2.0*t136*t278+t144*(6.0*t248-6.0*t251+2.0*t255-2.0*t256))+t153*
02338 t307;
02339 jacmS[1][2] = t307*t177;
02340 return;
02341 }
02342 }
02343