tsutsuji.solver module

class tsutsuji.solver.IF(A, B, C, phiA, phiB, phiC, lenTC1, lenTC2, lenTC3, lenTC4, lenCC, lenLint, R_input, R2_input, tranfunc, fitmode, curve_fitmode_box, cursor_obj, cursor_f_name, cursor_t_name, cursor_via_name)[source]

Bases: object

gen_paramstr_mode1_2()[source]
gen_paramstr_mode3()[source]
gen_paramstr_mode4_5()[source]
gen_paramstr_mode6_7()[source]
gen_paramstr_mode8(withCpos=True, endpos=True, givenR=False, givenR2=False, givenLint=True)[source]
gen_paramstr_mode9(givenR=False, givenR2=False)[source]
generate_mapsyntax()[source]
generate_mapsyntax_compoundcurve()[source]
generate_mapsyntax_reversecurve(initial_shift=None)[source]
mode1()[source]
mode10()[source]
mode11()[source]
mode11_13()[source]
mode12()[source]

mode 9-2 + L_intermediate

mode13()[source]

mode 9-3 + L_intermediate

mode2()[source]
mode3()[source]
mode4_5(assigncursor)[source]
mode6()[source]
mode7()[source]
mode8(withCpos=True)[source]
mode9(givenR1=False)[source]
mode9_12(givenR1=False)[source]
class tsutsuji.solver.solver[source]

Bases: object

compound_curve(A, phiA, B, phiB, C, phiC, lenTC1, lenTC2, lenTC3, tranfunc, dl=0.1, error=0.01, num_max=50, givenR1=None)[source]

[A]-TC-CC-[C]-CC-TC-CC-TC-[B] based on mode1

compound_curve_Linterm(A, phiA, B, phiB, C, phiC, lenTC1, lenTC2, lenTC3, lenTC4, lenLint, tranfunc, dl=0.1, error=0.01, num_max=50, givenR1=None)[source]

[A]-TC-CC-TC-S-TC-CC-TC-[B] based on mode1

compound_curve_givenR(A, phiA, B, phiB, lenTC1, lenTC2, lenTC3, R1, R2, tranfunc, dphi=0.001, error=0.01, num_max=50)[source]
compound_curve_givenR_Lint(A, phiA, B, phiB, lenTC1, lenTC2, lenTC3, lenTC4, lenLint, R1, R2, tranfunc, dphi=0.001, error=0.01, num_max=50)[source]
compound_curve_shiftStartPos(A, phiA, B, phiB, C, phiC, lenTC1, lenTC2, lenTC3, tranfunc, dl=0.1, error=0.01, num_max=50, givenR1=None)[source]

[A]-TC-CC-[C]-CC-TC-CC-TC-[B] based on mode2

curvetrack_fit(A, phiA, B, phiB, lenTC1, lenTC2, tranfunc, Rtmp=1000, dr=0.1, error=0.01, R0=0)[source]

AB間を結ぶ曲線軌道の半径を返す A: 始点座標 phiA: 始点での軌道方位 B: 終点座標 phiB: 終点での軌道方位 lenTC1: 始点側の緩和曲線長さ lenTC2: 終点側の緩和曲線長さ tranfunc: 逓減関数 'line' or 'sin' Rtmp: 曲線半径初期値 dr: 残差の微分で使う error: 許容誤差

R0: 始点での軌道半径(複合曲線の緩和曲線を求める際に使用, default: 0)

curvetrack_relocation(A, phiA, B, phiB, lenTC1, lenTC2, tranfunc, R, dx=0.1, error=0.01)[source]

A,Bを通る直線を結ぶ曲線軌道の始点を返す A: 始点座標 phiA: 始点での軌道方位 B: 終点座標 phiB: 終点での軌道方位 lenTC1: 始点側の緩和曲線長さ lenTC2: 終点側の緩和曲線長さ tranfunc: 逓減関数 'line' or 'sin' R: 曲線半径 dx: 残差の微分で使う error: 許容誤差

reverse_curve(A, phiA, B, phiB, lenTC11, lenTC12, lenTC21, lenTC22, tranfunc, len_interm=0, C=None, R1=None, R2=None, lenCC1=None, lenCC2=None)[source]

[A]-TC-CC-TC-[C]-S-TC-CC-TC-[B]

shift_by_TCL(A, phiA, B, phiB, C, tranfunc, TCLtmp=0, dl=0.1, error=0.001)[source]

AB間を結び、Cに最も近い点を通過する曲線軌道の半径、TCL, CCLを返す。 始点: A、終点: Bの延長線上となる曲線軌道について、点Cとの距離が最小となるR, TCLをニュートン法で求める。 A: 始点座標 phiA: 始点での軌道方位 B: 終点座標 phiB: 終点での軌道方位 C: 経由点 tranfunc: 逓減関数 'line' or 'sin' TCLtmp: 緩和曲線長の初期値 dl: 残差の微分で使う error: 許容誤差

temporal_trackparam(Rtmp, lenTC1, lenTC2, A, B, phiA, phiB, tranfunc, R0=0)[source]