traffic op• 資料種類:points × points × points → any
• 呼叫: import fullseye as fs; fs.ledger.social_force_step(pos, vel, goals, *, dt: 'float', v0, tau: 'float', A: 'float', B: 'float', radius, walls=None)(要直接呼叫實作,import drivetraffic; drivetraffic.social_force_step(pos, vel, goals, *, dt: 'float', v0, tau: 'float', A: 'float', B: 'float', radius, walls=None);從台帳取用則 opsdrive.get("social_force_step"))
> 該運算子的說明尚無譯文,以下照原文給出。
social force の 1 歩(単位質量あたり。Helbing & Molnár 1995 / Helbing, Farkas, Vicsek 2000 の形)。
dv_i/dt = (v0_i e_i − v_i)/τ + Σ_j A exp((r_ij − d_ij)/B) n_ij + Σ_W A exp((r_i − d_iW)/B) n_iW
e_i = 目標への単位ベクトル(目標に 1e-9 m 以内なら 0)、r_ij = r_i + r_j、d_ij = |x_i − x_j|、
n_ij = (x_i − x_j)/d_ij。壁 W は線分 ((x0, y0), (x1, y1)) の列で、d_iW と n_iW は最近点から。
積分(指数積分): 斥力 F を刻みの間一定と置き、線形部分 (v_d − v)/τ(v_d = v0 e + τ F)を厳密に解く:
v' = v_d + (v − v_d) e^{−dt/τ}、x' = x + v_d dt + (v − v_d) τ (1 − e^{−dt/τ})。
1 人で斥力が無ければ v(t) = v0(1 − e^{−t/τ}) に dt に依らず 一致する(門)。斥力がある時は 1 次の誤差。
引数: `pos, vel, goals は (N, 2)。v0 と radius はスカラーか (N,)。walls` は (M, 2, 2) か None。
戻り値: (pos', vel')。配置が鏡映・点対称なら結果も同じ対称性を保つ(式が対称なので。門で確かめる)。
Raises `ValueError`: 形の不一致、非有限、τ・B・dt ≤ 0、A < 0、半径 < 0、2 人の位置が一致。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者・年份)與用途見上面的族使用指南。
• (尚無)
any 作為輸入)course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road
traffic)idm_accel · idm_equilibrium_gap · idm_platoon_simulate · driver_style · lateral_wobble · ou_estimate · pedestrian_crossing · occlusion_reveal_distance
*Provenance: drivetraffic.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.