Reality Fork: Physik aus Videos
Reality Fork verfolgt ein sich bewegendes Objekt Bild für Bild (Meta SAM 3.1), passt ein Bewegungsgesetz mit Fehlerbalken an und kann die Bewegung unter geänderten physikalischen Bedingungen „abgabeln“ (fork).
Wann es verwendet wird
Der Nutzer hat ein Video (oder eine Beispiel-Clip-ID) und möchte: Schwerkraft, Startgeschwindigkeit oder -winkel, Luftwiderstand, Sprungkraft eines Balls, Länge oder Periode eines Pendels, Beschleunigung auf einer schiefen Ebene oder „Wie würde das auf dem Mond aussehen?“. Auch wenn Code reale, aus Aufnahmen gemessene Konstanten benötigt.
Wie man es aufruft
Ersetzen Sie <DIR> mit dem Reality-Fork-Verzeichnis (dem Ordner, der mcp/ enthält).
MCP-Tools (wenn der reality-fork-Server verbunden ist):
list_clips– Clip-IDs und ob diese analysiert wurden.analyze_video({path | clip_id, question?, live?})– Überschrift, Antwort, Gesetz, Messwerte mit Sigma, Annahmen, Konfidenz.fork_motion({clip_id, g?, drag?, e?})– Neusimulation: Zusammenfassung, Lande-/Aufprallereignisse, Pfad alle 0,1 s in Metern.export_measurements({clip_id})– JSON des angepassten Gesetzes, Parameter, Sigmas, Skalierung, Bildbereich, fps.braking_fork({clip_id, hazard_distance_m = 20, speed_kmh?, react_s = 1.5, decel = 7})– für einen Clip eines Autos, das durchs Bild fährt: Hält es an, wenn jemand in dieser Entfernung die Straße betritt? Um wie viele Meter? Oder mit welcher Geschwindigkeit trifft es auf? Sowohl die gemessene Geschwindigkeit (mit Fehlerbalken) als auchspeed_kmh(falls angegeben).speed_survey({clip_ids, limit_kmh = 30})– mehrere analysierte Autoclips: jede Geschwindigkeit in km/h mit Sigma, der Mittelwert, das 85. Perzentil der Geschwindigkeit mit Unsicherheit, der Anteil über dem Limit, sowie eine klare Zusammenfassung. Nicht-Fahrzeug- oder nicht analysierte Clips werden als übersprungen aufgelistet, mit Begründung.
Shell (gleiche Tools, JSON auf stdout; verwenden Sie dies, wenn MCP nicht verfügbar ist):
node <DIR>/mcp/cli.mjs list
node <DIR>/mcp/cli.mjs analyze <video-pfad|clip_id> --question "was ist g?"
node <DIR>/mcp/cli.mjs fork <clip_id> --g 1.62 # oder --g moon, --drag none, --e 0.8
node <DIR>/mcp/cli.mjs export <clip_id>
node <DIR>/mcp/cli.mjs brake <clip_id> --distance 20 --speed 30 # auch --react 1.5 --decel 7
node <DIR>/mcp/cli.mjs survey <clip_id> <clip_id> ... --limit 30
Typischer Ablauf: analyze, dann export um Zahlen zu erhalten, optional fork. Setzen Sie die exportierten Werte mit ihren Sigmas als Toleranzen in den Code des Nutzers ein.
Autos: Bremsen und Geschwindigkeitsumfragen
Verwenden Sie braking_fork, wenn es um Sicherheit auf der Straße geht („Würde das Auto anhalten, wenn ein Kind 20 m vorher die Straße betritt?“, „Welchen Unterschied machen 30 km/h?“) und speed_survey, wenn jemand die Geschwindigkeit des Verkehrs für einen Gemeinderat oder eine Schule benötigt: Gemeinderäte handeln nach der 85. Perzentil-Geschwindigkeit, der Geschwindigkeit, die 85 % der Fahrer nicht überschreiten, nicht nach dem Durchschnitt. Beide benötigen bereits analysierte Clips mit einer konstanten Geschwindigkeitsanpassung von etwas, das sich seitlich mit über 2 m/s durch das Bild bewegt. Geben Sie immer die genannten Annahmen mit der Antwort an: 1,5 s Wahrnehmungs-Reaktionszeit und starkes Bremsen mit 7 m/s² auf trockenem Asphalt sind typische Werte, keine Messungen; ändern Sie react_s und decel für einen müden Fahrer oder eine nasse Straße. Jede Clip-Geschwindigkeit hängt von der Skalierung (der Größe eines bekannten Objekts wie der Länge eines Autos) ab, geben Sie dies an. Bei weniger als etwa 20 Clips behandeln Sie das 85. Perzentil als groben Richtwert.
Die Zahlen lesen
- Jeder Wert hat einen 1-Sigma-Fehler.
sigmain den Messungen vonanalyze_videoenthält bereits die Skalierungsunsicherheit; inexport_measurementsverwenden Siesigma_totalfür reale Behauptungen undsigma_fitfür reines Rauschen der Anpassung. - Etwa 68 % der Wiederholungen sollten innerhalb von 1 Sigma liegen, 95 % innerhalb von 2. Liegt ein Ergebnis innerhalb von 2 Sigma eines bekannten Werts (Erde g = 9,81), stimmt es überein; lesen Sie einen Unterschied von 3 % nicht über, wenn Sigma 6 % beträgt.
- Überprüfen Sie
confidenceundassumptions. Sagen Sie „gemessen 10,0 +/- 0,7 m/s^2“, niemals eine nackte Zahl. - Fork-Ergebnisse sind Simulationen basierend auf dem angepassten Gesetz, keine neuen Messungen. Zeiten sind Sekunden ab Track-Start, Positionen Meter ab Startpunkt der Anpassung, x rechts, y oben.
Ehrliche Grenzen
- Starre Kamera; keine Schwenks oder Zooms.
- Bewegung ungefähr in einer Ebene zur Kamera hin (keine starken Tiefenänderungen).
- Die Skalierung stammt von einem Objekt bekannter Größe in derselben Ebene (ein Tennisball, eine Person); eine falsche Größenannahme skaliert alle Längen und Geschwindigkeiten.
- Kurze Clips: maximal 20 s werden verwendet. Das Video ist H.264-normalisiert; der Bildzeitpunkt ist die Systemuhr.
- Eine neue Analyse (
live=true) ruft die Modelle von Meta auf, kostet einige Cent API-Guthaben und wird nur ausgeführt, wenn der Prozess mitRF_ALLOW_LIVE=1gestartet wurde. Andernfalls stehen nur bereits analysierte Clips zur Verfügung. Aktivieren Sie dies niemals ohne Zustimmung des Nutzers.