Functions | Variables

nahrada_useku.m File Reference

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

Function Documentation

bod1_z (  ) 
bod2_z (  ) 
continue end optimalizace rad2 chyba ( pocetCyklu  ,
 
) = rad2 - rad2_cnt
chyba ( pocetCyklu  ,
 
) = sign(rad2) * sign(rad2_cnt)
break end if ( pocetCyklu  = =2 &&abs(chyba(pocetCyklu)),
abs(chyba(pocetCyklu-1))   
)
if ( smer  ,
 
) [pure virtual]
if ( presOpt  ,
abs(chyba(pocetCyklu, 1))&&chyba(pocetCyklu, 2)  ,
 
) = 1/rad2_cnt
end else mame dobry smer if ( rad2_cnt  ,
 
)
continue end if (  ) 

Here is the caller graph for this function:

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 (  ) 
tecna1_z (  ) 
tecna2_z (  ) 
tecna2_z (  ) 
vypocet koeficientu& optimalizace potrebujeme spravnou krivost cur2 a spravny smer vjezdu do koncoveho bodu while (  ) 

Variable Documentation

angleDeg = angle(cosAlpha + i*sinAlpha) / (2*pi) * 360
end Ax = -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
Ay_z = (Ax)*sinAlpha+(Ay)*cosAlpha
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
bod2x = bod2(1)
bod2y = bod2(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
Bx_z = (Bx)*cosAlpha-(By)*sinAlpha
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
By_z = (Bx)*sinAlpha+(By)*cosAlpha
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
end cur2 = cur2_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)
Cx_z = (Cx)*cosAlpha-(Cy)*sinAlpha
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))
Cy_z = (Cx)*sinAlpha+(Cy)*cosAlpha
Dx = bod1x
Dx_z = (Dx)*cosAlpha-(Dy)*sinAlpha
Dy = bod1y
Dy_z = (Dx)*sinAlpha+(Dy)*cosAlpha
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'
povolena chyba optimalizace parametru cur2 pocetCykluMax = 35
navrat polynomu polynom
Initial value:
nahrada_useku(bod1_z, bod2_z, tecna1_z, tecna2_z, cur1_z, cur2_z)


presOpt = 0.05
cilovy polomer finalni krivosti else rad2 = 1/cur2
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))
tec1 = tecna1(2)/tecna1(1)
tec2 = tecna2(2)/tecna2(1)
tecna1 = [(tecna1_z(1))*cosAlpha-(tecna1_z(2))*sinAlpha
tecna2 = [(tecna2_z(1))*cosAlpha-(tecna2_z(2))*sinAlpha
else vyjezd vzad vzad = 0
POZNAMKA k vypoctu zpet otocenych koeficientu lze pouzit jednoduchou rotaci souradnic jako vzdy