Functions | |
tecna1_z (2) | |
tecna2_z (1) | |
tecna2_z (2) | |
bod1_z (1))*sinAlpha+(bod1_z(2))*cosAlpha] | |
bod2_z (1))*sinAlpha+(bod2_z(2))*cosAlpha] | |
tecna1_z (1))*sinAlpha+(tecna1_z(2))*cosAlpha] | |
vypocet koeficientu &optimalizace potrebujeme spravnou krivost cur2 a spravny smer vjezdu do koncoveho bodu | while (1) pocetCyklu |
if (smer > 0)%vybereme popis bud s vyjezdem vpred nebo vzad%vyjezd vpred vpred=0 | |
3/2 | rad2_cnt () |
pocetCyklu > pocetCykluMax-1 | smer () |
continue end | if (nenalezeno==2)%proti zacykleni break |
end | if (pocetCyklu==1) tecna2y_cnt |
kontrola smeru prijezdu | if (tecna2(2) > 0 &&tecna2y_cnt< 0)||(tecna2(2)< 0 &&tecna2y_cnt > 0)%mame spatny smer if(rad2_cnt > 0) rad2 |
end else mame dobry smer | if (rad2_cnt > 0) rad2 |
end end | chyba (pocetCyklu, 1) = rad2 - rad2_cnt |
chyba (pocetCyklu, 2) = sign(rad2) * sign(rad2_cnt) | |
if (presOpt > abs(chyba(pocetCyklu, 1))&&chyba(pocetCyklu, 2) > 0)%test break end krok = 1/rad2_cnt | |
break end | if (pocetCyklu==2 &&abs(chyba(pocetCyklu)) > abs(chyba(pocetCyklu-1)))%pokud se chyba zvetsuje%nastavit krok opacnym smerem krok |
continue end | if (sign(chyba(pocetCyklu))*sign(chyba(pocetCyklu-1))< 0)%pokud ma chyba opacnou polaritu krok |
id | sinAlpha () |
Variables | |
function | polynom |
povolena chyba optimalizace parametru cur2 | pocetCykluMax = 35 |
vypocet uhlu rotace | cosAlpha = (bod2_z(1)-bod1_z(1)) / (sqrt((bod2_z(1)-bod1_z(1))^2 + (bod2_z(2)-bod1_z(2))^2)) |
sinAlpha = (bod2_z(2)-bod1_z(2)) / (sqrt((bod2_z(1)-bod1_z(1))^2 + (bod2_z(2)-bod1_z(2))^2)) | |
angleDeg = angle(cosAlpha + i*sinAlpha) / (2*pi) * 360 | |
prepocitani rotovaneho zadani | bod1 = [(bod1_z(1))*cosAlpha-(bod1_z(2))*sinAlpha |
bod2 = [(bod2_z(1))*cosAlpha-(bod2_z(2))*sinAlpha | |
tecna1 = [(tecna1_z(1))*cosAlpha-(tecna1_z(2))*sinAlpha | |
tecna2 = [(tecna2_z(1))*cosAlpha-(tecna2_z(2))*sinAlpha | |
cur1 = cur1_z | |
cur2 = cur2_z | |
bod1x = bod1(1) | |
bod1y = bod1(2) | |
bod2x = bod2(1) | |
bod2y = bod2(2) | |
tec1 = tecna1(2)/tecna1(1) | |
tec2 = tecna2(2)/tecna2(1) | |
smer = sign(tecna1(1)) | |
Ax = -1 | |
pocatecni pokus optimalizace | pocetCyklu = 0 |
nenalezeno = 0 | |
Dx = bod1x | |
Dy = bod1y | |
Cx = 1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2) | |
Cy = tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2)) | |
Bx = bod2x-Ax-1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)-1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2)-bod1x | |
By = -tec2*Ax-2*tec2*bod2x+tec2*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))+2*tec2*bod1x+3*bod2y-2*tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))-3*bod1y | |
Ay = -2*bod2y+tec2*Ax+2*tec2*bod2x-tec2*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))-2*tec2*bod1x+tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))+2*bod1y | |
else vyjezd vzad | vzad = 0 |
rad2_cnt = 1/rad2_cnt | |
cilovy polomer finalni krivosti else | rad2 = 1/cur2 |
Kx = '(Ax*t^3+Bx*t^2+Cx*t+Dx)*cosAlpha-(Ay*t^3+By*t^2+Cy*t+Dy)*sinAlpha' | |
Ky = '(Ax*t^3+Bx*t^2+Cx*t+Dx)*sinAlpha+(Ay*t^3+By*t^2+Cy*t+Dy)*cosAlpha' | |
POZNAMKA k vypoctu zpet otocenych koeficientu lze pouzit jednoduchou rotaci souradnic jako | vzdy |
POZNAMKA k vypoctu zpet otocenych koeficientu lze pouzit jednoduchou rotaci souradnic jako ale postupne po jednotlivych koeficientech to bude nakone vystupem algoritmu | Ax_z = (Ax)*cosAlpha-(Ay)*sinAlpha |
Ay_z = (Ax)*sinAlpha+(Ay)*cosAlpha | |
Bx_z = (Bx)*cosAlpha-(By)*sinAlpha | |
By_z = (Bx)*sinAlpha+(By)*cosAlpha | |
Cx_z = (Cx)*cosAlpha-(Cy)*sinAlpha | |
Cy_z = (Cx)*sinAlpha+(Cy)*cosAlpha | |
Dx_z = (Dx)*cosAlpha-(Dy)*sinAlpha | |
Dy_z = (Dx)*sinAlpha+(Dy)*cosAlpha |
bod1_z | ( | 1 | ) |
bod2_z | ( | 1 | ) |
continue end optimalizace rad2 chyba | ( | pocetCyklu | , | |
1 | ||||
) | = rad2 - rad2_cnt |
chyba | ( | pocetCyklu | , | |
2 | ||||
) | = sign(rad2) * sign(rad2_cnt) |
break end if | ( | pocetCyklu | = =2 &&abs(chyba(pocetCyklu)) , |
|
abs(chyba(pocetCyklu-1)) | ||||
) |
if | ( | smer | , | |
0 | ||||
) | [pure virtual] |
if | ( | presOpt | , | |
abs(chyba(pocetCyklu, 1))&&chyba(pocetCyklu, 2) | , | |||
0 | ||||
) | = 1/rad2_cnt |
end else mame dobry smer if | ( | rad2_cnt | , | |
0 | ||||
) |
continue end if | ( | ) |
continue end if | ( | nenalezeno | = =2 |
) |
end if | ( | pocetCyklu | = =1 |
) |
kontrola smeru prijezdu if | ( | tecna2(2) | , | |
0 &&tecna2y_cnt< 0)||(tecna2(2)< 0 &&tecna2y_cnt > 0)%mame spatny smer if(rad2_cnt > | 0 | |||
) |
3/2 rad2_cnt | ( | ) | [virtual] |
id sinAlpha | ( | ) | [virtual] |
pocetCyklu > pocetCykluMax-1 smer | ( | ) | [virtual] |
tecna1_z | ( | 2 | ) |
tecna1_z | ( | 1 | ) |
tecna2_z | ( | 1 | ) |
tecna2_z | ( | 2 | ) |
vypocet koeficientu& optimalizace potrebujeme spravnou krivost cur2 a spravny smer vjezdu do koncoveho bodu while | ( | 1 | ) |
POZNAMKA k vypoctu zpet otocenych koeficientu lze pouzit jednoduchou rotaci souradnic jako ale postupne po jednotlivych koeficientech to bude nakone vystupem algoritmu Ax_z = (Ax)*cosAlpha-(Ay)*sinAlpha |
Ay = -2*bod2y+tec2*Ax+2*tec2*bod2x-tec2*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))-2*tec2*bod1x+tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))+2*bod1y |
prepocitani rotovaneho zadani bod1 = [(bod1_z(1))*cosAlpha-(bod1_z(2))*sinAlpha |
bod1x = bod1(1) |
bod1y = bod1(2) |
bod2 = [(bod2_z(1))*cosAlpha-(bod2_z(2))*sinAlpha |
Bx = bod2x-Ax-1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)-1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2)-bod1x |
By = -tec2*Ax-2*tec2*bod2x+tec2*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))+2*tec2*bod1x+3*bod2y-2*tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2))-3*bod1y |
cosAlpha = (bod2_z(1)-bod1_z(1)) / (sqrt((bod2_z(1)-bod1_z(1))^2 + (bod2_z(2)-bod1_z(2))^2)) |
else cur1 = cur1_z |
Cx = 1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2) |
Cy = tec1*(1/cur1*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)+1/cur1*(-(2*((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2*tec1-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec2^2-((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2)*tec1^2-6*cur1*tec2*bod2y+2*cur1*tec1^2*bod1x+2*cur1*tec1^2*Ax+6*cur1*bod2y*tec1+2*cur1*tec2*tec1*bod1x+2*cur1*tec2^2*Ax-6*cur1*tec1*bod1y+4*cur1*tec2^2*bod2x-4*cur1*tec2^2*bod1x+6*cur1*tec2*bod1y-2*cur1*tec1^2*bod2x-4*cur1*tec2*Ax*tec1-2*cur1*tec2*bod2x*tec1)/(3*tec1^2+3*tec1^4+1+tec1^6)/((-2*tec2*tec1+tec2^2+tec1^2)/(3*tec1^2+3*tec1^4+1+tec1^6))^(1/2))^(1/2)) |
Dx = bod1x |
Dy = bod1y |
nenalezeno = 0 |
pocetCyklu = 0 |
povolena chyba optimalizace parametru cur2 pocetCykluMax = 35 |
navrat polynomu polynom |
rad2_cnt = 1/rad2_cnt |
sinAlpha = (bod2_z(2)-bod1_z(2)) / (sqrt((bod2_z(1)-bod1_z(1))^2 + (bod2_z(2)-bod1_z(2))^2)) |
smer = sign(tecna1(1)) |
tecna1 = [(tecna1_z(1))*cosAlpha-(tecna1_z(2))*sinAlpha |
tecna2 = [(tecna2_z(1))*cosAlpha-(tecna2_z(2))*sinAlpha |