From 6ebbbeff65c8a029e67645bb96b2fdf811e48f4c Mon Sep 17 00:00:00 2001 From: "Claude (auto-RE)" Date: Thu, 13 Aug 2026 16:30:19 +0000 Subject: [PATCH] re(flight): LT mirrors RT, and roll does not depend on speed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One flight, two measurements (flight_law2.py, binding early so the moving-craft scan can see the player). LT curve: 436, 379, 289, 209, 126 units/s across LT 0.00 -> 1.00 — a straight ramp, whose endpoints after the ~1.2 time-base factor are CruisingVelocity 350 and MinimumVelocity 100. So the law is symmetric: RT: target = Cruising + RT * (Maximum - Cruising) LT: target = Cruising - LT * (Cruising - Minimum) Roll (measured on a non-forward matrix row, since roll turns about the forward axis): ~144 deg/s at minimum speed and ~150 at maximum — no speed dependence, where pitch dropped by a third to a half between the same regimes. After the time-base factor that is ~121, i.e. AV_Roll_Max 125 in BOTH regimes. So _Min/_Max does not mean the same thing for every axis: pitch interpolates with speed, roll appears pinned at Max. A reimplementation applying one rule to all axes would get low-speed roll wrong by ~60%. Caveat recorded: the two roll phases were 2 s of settling apart, marginal for a 126 -> 1342 speed change. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01NptfmpjdpNCKEez6d2xvA9 --- docs/re/captures/throttle-curve-lt.csv | 394 +++++++++++++++++++++++++ docs/re/captures/turn-law-roll.csv | 158 ++++++++++ docs/re/flight-speed-law.md | 61 +++- tools/re-capture/flight_law2.py | 89 ++++++ 4 files changed, 696 insertions(+), 6 deletions(-) create mode 100644 docs/re/captures/throttle-curve-lt.csv create mode 100644 docs/re/captures/turn-law-roll.csv create mode 100644 tools/re-capture/flight_law2.py diff --git a/docs/re/captures/throttle-curve-lt.csv b/docs/re/captures/throttle-curve-lt.csv new file mode 100644 index 0000000..31beb7c --- /dev/null +++ b/docs/re/captures/throttle-curve-lt.csv @@ -0,0 +1,394 @@ +lt,t,x,y,z +0.0,0.0,-1241.3275146484375,881.9140014648438,1004.421630859375 +0.0,0.05,-1287.947509765625,881.9139404296875,1004.4215087890625 +0.0,0.1,-1299.6025390625,881.9139404296875,1004.4215087890625 +0.0,0.15,-1334.5675048828125,881.9139404296875,1004.4214477539062 +0.0,0.2,-1352.032470703125,881.9139404296875,1004.42138671875 +0.0,0.251,-1352.032470703125,881.9139404296875,1004.42138671875 +0.0,0.301,-1352.032470703125,881.9139404296875,1004.42138671875 +0.0,0.351,-1410.342529296875,881.9138793945312,1004.4212646484375 +0.0,0.401,-1427.8074951171875,881.9138793945312,1004.4212646484375 +0.0,0.451,-1462.7724609375,881.9138793945312,1004.4212036132812 +0.0,0.501,-1474.427490234375,881.9138793945312,1004.421142578125 +0.0,0.551,-1509.3924560546875,881.9138793945312,1004.4210815429688 +0.0,0.602,-1515.2025146484375,881.913818359375,1004.4210815429688 +0.0,0.652,-1515.2025146484375,881.913818359375,1004.4210815429688 +0.0,0.702,-1515.2025146484375,881.913818359375,1004.4210815429688 +0.0,0.752,-1567.66748046875,881.913818359375,1004.4209594726562 +0.0,0.803,-1579.322509765625,881.913818359375,1004.4209594726562 +0.0,0.853,-1625.9425048828125,881.9137573242188,1004.4208374023438 +0.0,0.903,-1649.25244140625,881.9137573242188,1004.4207763671875 +0.0,0.953,-1684.1824951171875,881.9137573242188,1004.4207153320312 +0.0,1.003,-1684.1824951171875,881.9137573242188,1004.4207153320312 +0.0,1.053,-1684.1824951171875,881.9137573242188,1004.4207153320312 +0.0,1.104,-1684.1824951171875,881.9137573242188,1004.4207153320312 +0.0,1.155,-1748.302490234375,881.9136962890625,1004.4205932617188 +0.0,1.205,-1771.6124267578125,881.9136962890625,1004.4205322265625 +0.0,1.255,-1824.077392578125,881.9136962890625,1004.4204711914062 +0.0,1.305,-1835.732421875,881.9136962890625,1004.42041015625 +0.0,1.357,-1841.54248046875,881.9136962890625,1004.42041015625 +0.0,1.407,-1841.54248046875,881.9136962890625,1004.42041015625 +0.0,1.457,-1841.54248046875,881.9136962890625,1004.42041015625 +0.0,1.507,-1894.0074462890625,881.9136352539062,1004.4202880859375 +0.0,1.56,-1928.972412109375,881.9136352539062,1004.4202270507812 +0.0,1.61,-1952.2823486328125,881.9136352539062,1004.420166015625 +0.0,1.66,-1987.2474365234375,881.91357421875,1004.4201049804688 +0.0,1.711,-1993.057373046875,881.91357421875,1004.4201049804688 +0.0,1.761,-1993.057373046875,881.91357421875,1004.4201049804688 +0.0,1.811,-1993.057373046875,881.91357421875,1004.4201049804688 +0.0,1.861,-2045.5223388671875,881.91357421875,1004.4199829101562 +0.0,1.911,-2057.177490234375,881.91357421875,1004.4199829101562 +0.0,1.998,-2103.79736328125,881.9135131835938,1004.4198608398438 +0.0,2.048,-2132.91748046875,881.9135131835938,1004.4197998046875 +0.0,2.101,-2138.727294921875,881.9135131835938,1004.4197998046875 +0.0,2.151,-2138.727294921875,881.9135131835938,1004.4197998046875 +0.0,2.201,-2138.727294921875,881.9135131835938,1004.4197998046875 +0.0,2.251,-2202.847412109375,881.9134521484375,1004.419677734375 +0.0,2.301,-2226.157470703125,881.9134521484375,1004.4196166992188 +0.0,2.351,-2261.122314453125,881.9134521484375,1004.4195556640625 +0.0,2.401,-2284.432373046875,881.9134521484375,1004.4194946289062 +0.0,2.451,-2313.55224609375,881.9133911132812,1004.41943359375 +0.0,2.502,-2313.55224609375,881.9133911132812,1004.41943359375 +0.0,2.552,-2313.55224609375,881.9133911132812,1004.41943359375 +0.0,2.602,-2313.55224609375,881.9133911132812,1004.41943359375 +0.0,2.652,-2383.517333984375,881.9133911132812,1004.4193115234375 +0.0,2.711,-2418.482421875,881.9133911132812,1004.4192504882812 +0.0,2.761,-2453.447265625,881.913330078125,1004.419189453125 +0.0,2.812,-2476.75732421875,881.913330078125,1004.4191284179688 +0.0,2.862,-2476.75732421875,881.913330078125,1004.4191284179688 +0.0,2.913,-2476.75732421875,881.913330078125,1004.4191284179688 +0.0,2.963,-2529.222412109375,881.913330078125,1004.4190063476562 +0.0,3.016,-2546.687255859375,881.9132690429688,1004.4190063476562 +0.0,3.066,-2581.65234375,881.9132690429688,1004.4188842773438 +0.0,3.116,-2604.96240234375,881.9132690429688,1004.4188842773438 +0.0,3.166,-2634.082275390625,881.9132690429688,1004.4188232421875 +0.0,3.217,-2634.082275390625,881.9132690429688,1004.4188232421875 +0.0,3.296,-2634.082275390625,881.9132690429688,1004.4188232421875 +0.0,3.346,-2692.392333984375,881.9132080078125,1004.418701171875 +0.0,3.399,-2709.857421875,881.9132080078125,1004.4186401367188 +0.0,3.453,-2744.822265625,881.9132080078125,1004.4185791015625 +0.0,3.504,-2768.13232421875,881.9131469726562,1004.4185180664062 +0.0,3.554,-2785.597412109375,881.9131469726562,1004.4185180664062 +0.0,3.604,-2785.597412109375,881.9131469726562,1004.4185180664062 +0.0,3.655,-2785.597412109375,881.9131469726562,1004.4185180664062 +0.0,3.705,-2785.597412109375,881.9131469726562,1004.4185180664062 +0.0,3.755,-2855.562255859375,881.9131469726562,1004.4183349609375 +0.0,3.807,-2890.52734375,881.9130859375,1004.4182739257812 +0.0,3.857,-2925.4921875,881.9130859375,1004.418212890625 +0.0,3.907,-2954.647216796875,881.9130859375,1004.4181518554688 +0.0,3.958,-2966.30224609375,881.9130859375,1004.4181518554688 +0.25,0.0,-3754.611328125,881.9126586914062,1004.4165649414062 +0.25,0.05,-3774.8525390625,881.9126586914062,1004.41650390625 +0.25,0.1,-3805.21435546875,881.91259765625,1004.4164428710938 +0.25,0.15,-3810.25927734375,881.91259765625,1004.4164428710938 +0.25,0.201,-3810.25927734375,881.91259765625,1004.4164428710938 +0.25,0.251,-3810.25927734375,881.91259765625,1004.4164428710938 +0.25,0.301,-3850.77197265625,881.91259765625,1004.4163208007812 +0.25,0.351,-3876.058349609375,881.91259765625,1004.4163208007812 +0.25,0.402,-3906.420166015625,881.9125366210938,1004.416259765625 +0.25,0.454,-3916.540771484375,881.9125366210938,1004.4161987304688 +0.25,0.505,-3962.0986328125,881.9125366210938,1004.4161376953125 +0.25,0.555,-3967.1435546875,881.9125366210938,1004.4161376953125 +0.25,0.64,-3967.1435546875,881.9125366210938,1004.4161376953125 +0.25,0.69,-3967.1435546875,881.9125366210938,1004.4161376953125 +0.25,0.743,-4032.942626953125,881.9124755859375,1004.4159545898438 +0.25,0.793,-4063.304443359375,881.9124755859375,1004.4158935546875 +0.25,0.843,-4063.304443359375,881.9124755859375,1004.4158935546875 +0.25,0.893,-4103.78662109375,881.9124755859375,1004.4158325195312 +0.25,0.943,-4118.95263671875,881.9124755859375,1004.4158325195312 +0.25,0.994,-4118.95263671875,881.9124755859375,1004.4158325195312 +0.25,1.045,-4118.95263671875,881.9124755859375,1004.4158325195312 +0.25,1.095,-4118.95263671875,881.9124755859375,1004.4158325195312 +0.25,1.145,-4179.70654296875,881.9124145507812,1004.4157104492188 +0.25,1.198,-4210.06787109375,881.9124145507812,1004.4156494140625 +0.25,1.248,-4225.26416015625,881.9124145507812,1004.4155883789062 +0.25,1.299,-4255.6259765625,881.912353515625,1004.41552734375 +0.25,1.351,-4265.71630859375,881.912353515625,1004.41552734375 +0.25,1.401,-4265.71630859375,881.912353515625,1004.41552734375 +0.25,1.451,-4265.71630859375,881.912353515625,1004.41552734375 +0.25,1.501,-4321.4248046875,881.912353515625,1004.4154052734375 +0.25,1.552,-4336.5908203125,881.912353515625,1004.4153442382812 +0.25,1.602,-4372.02783203125,881.9122924804688,1004.415283203125 +0.25,1.652,-4397.3447265625,881.9122924804688,1004.4152221679688 +0.25,1.703,-4427.70654296875,881.9122924804688,1004.4151611328125 +0.25,1.755,-4432.75146484375,881.9122924804688,1004.4151611328125 +0.25,1.805,-4432.75146484375,881.9122924804688,1004.4151611328125 +0.25,1.855,-4432.75146484375,881.9122924804688,1004.4151611328125 +0.25,1.905,-4488.4296875,881.9122314453125,1004.4150390625 +0.25,1.955,-4498.55029296875,881.9122314453125,1004.4150390625 +0.25,2.042,-4539.03271484375,881.9122314453125,1004.4149780273438 +0.25,2.092,-4569.39453125,881.9122314453125,1004.4149169921875 +0.25,2.143,-4574.439453125,881.9122314453125,1004.4148559570312 +0.25,2.193,-4574.439453125,881.9122314453125,1004.4148559570312 +0.25,2.243,-4574.439453125,881.9122314453125,1004.4148559570312 +0.25,2.293,-4625.07275390625,881.9121704101562,1004.414794921875 +0.25,2.344,-4640.23876953125,881.9121704101562,1004.4147338867188 +0.25,2.394,-4680.72119140625,881.9121704101562,1004.4146728515625 +0.25,2.444,-4690.841796875,881.9121704101562,1004.4146728515625 +0.25,2.494,-4716.1279296875,881.912109375,1004.4146118164062 +0.25,2.545,-4721.1728515625,881.912109375,1004.4146118164062 +0.25,2.595,-4721.1728515625,881.912109375,1004.4146118164062 +0.25,2.645,-4721.1728515625,881.912109375,1004.4146118164062 +0.25,2.695,-4776.8515625,881.912109375,1004.4144897460938 +0.25,2.745,-4786.97216796875,881.912109375,1004.4144287109375 +0.25,2.795,-4822.4091796875,881.9120483398438,1004.4143676757812 +0.25,2.845,-4842.650390625,881.9120483398438,1004.414306640625 +0.25,2.895,-4873.01220703125,881.9120483398438,1004.4142456054688 +0.25,2.946,-4878.05712890625,881.9120483398438,1004.4142456054688 +0.25,2.997,-4878.05712890625,881.9120483398438,1004.4142456054688 +0.25,3.047,-4878.05712890625,881.9120483398438,1004.4142456054688 +0.25,3.097,-4923.615234375,881.9120483398438,1004.4141845703125 +0.25,3.147,-4933.73583984375,881.9119873046875,1004.4141235351562 +0.25,3.197,-4974.2177734375,881.9119873046875,1004.4140625 +0.25,3.248,-4994.458984375,881.9119873046875,1004.4140014648438 +0.25,3.298,-5024.82080078125,881.9119873046875,1004.4139404296875 +0.25,3.348,-5029.8662109375,881.9119873046875,1004.4139404296875 +0.25,3.399,-5029.8662109375,881.9119873046875,1004.4139404296875 +0.25,3.449,-5029.8662109375,881.9119873046875,1004.4139404296875 +0.25,3.499,-5090.6201171875,881.9119262695312,1004.413818359375 +0.25,3.549,-5100.74072265625,881.9119262695312,1004.413818359375 +0.25,3.6,-5131.10205078125,881.9119262695312,1004.4137573242188 +0.25,3.651,-5151.34326171875,881.9119262695312,1004.4136962890625 +0.25,3.701,-5166.50927734375,881.911865234375,1004.4136962890625 +0.25,3.751,-5166.50927734375,881.911865234375,1004.4136962890625 +0.25,3.802,-5166.50927734375,881.911865234375,1004.4136962890625 +0.25,3.852,-5166.50927734375,881.911865234375,1004.4136962890625 +0.25,3.902,-5222.1875,881.911865234375,1004.41357421875 +0.25,3.952,-5252.54931640625,881.911865234375,1004.4135131835938 +0.5,0.0,-5905.412109375,881.9114990234375,1004.4121704101562 +0.5,0.062,-5905.412109375,881.9114990234375,1004.4121704101562 +0.5,0.112,-5905.412109375,881.9114990234375,1004.4121704101562 +0.5,0.162,-5948.697265625,881.9114379882812,1004.412109375 +0.5,0.212,-5980.16943359375,881.9114379882812,1004.4120483398438 +0.5,0.263,-5988.037109375,881.9114379882812,1004.4119873046875 +0.5,0.313,-6023.45458984375,881.9114379882812,1004.4119262695312 +0.5,0.363,-6027.376953125,881.9114379882812,1004.4119262695312 +0.5,0.413,-6031.298828125,881.9114379882812,1004.4119262695312 +0.5,0.464,-6031.298828125,881.9114379882812,1004.4119262695312 +0.5,0.514,-6031.298828125,881.9114379882812,1004.4119262695312 +0.5,0.564,-6074.58447265625,881.911376953125,1004.411865234375 +0.5,0.614,-6098.1884765625,881.911376953125,1004.4118041992188 +0.5,0.665,-6106.05615234375,881.911376953125,1004.4117431640625 +0.5,0.715,-6137.52783203125,881.911376953125,1004.4116821289062 +0.5,0.765,-6145.3720703125,881.911376953125,1004.4116821289062 +0.5,0.815,-6145.3720703125,881.911376953125,1004.4116821289062 +0.5,0.865,-6145.3720703125,881.911376953125,1004.4116821289062 +0.5,0.915,-6180.8134765625,881.9113159179688,1004.41162109375 +0.5,0.965,-6184.73583984375,881.9113159179688,1004.41162109375 +0.5,1.017,-6216.20751953125,881.9113159179688,1004.4115600585938 +0.5,1.067,-6216.20751953125,881.9113159179688,1004.4115600585938 +0.5,1.117,-6255.546875,881.9113159179688,1004.4114990234375 +0.5,1.168,-6263.3916015625,881.9113159179688,1004.4114379882812 +0.5,1.22,-6263.3916015625,881.9113159179688,1004.4114379882812 +0.5,1.27,-6263.3916015625,881.9113159179688,1004.4114379882812 +0.5,1.32,-6298.80908203125,881.9112548828125,1004.411376953125 +0.5,1.37,-6306.6767578125,881.9112548828125,1004.411376953125 +0.5,1.42,-6338.1484375,881.9112548828125,1004.4113159179688 +0.5,1.471,-6346.0166015625,881.9112548828125,1004.4112548828125 +0.5,1.521,-6361.72900390625,881.9112548828125,1004.4112548828125 +0.5,1.571,-6361.72900390625,881.9112548828125,1004.4112548828125 +0.5,1.621,-6361.72900390625,881.9112548828125,1004.4112548828125 +0.5,1.672,-6361.72900390625,881.9112548828125,1004.4112548828125 +0.5,1.722,-6397.146484375,881.9112548828125,1004.4111938476562 +0.5,1.772,-6412.88232421875,881.9111938476562,1004.4111328125 +0.5,1.822,-6440.43212890625,881.9111938476562,1004.4110717773438 +0.5,1.872,-6460.11376953125,881.9111938476562,1004.4110717773438 +0.5,1.922,-6471.90380859375,881.9111938476562,1004.4110107421875 +0.5,1.973,-6471.90380859375,881.9111938476562,1004.4110107421875 +0.5,2.023,-6471.90380859375,881.9111938476562,1004.4110107421875 +0.5,2.073,-6471.90380859375,881.9111938476562,1004.4110107421875 +0.5,2.123,-6519.134765625,881.9111328125,1004.4109497070312 +0.5,2.173,-6542.73876953125,881.9111328125,1004.410888671875 +0.5,2.223,-6566.3427734375,881.9111328125,1004.4108276367188 +0.5,2.273,-6574.21044921875,881.9111328125,1004.4108276367188 +0.5,2.323,-6578.1328125,881.9111328125,1004.4108276367188 +0.5,2.373,-6578.1328125,881.9111328125,1004.4108276367188 +0.5,2.423,-6578.1328125,881.9111328125,1004.4108276367188 +0.5,2.474,-6621.41796875,881.9111328125,1004.4107055664062 +0.5,2.524,-6641.099609375,881.9110717773438,1004.4107055664062 +0.5,2.574,-6648.9677734375,881.9110717773438,1004.41064453125 +0.5,2.624,-6684.38525390625,881.9110717773438,1004.4105834960938 +0.5,2.674,-6688.3076171875,881.9110717773438,1004.4105834960938 +0.5,2.725,-6688.3076171875,881.9110717773438,1004.4105834960938 +0.5,2.775,-6688.3076171875,881.9110717773438,1004.4105834960938 +0.5,2.825,-6727.6708984375,881.9110717773438,1004.4105224609375 +0.5,2.875,-6739.4609375,881.9110717773438,1004.4104614257812 +0.5,2.964,-6770.9326171875,881.9110107421875,1004.410400390625 +0.5,3.014,-6790.5908203125,881.9110107421875,1004.410400390625 +0.5,3.066,-6794.5126953125,881.9110107421875,1004.410400390625 +0.5,3.117,-6794.5126953125,881.9110107421875,1004.410400390625 +0.5,3.167,-6794.5126953125,881.9110107421875,1004.410400390625 +0.5,3.217,-6829.93017578125,881.9110107421875,1004.4102783203125 +0.5,3.269,-6837.79833984375,881.9110107421875,1004.4102783203125 +0.5,3.321,-6873.2158203125,881.9109497070312,1004.4102172851562 +0.5,3.371,-6881.083984375,881.9109497070312,1004.4102172851562 +0.5,3.421,-6896.7958984375,881.9109497070312,1004.41015625 +0.5,3.472,-6896.7958984375,881.9109497070312,1004.41015625 +0.5,3.522,-6896.7958984375,881.9109497070312,1004.41015625 +0.5,3.572,-6896.7958984375,881.9109497070312,1004.41015625 +0.5,3.625,-6936.1591796875,881.9109497070312,1004.4100952148438 +0.5,3.675,-6963.708984375,881.9109497070312,1004.4100341796875 +0.5,3.725,-6987.31298828125,881.910888671875,1004.4099731445312 +0.5,3.775,-7006.99462890625,881.910888671875,1004.4099731445312 +0.5,3.825,-7014.8623046875,881.910888671875,1004.409912109375 +0.5,3.876,-7014.8623046875,881.910888671875,1004.409912109375 +0.5,3.926,-7014.8623046875,881.910888671875,1004.409912109375 +0.5,3.976,-7054.2255859375,881.910888671875,1004.4098510742188 +0.75,0.0,-7539.572265625,881.91064453125,1004.4088745117188 +0.75,0.05,-7539.572265625,881.91064453125,1004.4088745117188 +0.75,0.1,-7539.572265625,881.91064453125,1004.4088745117188 +0.75,0.15,-7539.572265625,881.91064453125,1004.4088745117188 +0.75,0.2,-7573.47705078125,881.9105834960938,1004.4088134765625 +0.75,0.26,-7584.77294921875,881.9105834960938,1004.4087524414062 +0.75,0.311,-7607.36474609375,881.9105834960938,1004.4087524414062 +0.75,0.361,-7613.0126953125,881.9105834960938,1004.40869140625 +0.75,0.413,-7621.47607421875,881.9105834960938,1004.40869140625 +0.75,0.463,-7621.47607421875,881.9105834960938,1004.40869140625 +0.75,0.513,-7621.47607421875,881.9105834960938,1004.40869140625 +0.75,0.563,-7646.900390625,881.9105834960938,1004.4086303710938 +0.75,0.614,-7669.4921875,881.9105224609375,1004.4086303710938 +0.75,0.664,-7675.14013671875,881.9105224609375,1004.4085693359375 +0.75,0.714,-7692.083984375,881.9105224609375,1004.4085693359375 +0.75,0.764,-7700.54736328125,881.9105224609375,1004.4085693359375 +0.75,0.814,-7700.54736328125,881.9105224609375,1004.4085693359375 +0.75,0.864,-7700.54736328125,881.9105224609375,1004.4085693359375 +0.75,0.914,-7700.54736328125,881.9105224609375,1004.4085693359375 +0.75,0.966,-7737.26708984375,881.9105224609375,1004.408447265625 +0.75,1.017,-7754.2109375,881.9105224609375,1004.408447265625 +0.75,1.067,-7759.85888671875,881.9105224609375,1004.408447265625 +0.75,1.117,-7785.283203125,881.9104614257812,1004.4083862304688 +0.75,1.17,-7788.0986328125,881.9104614257812,1004.4083862304688 +0.75,1.22,-7788.0986328125,881.9104614257812,1004.4083862304688 +0.75,1.272,-7788.0986328125,881.9104614257812,1004.4083862304688 +0.75,1.322,-7819.1708984375,881.9104614257812,1004.4083251953125 +0.75,1.372,-7824.81884765625,881.9104614257812,1004.4082641601562 +0.75,1.422,-7847.41064453125,881.9104614257812,1004.4082641601562 +0.75,1.472,-7853.05859375,881.9104614257812,1004.408203125 +0.75,1.522,-7864.33740234375,881.9104614257812,1004.408203125 +0.75,1.573,-7864.33740234375,881.9104614257812,1004.408203125 +0.75,1.624,-7864.33740234375,881.9104614257812,1004.408203125 +0.75,1.674,-7864.33740234375,881.9104614257812,1004.408203125 +0.75,1.726,-7898.2421875,881.910400390625,1004.4081420898438 +0.75,1.776,-7915.18603515625,881.910400390625,1004.4080810546875 +0.75,1.827,-7932.1298828125,881.910400390625,1004.4080810546875 +0.75,1.877,-7943.42578125,881.910400390625,1004.4080200195312 +0.75,1.928,-7951.88916015625,881.910400390625,1004.4080200195312 +0.75,1.978,-7951.88916015625,881.910400390625,1004.4080200195312 +0.75,2.028,-7951.88916015625,881.910400390625,1004.4080200195312 +0.75,2.078,-7980.1455078125,881.910400390625,1004.407958984375 +0.75,2.129,-7988.60888671875,881.910400390625,1004.407958984375 +0.75,2.179,-8005.552734375,881.9103393554688,1004.4078979492188 +0.75,2.229,-8022.49658203125,881.9103393554688,1004.4078979492188 +0.75,2.279,-8028.14453125,881.9103393554688,1004.4078979492188 +0.75,2.329,-8036.625,881.9103393554688,1004.4078369140625 +0.75,2.379,-8036.625,881.9103393554688,1004.4078369140625 +0.75,2.429,-8036.625,881.9103393554688,1004.4078369140625 +0.75,2.482,-8067.697265625,881.9103393554688,1004.4077758789062 +0.75,2.56,-8081.82568359375,881.9103393554688,1004.4077758789062 +0.75,2.61,-8098.76953125,881.9103393554688,1004.40771484375 +0.75,2.66,-8107.23291015625,881.9103393554688,1004.40771484375 +0.75,2.71,-8107.23291015625,881.9103393554688,1004.40771484375 +0.75,2.761,-8107.23291015625,881.9103393554688,1004.40771484375 +0.75,2.811,-8107.23291015625,881.9103393554688,1004.40771484375 +0.75,2.861,-8132.6572265625,881.9102783203125,1004.4076538085938 +0.75,2.911,-8149.6005859375,881.9102783203125,1004.4076538085938 +0.75,2.961,-8155.24853515625,881.9102783203125,1004.4075927734375 +0.75,3.011,-8180.6728515625,881.9102783203125,1004.4075927734375 +0.75,3.062,-8183.48828125,881.9102783203125,1004.4075317382812 +0.75,3.112,-8183.48828125,881.9102783203125,1004.4075317382812 +0.75,3.162,-8183.48828125,881.9102783203125,1004.4075317382812 +0.75,3.212,-8214.560546875,881.9102783203125,1004.407470703125 +0.75,3.262,-8220.208984375,881.9102783203125,1004.407470703125 +0.75,3.313,-8242.80078125,881.9102172851562,1004.407470703125 +0.75,3.363,-8248.4482421875,881.9102172851562,1004.4074096679688 +0.75,3.413,-8268.2080078125,881.9102172851562,1004.4074096679688 +0.75,3.464,-8268.2080078125,881.9102172851562,1004.4074096679688 +0.75,3.514,-8268.2080078125,881.9102172851562,1004.4074096679688 +0.75,3.564,-8268.2080078125,881.9102172851562,1004.4074096679688 +0.75,3.615,-8299.279296875,881.9102172851562,1004.4073486328125 +0.75,3.665,-8310.5751953125,881.9102172851562,1004.4072875976562 +0.75,3.716,-8330.3515625,881.9102172851562,1004.4072875976562 +0.75,3.766,-8336.0,881.9102172851562,1004.4072265625 +0.75,3.818,-8344.462890625,881.91015625,1004.4072265625 +0.75,3.87,-8344.462890625,881.91015625,1004.4072265625 +0.75,3.92,-8344.462890625,881.91015625,1004.4072265625 +0.75,3.97,-8369.8876953125,881.91015625,1004.4071655273438 +1.0,0.0,-8673.5283203125,881.9100341796875,1004.4065551757812 +1.0,0.05,-8673.5283203125,881.9100341796875,1004.4065551757812 +1.0,0.1,-8673.5283203125,881.9100341796875,1004.4065551757812 +1.0,0.15,-8687.119140625,881.9099731445312,1004.4065551757812 +1.0,0.201,-8695.6025390625,881.9099731445312,1004.406494140625 +1.0,0.259,-8702.392578125,881.9099731445312,1004.406494140625 +1.0,0.309,-8715.974609375,881.9099731445312,1004.406494140625 +1.0,0.359,-8719.369140625,881.9099731445312,1004.406494140625 +1.0,0.412,-8722.7646484375,881.9099731445312,1004.406494140625 +1.0,0.464,-8722.7646484375,881.9099731445312,1004.406494140625 +1.0,0.514,-8722.7646484375,881.9099731445312,1004.406494140625 +1.0,0.564,-8738.048828125,881.9099731445312,1004.4064331054688 +1.0,0.614,-8753.3330078125,881.9099731445312,1004.4064331054688 +1.0,0.664,-8756.7275390625,881.9099731445312,1004.4063720703125 +1.0,0.714,-8766.9140625,881.9099731445312,1004.4063720703125 +1.0,0.767,-8770.298828125,881.9099731445312,1004.4063720703125 +1.0,0.817,-8770.298828125,881.9099731445312,1004.4063720703125 +1.0,0.867,-8770.298828125,881.9099731445312,1004.4063720703125 +1.0,0.917,-8787.28515625,881.9099731445312,1004.4063110351562 +1.0,0.967,-8792.373046875,881.9099731445312,1004.4063110351562 +1.0,1.018,-8802.5595703125,881.909912109375,1004.4063110351562 +1.0,1.068,-8805.955078125,881.909912109375,1004.4063110351562 +1.0,1.118,-8816.1298828125,881.909912109375,1004.40625 +1.0,1.169,-8816.1298828125,881.909912109375,1004.40625 +1.0,1.219,-8816.1298828125,881.909912109375,1004.40625 +1.0,1.269,-8816.1298828125,881.909912109375,1004.40625 +1.0,1.321,-8836.5126953125,881.909912109375,1004.40625 +1.0,1.371,-8846.6982421875,881.909912109375,1004.4061889648438 +1.0,1.421,-8856.8837890625,881.909912109375,1004.4061889648438 +1.0,1.471,-8865.376953125,881.909912109375,1004.4061889648438 +1.0,1.522,-8867.0703125,881.909912109375,1004.4061889648438 +1.0,1.572,-8867.0703125,881.909912109375,1004.4061889648438 +1.0,1.622,-8867.0703125,881.909912109375,1004.4061889648438 +1.0,1.672,-8885.7490234375,881.909912109375,1004.4061279296875 +1.0,1.722,-8895.9345703125,881.909912109375,1004.4061279296875 +1.0,1.772,-8899.330078125,881.909912109375,1004.4061279296875 +1.0,1.823,-8907.8134765625,881.9098510742188,1004.4060668945312 +1.0,1.873,-8909.505859375,881.9098510742188,1004.4060668945312 +1.0,1.923,-8909.505859375,881.9098510742188,1004.4060668945312 +1.0,1.974,-8909.505859375,881.9098510742188,1004.4060668945312 +1.0,2.024,-8926.4921875,881.9098510742188,1004.4060668945312 +1.0,2.074,-8929.8876953125,881.9098510742188,1004.4060668945312 +1.0,2.159,-8945.171875,881.9098510742188,1004.406005859375 +1.0,2.209,-8958.7529296875,881.9098510742188,1004.406005859375 +1.0,2.26,-8960.4453125,881.9098510742188,1004.406005859375 +1.0,2.311,-8960.4453125,881.9098510742188,1004.406005859375 +1.0,2.361,-8960.4453125,881.9098510742188,1004.406005859375 +1.0,2.412,-8977.4326171875,881.9098510742188,1004.4059448242188 +1.0,2.462,-8980.8271484375,881.9098510742188,1004.4059448242188 +1.0,2.512,-8996.111328125,881.9098510742188,1004.4058837890625 +1.0,2.562,-8999.5068359375,881.9098510742188,1004.4058837890625 +1.0,2.614,-9006.296875,881.9098510742188,1004.4058837890625 +1.0,2.664,-9006.296875,881.9098510742188,1004.4058837890625 +1.0,2.714,-9006.296875,881.9098510742188,1004.4058837890625 +1.0,2.764,-9024.9765625,881.9097900390625,1004.4058227539062 +1.0,2.814,-9035.162109375,881.9097900390625,1004.4058227539062 +1.0,2.865,-9035.162109375,881.9097900390625,1004.4058227539062 +1.0,2.915,-9045.3486328125,881.9097900390625,1004.4058227539062 +1.0,2.966,-9050.4365234375,881.9097900390625,1004.4058227539062 +1.0,3.016,-9050.4365234375,881.9097900390625,1004.4058227539062 +1.0,3.066,-9050.4365234375,881.9097900390625,1004.4058227539062 +1.0,3.116,-9064.02734375,881.9097900390625,1004.40576171875 +1.0,3.167,-9069.115234375,881.9097900390625,1004.40576171875 +1.0,3.217,-9082.6962890625,881.9097900390625,1004.40576171875 +1.0,3.267,-9082.6962890625,881.9097900390625,1004.40576171875 +1.0,3.317,-9091.1796875,881.9097900390625,1004.4057006835938 +1.0,3.367,-9092.8720703125,881.9097900390625,1004.4057006835938 +1.0,3.418,-9092.8720703125,881.9097900390625,1004.4057006835938 +1.0,3.468,-9092.8720703125,881.9097900390625,1004.4057006835938 +1.0,3.518,-9111.5517578125,881.9097900390625,1004.4057006835938 +1.0,3.568,-9118.341796875,881.9097900390625,1004.4056396484375 +1.0,3.618,-9128.5283203125,881.9097900390625,1004.4056396484375 +1.0,3.669,-9135.318359375,881.9097290039062,1004.4056396484375 +1.0,3.719,-9143.8017578125,881.9097290039062,1004.4056396484375 +1.0,3.769,-9143.8017578125,881.9097290039062,1004.4056396484375 +1.0,3.819,-9143.8017578125,881.9097290039062,1004.4056396484375 +1.0,3.87,-9143.8017578125,881.9097290039062,1004.4056396484375 +1.0,3.92,-9162.48046875,881.9097290039062,1004.4055786132812 +1.0,3.97,-9172.6669921875,881.9097290039062,1004.4055786132812 diff --git a/docs/re/captures/turn-law-roll.csv b/docs/re/captures/turn-law-roll.csv new file mode 100644 index 0000000..0e6b82a --- /dev/null +++ b/docs/re/captures/turn-law-roll.csv @@ -0,0 +1,158 @@ +phase,t,ux,uy,uz +slow_roll,0.0,5.364417883966259e-07,0.8829469440778077,-0.4694727829633716 +slow_roll,0.05,5.364417883966259e-07,0.8829469440778077,-0.4694727829633716 +slow_roll,0.128,0.0003251433520745835,0.907077055804204,-0.4209644986401793 +slow_roll,0.178,0.0034536272684164153,0.9557110180986144,-0.2942864630654985 +slow_roll,0.229,0.004462063366683055,0.9639291880290134,-0.2661214205137173 +slow_roll,0.279,0.004462063366683055,0.9639291880290134,-0.2661214205137173 +slow_roll,0.329,0.004462063366683055,0.9639291880290134,-0.2661214205137173 +slow_roll,0.38,0.03156978751811861,0.9865808845796968,0.16019209311949129 +slow_roll,0.43,0.04618248291021098,0.9261940016468521,0.37420829705611663 +slow_roll,0.48,0.07209846660150727,0.7068731466017404,0.7036562837970437 +slow_roll,0.531,0.07884267175871004,0.6220030945016755,0.7790352903048027 +slow_roll,0.581,0.09389665181370353,0.3775338908873316,0.9212228720617223 +slow_roll,0.631,0.09389665181370353,0.3775338908873316,0.9212228720617223 +slow_roll,0.681,0.09389665181370353,0.3775338908873316,0.9212228720617223 +slow_roll,0.731,0.09389665181370353,0.3775338908873316,0.9212228720617223 +slow_roll,0.782,0.11626024739570803,-0.2910297934919785,0.94962372241615 +slow_roll,0.832,0.11331737850132788,-0.5957757659732928,0.7951166005112225 +slow_roll,0.882,0.10258919760138681,-0.8301250953132597,0.5480581927739564 +slow_roll,0.932,0.09172466968431676,-0.9336924862997908,0.3461284819234293 +slow_roll,0.982,0.08855641690308262,-0.9521140126478002,0.2926374342851443 +slow_roll,1.032,0.08855641690308262,-0.9521140126478002,0.2926374342851443 +slow_roll,1.083,0.08855641690308262,-0.9521140126478002,0.2926374342851443 +slow_roll,1.133,0.06314271520385657,-0.9856858587151895,-0.15632141710458003 +slow_roll,1.183,0.03871241049647199,-0.8771323194061645,-0.4786859550130072 +slow_roll,1.233,0.02278590617030732,-0.7469560671312695,-0.6644828336802873 +slow_roll,1.283,0.0014766457114187138,-0.48236413746616297,-0.8759695533544346 +slow_roll,1.333,-0.009957047288894565,-0.2732769792151122,-0.9618838546520833 +slow_roll,1.383,-0.014615090702282351,-0.16289975489324235,-0.986534372933597 +slow_roll,1.434,-0.014615090702282351,-0.16289975489324235,-0.986534372933597 +slow_roll,1.484,-0.014615090702282351,-0.16289975489324235,-0.986534372933597 +slow_roll,1.534,-0.021590294173402004,0.28521754629199986,-0.958219604519067 +slow_roll,1.585,-0.018226593529973842,0.6796250267681222,-0.733333221856696 +slow_roll,1.638,-0.015215515922222613,0.7588021671351416,-0.6511434244667093 +slow_roll,1.688,0.007627889727199663,0.9806664264156518,-0.19553816865119905 +slow_roll,1.738,0.02129921910039987,0.999324814604695,0.02993757139457134 +slow_roll,1.791,0.024856976638209058,0.9959630755215296,0.0862535965053266 +slow_roll,1.841,0.024856976638209058,0.9959630755215296,0.0862535965053266 +slow_roll,1.891,0.024856976638209058,0.9959630755215296,0.0862535965053266 +slow_roll,1.942,0.07458550391003292,0.7172507675680203,0.6928119073959196 +slow_roll,1.992,0.09368970595946137,0.44068963461450666,0.8927569013682068 +slow_roll,2.042,0.09891259247091141,0.3354630624781779,0.9368462161760838 +slow_roll,2.092,0.11022117626527345,-7.212161947528295e-06,0.9939070843145672 +slow_roll,2.142,0.1130640269505834,-0.16963542419702776,0.9789996673478557 +slow_roll,2.192,0.1130640269505834,-0.16963542419702776,0.9789996673478557 +slow_roll,2.242,0.1130640269505834,-0.16963542419702776,0.9789996673478557 +slow_roll,2.293,0.11471063275557963,-0.5849230213172406,0.8029361928982436 +slow_roll,2.343,0.11019948262240672,-0.7142827003817095,0.6911268320396532 +slow_roll,2.426,0.10141341251295233,-0.8534859365604823,0.5111526932883697 +slow_roll,2.477,0.07595491159352484,-0.9936428121723654,0.08309520577634615 +slow_roll,2.527,0.06448994421768593,-0.9941772535855863,-0.08632864847674089 +slow_roll,2.577,0.06448994421768593,-0.9941772535855863,-0.08632864847674089 +slow_roll,2.627,0.06448994421768593,-0.9941772535855863,-0.08632864847674089 +slow_roll,2.678,0.06448994421768593,-0.9941772535855863,-0.08632864847674089 +slow_roll,2.728,0.028817026488532304,-0.7934000725072533,-0.6080180128333736 +slow_roll,2.779,0.0032352514477921655,-0.4937015107403189,-0.8696254086908893 +slow_roll,2.829,-0.0030165019643082686,-0.39140603848225103,-0.9202131349614229 +slow_roll,2.879,-0.02194342210848925,0.11072398209318217,-0.9936089200563758 +slow_roll,2.929,-0.024032596122042907,0.22242838263297865,-0.9746527837763107 +slow_roll,2.979,-0.024032596122042907,0.22242838263297865,-0.9746527837763107 +slow_roll,3.03,-0.024032596122042907,0.22242838263297865,-0.9746527837763107 +slow_roll,3.08,-0.016998113363041106,0.6714604955713218,-0.7408453732252177 +slow_roll,3.132,-0.01247060336728103,0.7881419301563627,-0.6153671928052867 +slow_roll,3.182,0.0017347782937767963,0.9491205263327873,-0.31490826765590657 +slow_roll,3.232,0.007717609638179204,0.97873380750562,-0.20498920104977397 +slow_roll,3.282,0.03587973910508903,0.9687888154822927,0.24527713981977012 +slow_roll,3.334,0.03587973910508903,0.9687888154822927,0.24527713981977012 +slow_roll,3.384,0.03587973910508903,0.9687888154822927,0.24527713981977012 +slow_roll,3.434,0.03587973910508903,0.9687888154822927,0.24527713981977012 +slow_roll,3.486,0.0773596494901135,0.6831469198642757,0.726171997883917 +slow_roll,3.536,0.08396325243571906,0.5951635161658628,0.7992062069738338 +slow_roll,3.586,0.10665408569280613,0.12264052944652912,0.9867037075749268 +slow_roll,3.637,0.10964775782794625,0.008981705283138778,0.9939299261887182 +slow_roll,3.687,0.11339630501426597,-0.27174721513415995,0.955664548403853 +slow_roll,3.737,0.11339630501426597,-0.27174721513415995,0.955664548403853 +slow_roll,3.787,0.11339630501426597,-0.27174721513415995,0.955664548403853 +slow_roll,3.837,0.11339630501426597,-0.27174721513415995,0.955664548403853 +slow_roll,3.888,0.10609239313921122,-0.7832115089350282,0.6126370347846358 +slow_roll,3.938,0.08995628366017921,-0.9453017089776493,0.3135483153103919 +slow_roll,3.988,0.06882244451400554,-0.9974002650242589,-0.021358428328288378 +fast_roll,0.0,-0.008855284367132087,-0.1892332671169339,-0.9818922316400249 +fast_roll,0.07,-0.009079338778959034,-0.18350878730578224,-0.9829761393792313 +fast_roll,0.12,-0.010844887563568405,-0.13094766470039781,-0.9913299639994979 +fast_roll,0.171,-0.011626663266558038,-0.1013832901335635,-0.9947794977697217 +fast_roll,0.221,-0.013588458181442458,0.11000248694105531,-0.9938384208064378 +fast_roll,0.271,-0.013553649516693318,0.13987046820323737,-0.9900770428150457 +fast_roll,0.321,-0.013553649516693318,0.13987046820323737,-0.9900770428150457 +fast_roll,0.371,-0.013553649516693318,0.13987046820323737,-0.9900770428150457 +fast_roll,0.421,-0.006220758125301114,0.49530507440045424,-0.8686968317206567 +fast_roll,0.472,-0.003314405697850606,0.5920532974235793,-0.8058919950742387 +fast_roll,0.522,0.00441828382207292,0.7619502753296359,-0.647620457284326 +fast_roll,0.574,0.007511079032515748,0.810291021781891,-0.5859795591242294 +fast_roll,0.624,0.024014725961227404,0.9631712904402981,-0.2678140366160408 +fast_roll,0.675,0.02597855007862328,0.9728863746848865,-0.22981996625252366 +fast_roll,0.725,0.02597855007862328,0.9728863746848865,-0.22981996625252366 +fast_roll,0.776,0.02597855007862328,0.9728863746848865,-0.22981996625252366 +fast_roll,0.826,0.04868464141203835,0.9861706433133424,0.15842117269332898 +fast_roll,0.876,0.05286310421905672,0.9703418261427044,0.2358860586180681 +fast_roll,0.926,0.06484538276965729,0.8874555771771414,0.456308749500427 +fast_roll,0.977,0.07218322140163734,0.8043338636706839,0.589776752933406 +fast_roll,1.027,0.08026447949825838,0.6727395105986717,0.7355128579503784 +fast_roll,1.079,0.08167273377955657,0.6434443447451975,0.761123472093981 +fast_roll,1.129,0.08167273377955657,0.6434443447451975,0.761123472093981 +fast_roll,1.179,0.08167273377955657,0.6434443447451975,0.761123472093981 +fast_roll,1.229,0.09611703670528068,0.26936935196850487,0.9582284004740538 +fast_roll,1.28,0.09757823976817694,0.15352635522555744,0.9833148760061042 +fast_roll,1.33,0.09823604865691905,-0.08212983146319404,0.9917683043574758 +fast_roll,1.38,0.09694679551098685,-0.23748907927294635,0.9665403540805936 +fast_roll,1.43,0.09341384952042775,-0.4228500863358093,0.9013720969741483 +fast_roll,1.481,0.0924495732731865,-0.4577981398954497,0.8842363595271753 +fast_roll,1.567,0.0924495732731865,-0.4577981398954497,0.8842363595271753 +fast_roll,1.617,0.0924495732731865,-0.4577981398954497,0.8842363595271753 +fast_roll,1.671,0.07640115459065343,-0.8308754661661121,0.5511885551247062 +fast_roll,1.721,0.06860250673497353,-0.9076870847962724,0.4140022369066653 +fast_roll,1.771,0.06444845651060765,-0.9377356503677196,0.3413183945860967 +fast_roll,1.821,0.04452538840952553,-0.9989901855288692,-0.0060082446668173126 +fast_roll,1.872,0.03992449458605998,-0.9956634626810288,-0.08402561403566944 +fast_roll,1.923,0.03992449458605998,-0.9956634626810288,-0.08402561403566944 +fast_roll,1.973,0.03992449458605998,-0.9956634626810288,-0.08402561403566944 +fast_roll,2.024,0.022197751797496647,-0.9075294163332098,-0.41940150012254407 +fast_roll,2.075,0.015937330627194494,-0.8519898088332791,-0.52331574325326 +fast_roll,2.125,0.004667849544530708,-0.7060150524798743,-0.7081814434539146 +fast_roll,2.175,0.0013530555546399704,-0.648155304131301,-0.761506973682531 +fast_roll,2.226,-0.010055305667179194,-0.34305984964047753,-0.9392597246728897 +fast_roll,2.278,-0.010975597965093486,-0.3059300411291784,-0.9519907279926669 +fast_roll,2.328,-0.010975597965093486,-0.3059300411291784,-0.9519907279926669 +fast_roll,2.379,-0.010975597965093486,-0.3059300411291784,-0.9519907279926669 +fast_roll,2.429,-0.013147653645135052,0.04085678327034154,-0.9990785066572235 +fast_roll,2.479,-0.013055267066359103,0.15918016034161872,-0.9871632269059877 +fast_roll,2.568,-0.010483057404651826,0.38589633572112736,-0.922482587144309 +fast_roll,2.618,-0.0025064649020058844,0.652755248321719,-0.7575647189660735 +fast_roll,2.669,0.0016507506674964703,0.7373859422292015,-0.6754696493736685 +fast_roll,2.719,0.0016507506674964703,0.7373859422292015,-0.6754696493736685 +fast_roll,2.769,0.0016507506674964703,0.7373859422292015,-0.6754696493736685 +fast_roll,2.82,0.0016507506674964703,0.7373859422292015,-0.6754696493736685 +fast_roll,2.87,0.023670912467358265,0.9516266261089918,-0.30634368343966173 +fast_roll,2.92,0.03612722161345726,0.9965580319340878,-0.07461174737365275 +fast_roll,2.97,0.040383366447819695,0.9991763265386772,0.00398148201251869 +fast_roll,3.02,0.05312824253858915,0.9699096092023001,0.23759785315065957 +fast_roll,3.071,0.059284390015703244,0.9348424830246419,0.3500784098352654 +fast_roll,3.121,0.059284390015703244,0.9348424830246419,0.3500784098352654 +fast_roll,3.171,0.059284390015703244,0.9348424830246419,0.3500784098352654 +fast_roll,3.221,0.059284390015703244,0.9348424830246419,0.3500784098352654 +fast_roll,3.272,0.08072510807136501,0.70137248333348,0.708209076861836 +fast_roll,3.322,0.08779502096077971,0.5478328579420104,0.8319682650519702 +fast_roll,3.373,0.08779502096077971,0.5478328579420104,0.8319682650519702 +fast_roll,3.423,0.09648741582489807,0.18419646700908573,0.9781420347417874 +fast_roll,3.475,0.09712661424334584,0.10679261118594469,0.9895260274503708 +fast_roll,3.525,0.09712661424334584,0.10679261118594469,0.9895260274503708 +fast_roll,3.576,0.09712661424334584,0.10679261118594469,0.9895260274503708 +fast_roll,3.626,0.09808125521867511,-0.276992602937651,0.9558531086378043 +fast_roll,3.678,0.09588170136722707,-0.3885191729020873,0.9164385149208886 +fast_roll,3.728,0.09071503326084339,-0.5619048646134545,0.822212688946248 +fast_roll,3.78,0.08808219791306586,-0.6251522557051209,0.7755167203855778 +fast_roll,3.83,0.07489843104312643,-0.8360677205153536,0.5434896427159753 +fast_roll,3.881,0.0729683550057793,-0.8569144732195361,0.5102677774998492 +fast_roll,3.931,0.0729683550057793,-0.8569144732195361,0.5102677774998492 +fast_roll,3.982,0.0729683550057793,-0.8569144732195361,0.5102677774998492 diff --git a/docs/re/flight-speed-law.md b/docs/re/flight-speed-law.md index 42354fa..d92a509 100644 --- a/docs/re/flight-speed-law.md +++ b/docs/re/flight-speed-law.md @@ -159,8 +159,7 @@ endpoints land on the definition's own numbers — 438/1.2 ≈ **365** against target speed = CruisingVelocity + RT · (MaximumVelocity − CruisingVelocity) ``` -with `LT` presumably mirroring it down to `MinimumVelocity` (measured only at full -deflection so far: ~125 against 100). +and `LT` mirrors it down to `MinimumVelocity` — **measured**, see below. **This also refutes a live hypothesis about the afterburner.** Full `RT` producing more than `MaximumVelocity` looked like it might *be* the burner; it is not — the @@ -169,7 +168,57 @@ Full throttle is simply full throttle. Raw samples: [`captures/throttle-curve-rt.csv`](captures/throttle-curve-rt.csv). -⏳ The `LT` half of the curve is **not measured**: the entity scan that locks onto -the player needs the craft to be *moving* when it runs (it searches changing position -triples), and a mission left idling long enough for the craft to slow or die drops -out of the scan. Bind early, while the craft still has speed. +(The entity scan that locks onto the player searches *changing* position triples, so +it only sees the craft while it still has speed — bind early, or a mission left +idling drops out of the scan entirely and every tool reports "player entity not +found" while the game is visibly flying.) + +--- + +# `LT` mirrors `RT`, and roll does NOT depend on speed + +One flight, both measurements +([`tools/re-capture/flight_law2.py`](../../tools/re-capture/flight_law2.py)). + +## The braking half of the curve + +| `LT` | 0.00 | 0.25 | 0.50 | 0.75 | 1.00 | +|---|---|---|---|---|---| +| speed | 436 | 379 | 289 | 209 | **126** | + +A straight ramp down from cruise to ~126, and dividing by the ~1.2 time-base factor +the endpoints are the definition's own numbers again — 363 against +`CruisingVelocity` **350** and 105 against `MinimumVelocity` **100**. So the throttle +law is symmetric: + +``` +RT held: target = Cruising + RT · (Maximum − Cruising) +LT held: target = Cruising − LT · (Cruising − Minimum) +``` + +## Roll + +Roll turns the craft about its own forward axis, so it has to be measured on a +different row of the rotation matrix than pitch was: + +| phase | rate per 1 s window | mean | +|---|---|---| +| minimum speed + full roll | 171 · 103 · 157 | **~144 °/s** | +| maximum speed + full roll | 140 · 145 · 164 | **~150 °/s** | + +**Roll shows no speed dependence** — the two regimes agree inside the noise, where +pitch dropped by a third to a half between them. Against the definition +(`AV_Roll_Min` 200, `AV_Roll_Max` 125) the measured ~145 °/s is ~121 after the +time-base factor, i.e. **the `Max` value in both regimes**. + +So the `_Min`/`_Max` pair does *not* mean the same thing for every axis: pitch +interpolates between them with speed, roll appears pinned at `Max`. A +reimplementation that applies one rule to all axes would get roll wrong at low +speed by ~60 %. + +🟡 Caveat kept: the roll phases were 2 s of settling apart, which is marginal for a +full 126 → 1 342 speed change, so "no dependence" is a measurement over a real but +not perfectly separated pair of regimes. + +Raw samples: [`captures/throttle-curve-lt.csv`](captures/throttle-curve-lt.csv) · +[`captures/turn-law-roll.csv`](captures/turn-law-roll.csv). diff --git a/tools/re-capture/flight_law2.py b/tools/re-capture/flight_law2.py new file mode 100644 index 0000000..8de7409 --- /dev/null +++ b/tools/re-capture/flight_law2.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 +"""Two measurements the first flight-model pass left open, in ONE flight. + +1. **The `LT` half of the throttle curve** — `RT` was walked 0→1 and gave + `target = CruisingVelocity + RT·(MaximumVelocity − CruisingVelocity)`; `LT` + should mirror it down to `MinimumVelocity`. +2. **Roll rate** vs `AV_Roll_{Min,Max}` (200 / 125 °/s). Roll turns the craft about + its own forward axis, so the forward vector barely moves (3–5 °/s residual, which + is how `LX` was identified as roll at all) — measure a DIFFERENT matrix row. + +Binding happens first and fast: the entity scan searches *changing* position +triples, so it only sees the craft while it still has speed. A mission left idling +drops out of the scan entirely. + +Usage: flight_law2.py [dwell_s] +""" +import json, math, os, struct, subprocess, sys, time +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +import speed_law + +def pad(*a): + subprocess.run(["vgamepad", *a], capture_output=True) + +def row_at(fd, off, cfg, row): + at = off + cfg["rot_delta"] + row * cfg["rot_stride"] + v = struct.unpack(">3f", os.pread(fd, 12, at)) + n = math.sqrt(sum(c * c for c in v)) or 1.0 + return tuple(c / n for c in v) + +def ang(a, b): + d = max(-1.0, min(1.0, sum(a[i] * b[i] for i in range(3)))) + return math.degrees(math.acos(d)) + +def main(): + prefix = sys.argv[1] + dwell = float(sys.argv[2]) if len(sys.argv) > 2 else 4.0 + cfg = json.load(open("/tmp/nav-live.json")) + w, off, nm = speed_law.find_player() + if not w: + sys.exit("player entity not found after retries") + print(f"# locked on {nm}") + + # ── 1. LT curve (speed from position) ───────────────────────────────────── + lt_rows = [] + for v in (0.0, 0.25, 0.5, 0.75, 1.0): + pad("trig", "RT", "0.0"); pad("trig", "LT", str(v)) + time.sleep(2.0) + seq, t0 = [], time.time() + while time.time() - t0 < dwell: + seq.append((round(time.time() - t0, 3), *speed_law.pos_at(w.fd, off))) + time.sleep(0.05) + lt_rows += [(v, *s) for s in seq] + a, b = seq[0], seq[-1] + print(f"# LT={v:<5} speed {math.dist(a[1:], b[1:]) / (b[0] - a[0]):7.0f}/s") + + # ── 2. Roll rate, measured on a non-forward row ─────────────────────────── + roll_rows = [] + other = 1 if cfg.get("fwd_row", 0) != 1 else 2 + for label, trig in (("slow_roll", "LT"), ("fast_roll", "RT")): + pad("trig", "RT", "0.0"); pad("trig", "LT", "0.0") + pad("trig", trig, "1.0") + time.sleep(2.0) + pad("axis", "LX", "1.0") + seq, t0 = [], time.time() + while time.time() - t0 < dwell: + seq.append((round(time.time() - t0, 3), *row_at(w.fd, off, cfg, other))) + time.sleep(0.05) + pad("axis", "LX", "0.0") + roll_rows += [(label, *s) for s in seq] + rates = [] + for t in range(int(dwell) - 1): + a = [s for s in seq if s[0] >= t][0] + b = [s for s in seq if s[0] <= t + 1][-1] + rates.append(ang(a[1:], b[1:]) / (b[0] - a[0])) + print(f"# {label:<10} row {other} turn rate: " + " ".join(f"{r:6.1f}" for r in rates) + " deg/s") + pad("trig", "RT", "0.0"); pad("trig", "LT", "0.0"); pad("reset") + + with open(prefix + "-lt.csv", "w") as f: + f.write("lt,t,x,y,z\n") + for r in lt_rows: + f.write(",".join(str(x) for x in r) + "\n") + with open(prefix + "-roll.csv", "w") as f: + f.write("phase,t,ux,uy,uz\n") + for r in roll_rows: + f.write(",".join(str(x) for x in r) + "\n") + print(f"# wrote {prefix}-lt.csv and {prefix}-roll.csv") + +if __name__ == "__main__": + main()