traffic op• Datenarten: points × points × points → any
• Aufruf: import fullseye as fs; fs.ledger.social_force_step(pos, vel, goals, *, dt: 'float', v0, tau: 'float', A: 'float', B: 'float', radius, walls=None) (die Implementierung direkt: import drivetraffic; drivetraffic.social_force_step(pos, vel, goals, *, dt: 'float', v0, tau: 'float', A: 'float', B: 'float', radius, walls=None); aus dem Register: opsdrive.get("social_force_step"))
1 Schritt des Social-Force-Modells (pro Masseneinheit; in der Form von 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 = Einheitsvektor zum Ziel (0, wenn innerhalb von 1e-9 m vom Ziel), r_ij = r_i + r_j, d_ij = |x_i − x_j|, n_ij = (x_i − x_j)/d_ij. Wände W sind eine Liste von Strecken ((x0, y0), (x1, y1)); d_iW und n_iW werden vom nächsten Punkt genommen.
Integration (exponentieller Integrator): Die Abstoßungskraft F wird über den Schritt konstant gehalten, und der lineare Teil (v_d − v)/τ (v_d = v0 e + τ F) wird exakt gelöst:
v' = v_d + (v − v_d) e^{−dt/τ}, x' = x + v_d dt + (v − v_d) τ (1 − e^{−dt/τ}). Für eine Person ohne Abstoßung stimmt das Ergebnis unabhängig von dt mit v(t) = v0(1 − e^{−t/τ}) überein (Gate). Mit Abstoßung ist der Fehler erster Ordnung.
Argumente: pos, vel, goals sind (N, 2). v0 und radius sind Skalare oder (N,). walls ist (M, 2, 2) oder None.
Rückgabe: (pos', vel'). Ist die Anordnung spiegel- oder punktsymmetrisch, behält das Ergebnis dieselbe Symmetrie (weil die Gleichungen symmetrisch sind; per Gate geprüft).
Raises ValueError: Formabweichung, nicht-endliche Werte, τ, B oder dt ≤ 0, A < 0, Radius < 0, zwei Personen an derselben Position.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• gallery_drive_mirrors_crowds — py -3.11 examples/gallery_drive_mirrors_crowds.py
any als Eingabe)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 Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.