add 3d math test simulator

This commit is contained in:
sfja 2026-04-03 03:29:10 +02:00
parent 8623764604
commit ff878bf068
13 changed files with 1033 additions and 0 deletions

1
simul/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
target/

66
simul/Cargo.lock generated Normal file
View File

@ -0,0 +1,66 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "bitflags"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
version = "0.2.184"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
[[package]]
name = "sdl3"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dce0693cede7f7901e968e5539f87174d0fb5fac5d489a3e3be52b2b4a0b49c5"
dependencies = [
"bitflags",
"lazy_static",
"libc",
"sdl3-image-sys",
"sdl3-sys",
"sdl3-ttf-sys",
]
[[package]]
name = "sdl3-image-sys"
version = "0.6.1+SDL-image-3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f61a8cc9c72e2cab2e500752f513f65043ff1d36f994b90c7b423abcb796330d"
dependencies = [
"sdl3-sys",
]
[[package]]
name = "sdl3-sys"
version = "0.6.1+SDL-3.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d73fc820b0b6b9bd0557de7b799ec9da1ca4f35fcd1cb42f7ceb85e640d1477"
[[package]]
name = "sdl3-ttf-sys"
version = "0.6.0+SDL-ttf-3.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c30da3dcd7e062f19350b47a532f7629c42801b801687535fd31e8ba2adfd71d"
dependencies = [
"sdl3-sys",
]
[[package]]
name = "simul"
version = "0.1.0"
dependencies = [
"sdl3",
]

7
simul/Cargo.toml Normal file
View File

@ -0,0 +1,7 @@
[package]
name = "simul"
version = "0.1.0"
edition = "2024"
[dependencies]
sdl3 = { version = "0.17.3", features = ["ttf", "image"] }

202
simul/inputs_moving.csv Normal file
View File

@ -0,0 +1,202 @@
time_delta_us,accel_x,accel_y,accel_z,rotation_x,rotation_y,rotation_z
40027,0.0013,0.0035,-1.0068,0.0266,-0.0666,0.1786
39993,0.0021,0.0016,-1.0038,-0.0803,-0.1582,-0.1191
40002,0.0006,0.0021,-0.9960,0.0953,0.1395,-0.0504
39998,-0.0021,-0.0006,-1.0058,-0.1032,0.0250,0.1710
40000,-0.0028,0.0038,-0.9975,0.0342,-0.0208,0.0565
40000,-0.0036,0.0016,-1.0021,-0.0192,-0.0971,-0.0962
40000,0.0006,0.0018,-1.0038,-0.0040,0.1624,0.1328
40000,-0.0026,-0.0001,-0.9987,-0.0956,0.0250,-0.0656
40000,-0.0060,-0.0006,-1.0048,-0.0803,0.1166,-0.1420
40000,-0.0014,-0.0001,-0.9967,0.0647,0.0632,-0.2260
40000,-0.0014,0.0023,-1.0002,-0.0574,-0.0208,-0.0962
40000,-0.0072,-0.0004,-1.0053,0.0800,0.2082,0.0183
40000,-0.0026,-0.0014,-0.9953,-0.1490,0.0632,0.0260
40000,0.0018,0.0064,-1.0019,-0.0040,0.0021,0.0947
40000,-0.0036,0.0038,-1.0068,-0.0421,0.1090,0.0183
40000,0.0025,0.0016,-1.0021,0.1334,0.0250,-0.1573
40000,0.0052,0.0008,-1.0075,-0.0574,-0.0437,0.2626
40000,0.0030,0.0064,-0.9936,-0.0345,0.0632,0.0183
40000,0.0023,-0.0033,-0.9992,-0.0498,0.0403,0.1252
40000,0.0025,-0.0043,-0.9914,0.0647,-0.0284,0.1634
40000,-0.0014,-0.0021,-0.9970,0.0724,-0.0513,0.2321
40000,0.0016,0.0008,-1.0007,-0.1414,0.0174,0.0107
40000,0.0003,-0.0021,-0.9975,-0.0421,0.2006,0.0870
40000,0.0008,-0.0019,-0.9992,-0.0803,0.0556,0.1176
40000,-0.0045,0.0035,-1.0019,0.1105,0.1395,-0.0351
40000,0.0003,-0.0023,-0.9989,0.1411,0.0174,0.0565
40000,0.0001,0.0028,-0.9987,0.0724,-0.1505,-0.1802
40000,0.0033,-0.0021,-1.0036,0.0266,0.1930,0.1023
40000,0.0038,0.0008,-0.9997,0.2632,-0.4330,0.0641
40000,0.0506,0.0018,-0.9723,1.6449,-50.5093,-13.0351
40000,-0.0165,0.0047,-1.0971,-1.6757,-22.4635,-6.9511
40000,-0.0099,-0.0607,-1.1467,-1.9505,-87.3337,-25.0046
40000,-0.1339,-0.0102,-1.3625,-15.0727,7.4220,-5.1344
40000,-0.1015,0.0746,-1.0260,8.1716,42.2082,-14.8595
40000,-0.0197,0.0548,-1.1093,-1.8131,23.3762,2.8427
40000,-0.0207,0.0292,-1.0282,-11.0879,49.5976,5.4763
40000,-0.0124,0.0729,-0.9242,-1.3627,28.2388,-0.5008
40000,0.0538,0.0453,-1.0246,-8.7292,14.4678,6.3542
40000,0.0260,0.0030,-1.0094,-13.2940,31.6205,7.6748
40000,0.0511,0.0279,-0.9621,-14.0879,14.4296,8.6595
40000,0.0533,0.0069,-0.9987,7.7823,6.0785,9.6290
40000,0.0399,0.0296,-0.8827,0.0876,8.6663,7.2779
40000,0.0335,-0.0019,-0.8967,6.1182,-4.0818,4.8046
40000,0.0169,0.0062,-0.8508,4.5304,-10.9902,0.3160
40000,-0.0026,-0.0194,-0.8945,16.9044,-20.2421,0.9420
40000,-0.0294,0.0487,-1.0195,-4.1872,-16.0208,-2.4092
40000,-0.0807,0.0868,-1.0053,38.2861,-3.3337,-2.4092
40000,-0.0358,-0.0204,-0.9194,4.2632,-19.5322,4.0260
40000,0.0016,0.0284,-0.8576,-26.2024,0.3151,-13.6382
40000,0.0228,0.0125,-1.0732,12.5380,12.4983,-5.4244
40000,0.0558,-0.0111,-0.9826,34.8892,108.4831,38.9649
40000,0.1119,0.0770,-1.1088,5.8510,124.6510,23.8656
40000,0.3009,-0.0807,-0.9504,-14.6605,88.9869,24.7740
40000,0.3265,-0.0128,-0.9577,8.7823,185.8571,73.5450
40000,0.2774,-0.0180,-0.8342,-5.4467,168.5441,32.6672
40000,0.4522,-0.0368,-0.8549,3.3014,215.2998,34.0794
40000,0.6808,-0.0636,-0.7858,2.6907,124.4144,28.3618
40000,0.6158,-0.0946,-0.7475,-12.0650,-55.9597,-23.1649
40000,0.5628,-0.0148,-0.8654,-36.6528,-128.6086,-60.9206
40000,0.5758,0.0035,-0.8957,2.6907,-141.8528,-42.7145
40000,0.4034,0.0150,-0.9931,26.1869,-170.8681,-68.4626
40000,0.4059,-0.0148,-0.8495,-9.6070,-160.1887,-47.1420
40000,0.2604,0.0262,-1.0668,-4.7368,-139.3261,-32.8748
40000,0.0936,0.0472,-1.0195,10.9197,-134.0895,-37.0046
40000,0.0736,0.0033,-0.9955,11.4617,-137.9444,-34.0428
40000,-0.0587,0.0074,-0.9960,13.9350,-130.5780,-28.4244
40000,-0.1320,-0.0104,-1.0160,17.0113,-132.9979,-21.0809
40000,-0.1264,-0.0229,-1.0241,20.2403,-140.0284,-11.3710
40000,-0.3998,-0.0189,-0.9291,28.3548,-143.2803,-5.2412
40000,-0.4491,-0.0834,-0.8935,28.5304,-75.5017,-19.8137
40000,-0.4696,-0.1056,-0.8300,24.8892,-26.7612,-4.5771
40000,-0.3866,-0.1662,-0.7995,16.0647,62.8800,28.3924
40000,-0.2577,-0.1278,-0.8696,3.5915,185.0479,71.0412
40000,-0.2492,-0.0719,-0.9184,31.5304,184.3533,75.5985
40000,-0.2084,-0.1276,-0.7682,-10.5765,194.5060,50.3847
40000,0.3248,-0.0622,-1.2599,17.6220,249.0021,69.4840
40000,0.0782,-0.1164,-0.9130,18.7212,170.7426,37.2473
40000,0.2545,-0.1032,-0.8903,-10.7673,243.8037,39.4534
40000,0.5404,-0.0822,-0.9626,13.5380,219.1930,23.3084
40000,0.6239,-0.0814,-0.8417,-28.2711,121.3762,19.2092
40000,0.7325,-0.1137,-0.8869,6.0342,100.1166,21.4458
40000,0.5870,-0.0917,-0.8246,18.7899,-14.4788,-8.5771
40000,0.6219,-0.0827,-0.7807,0.5533,-116.4406,-44.3863
40000,0.4671,-0.0692,-0.9194,15.1029,-203.8757,-72.9130
40000,0.4164,-0.0941,-0.8449,27.5914,-209.9139,-91.2260
40000,0.3453,-0.1056,-0.8674,-1.9811,-191.9597,-72.4779
40000,0.1217,-0.0512,-0.9880,-11.5002,-168.3337,-45.4779
40000,-0.0006,-0.0087,-1.0900,15.4464,-160.4025,-59.6992
40000,0.0057,-0.0453,-1.0212,7.0800,-187.5017,-64.1115
40000,-0.2084,-0.0563,-1.0414,15.9808,-130.6162,-44.8824
40000,-0.2899,-0.0954,-0.9833,24.2937,-111.1734,-38.0122
40000,-0.3231,-0.1710,-0.8544,13.7289,-33.3872,-17.9130
40003,-0.1605,-0.2396,-0.8207,11.9044,74.3609,35.5679
39997,-0.1205,-0.2047,-0.7714,-6.1108,202.8189,105.3542
40000,-0.0517,-0.0783,-0.9357,-6.0727,249.0021,94.6672
40000,0.1671,-0.0814,-0.9797,-28.2788,203.4220,75.2397
40000,0.2320,-0.0453,-0.9850,-23.9963,210.0937,66.2626
40000,0.4010,-0.0414,-1.0802,12.3777,180.9945,71.0565
40000,0.3792,-0.1222,-0.8449,23.1411,166.5212,46.9878
40000,0.5477,-0.1261,-0.8427,-0.3627,161.3304,40.6290
40000,0.7640,-0.1950,-0.7968,0.5838,82.1777,33.9267
40000,0.5892,-0.1308,-0.8822,11.0342,-34.5475,-2.6458
40000,0.6087,-0.1413,-0.8302,26.5838,-127.0895,-33.0198
40000,0.5277,-0.1483,-0.8288,6.6602,-218.2421,-69.3328
40000,0.3971,-0.1608,-0.8107,-15.9124,-167.7002,-50.7756
40000,0.2660,-0.1039,-0.9906,-17.5154,-146.7841,-48.8748
40000,0.1747,-0.0990,-0.9745,-7.3017,-155.6849,-50.0046
40000,0.0389,-0.1007,-1.0478,-6.7063,-146.5093,-55.4397
40000,0.0089,-0.0980,-0.9967,-16.9124,-171.3490,-53.7985
40000,-0.1901,-0.0480,-1.0519,-4.9276,-173.4635,-62.5695
40000,-0.2458,-0.0709,-1.0260,14.1258,-138.9139,-49.8595
40000,-0.3146,-0.1337,-0.8893,18.1563,-86.2879,-34.8977
40000,-0.3827,-0.1339,-0.9042,13.6602,-43.9673,-22.9969
40000,-0.3686,-0.1630,-0.8632,16.4235,-17.0666,-19.2412
40000,-0.1935,-0.2294,-0.7309,-1.7597,96.9563,42.1863
40000,-0.2169,-0.1117,-0.9701,-5.4544,208.5746,103.0565
40000,-0.1786,-0.1605,-0.7995,-19.7979,183.2846,83.6290
40000,0.0650,-0.0465,-0.9518,-39.5002,242.3609,95.5374
40000,0.2164,-0.0199,-1.1952,-27.1185,169.1777,74.5221
40000,0.2459,-0.0514,-0.9538,-14.7902,147.8189,63.6061
40000,0.4134,-0.0756,-1.0270,4.4311,164.0174,56.1405
40000,0.3802,-0.1012,-0.8586,-5.7215,73.3304,36.1176
40000,0.5226,-0.1078,-0.8429,-9.8895,99.0556,41.5908
40000,0.4972,-0.0888,-0.9225,7.2327,52.0632,28.6443
40000,0.4291,-0.0963,-0.9196,-10.1185,-78.4864,-23.2870
40000,0.4977,-0.0941,-0.7626,-32.3169,-93.1505,-18.4550
40000,0.3338,-0.0399,-0.9530,-27.9124,-114.2727,-17.1649
40000,0.1883,0.0165,-0.9753,-26.4391,-218.1353,-75.6611
40000,0.3189,-0.0263,-0.9499,-14.6070,-132.8681,-43.4473
40000,0.0511,0.0106,-1.0146,-16.8131,-120.5322,-41.8290
40000,0.0208,-0.0119,-1.0397,-9.2101,-157.6925,-75.5313
40000,-0.1046,0.0072,-0.9887,-2.7292,-116.3643,-55.9282
40000,-0.1796,0.0133,-1.0343,-4.5231,-95.3872,-36.3099
40000,-0.2731,0.0123,-0.9828,14.3701,-111.2879,-63.3099
40000,-0.2909,-0.0297,-0.8554,16.3243,-59.3566,-28.4092
40000,-0.3219,-0.0604,-0.8837,12.7899,27.0861,6.1634
40000,-0.2770,-0.0724,-0.8742,6.2861,89.0327,39.2855
40000,-0.1437,-0.0275,-1.0827,28.0266,215.3762,72.7893
40000,-0.0692,-0.0561,-0.9093,48.5609,201.1624,56.8809
40000,0.0963,-0.0519,-1.0107,8.4388,189.9640,34.7282
40000,0.1566,-0.0998,-0.9284,16.7976,184.5594,29.8427
40000,0.3392,-0.0741,-0.9474,-10.5002,139.5975,11.3237
40000,0.3626,-0.0956,-0.8893,15.6907,139.8571,29.2931
40000,0.5099,-0.0854,-0.8449,20.7289,88.0479,12.7206
40000,0.4332,-0.0695,-0.9696,32.3014,-90.7307,-7.2718
40000,0.3797,-0.1220,-0.8822,13.8968,-139.7612,-27.8519
40000,0.3651,-0.1691,-0.8547,11.7518,-62.4024,-14.7603
40000,0.3214,-0.1525,-0.9499,-14.7292,-109.9063,-3.3786
40000,0.1546,-0.1020,-1.0485,20.5762,-150.8299,-45.9664
40000,0.2191,-0.1435,-0.8693,-0.8284,-126.8605,-41.9664
40000,0.0248,-0.1439,-1.0016,-3.7063,-140.8452,-38.0886
40000,-0.0529,-0.1369,-1.0180,-18.7215,-132.1505,-51.8748
40000,-0.0800,-0.1681,-1.0041,-11.6834,-104.6391,-47.9817
40000,-0.1562,-0.1471,-0.9848,-31.4620,-115.2116,-36.4168
40000,-0.2641,-0.1129,-1.0697,-20.0956,-98.9673,-28.0580
40000,-0.3078,-0.1049,-0.9443,-7.5078,-49.8376,-26.6229
40000,-0.3478,-0.0910,-0.9584,-7.0269,-15.8986,-0.1802
40000,-0.2860,-0.1330,-0.9357,10.7060,61.8953,22.3466
40000,-0.2128,-0.1061,-1.0053,42.8510,186.2311,77.7359
40000,-0.2211,-0.0878,-0.9601,-3.9353,124.0098,60.1328
40000,-0.0492,-0.1361,-1.0278,26.8968,201.2159,55.1557
40000,0.0677,-0.1098,-0.9975,39.7976,247.2464,56.8046
40000,0.2589,-0.1466,-0.9784,-0.6528,137.8189,14.6519
40000,0.3414,-0.1686,-0.8063,-12.8895,203.4678,9.2473
40000,0.4793,-0.1300,-1.0607,70.5762,249.0021,33.4992
40000,0.6000,-0.1957,-0.7602,76.6449,173.8113,10.5145
40000,0.7042,-0.2672,-0.4201,-28.4009,14.7502,-16.2641
40000,0.6393,-0.1898,-0.8586,-41.9047,-36.0971,-13.9740
40000,0.6451,-0.1962,-0.7150,-27.7521,-83.2727,-10.1038
40000,0.5301,-0.1593,-0.7724,-31.6070,-112.5856,-8.4855
40000,0.5526,-0.1469,-0.9384,-17.6834,-115.0818,-6.7221
40000,0.2538,-0.0072,-1.0468,-56.4696,-251.2650,-84.4702
40000,0.2984,-0.1574,-0.8437,-25.8818,-195.5399,-80.7756
40000,0.1251,-0.0966,-1.1110,-3.4162,-111.7078,-23.8519
40000,0.0177,-0.0290,-1.0024,16.9426,-138.2269,-25.9817
40000,-0.0043,-0.0773,-1.0768,10.2708,-163.9979,-24.9435
40000,-0.1728,-0.1093,-0.8061,25.2937,-59.6849,-5.6992
40000,-0.1889,-0.1410,-0.9391,7.5227,-74.8147,-4.1878
40000,-0.1657,-0.1127,-0.8664,5.6525,-12.8910,30.9573
40000,-0.3175,-0.0709,-1.2196,43.1945,64.5289,54.6901
40000,-0.2438,-0.1466,-1.1637,181.5227,57.4144,20.7282
40000,-0.0890,-0.2565,-0.9384,160.8128,57.9182,-1.8290
40000,-0.1803,-0.3703,-0.9142,130.2937,24.4373,-5.6305
40000,-0.0670,-0.4188,-0.7580,96.8281,13.8876,-36.0351
40000,-0.0214,-0.4904,-0.7804,71.0724,20.6892,-13.2031
40000,-0.0343,-0.5338,-0.7399,11.1258,14.8495,-3.5313
40000,-0.0985,-0.5421,-0.7265,-43.2177,11.6205,3.3008
40000,-0.0873,-0.3944,-0.6347,-148.5231,14.7579,19.9573
40000,-0.1256,-0.2963,-0.9223,-198.7979,20.3609,7.9420
40000,0.0514,-0.1913,-1.1122,-141.9124,11.9640,11.6748
40000,-0.1347,-0.1269,-0.9872,-103.5536,-9.0208,-5.8901
40000,0.0594,-0.1217,-0.8813,-92.2788,37.0861,-0.8443
40003,-0.0214,0.0216,-1.1484,-81.5154,21.4754,5.0718
39997,0.0545,0.0365,-1.0751,-59.0421,21.3533,11.8656
40000,0.0040,0.0721,-1.1127,0.9808,21.5441,6.9496
40000,0.0406,0.0577,-1.1217,36.9960,22.4449,-2.2412
40000,0.0694,-0.0387,-1.1364,137.9044,32.2159,-2.3634
40000,0.1168,-0.1154,-1.0627,194.2098,43.4678,-13.0885
40000,0.1161,-0.2560,-0.8837,166.0571,42.2006,-3.3863
40000,0.2018,-0.3476,-0.9196,88.5151,19.3227,2.0870
1 time_delta_us accel_x accel_y accel_z rotation_x rotation_y rotation_z
2 40027 0.0013 0.0035 -1.0068 0.0266 -0.0666 0.1786
3 39993 0.0021 0.0016 -1.0038 -0.0803 -0.1582 -0.1191
4 40002 0.0006 0.0021 -0.9960 0.0953 0.1395 -0.0504
5 39998 -0.0021 -0.0006 -1.0058 -0.1032 0.0250 0.1710
6 40000 -0.0028 0.0038 -0.9975 0.0342 -0.0208 0.0565
7 40000 -0.0036 0.0016 -1.0021 -0.0192 -0.0971 -0.0962
8 40000 0.0006 0.0018 -1.0038 -0.0040 0.1624 0.1328
9 40000 -0.0026 -0.0001 -0.9987 -0.0956 0.0250 -0.0656
10 40000 -0.0060 -0.0006 -1.0048 -0.0803 0.1166 -0.1420
11 40000 -0.0014 -0.0001 -0.9967 0.0647 0.0632 -0.2260
12 40000 -0.0014 0.0023 -1.0002 -0.0574 -0.0208 -0.0962
13 40000 -0.0072 -0.0004 -1.0053 0.0800 0.2082 0.0183
14 40000 -0.0026 -0.0014 -0.9953 -0.1490 0.0632 0.0260
15 40000 0.0018 0.0064 -1.0019 -0.0040 0.0021 0.0947
16 40000 -0.0036 0.0038 -1.0068 -0.0421 0.1090 0.0183
17 40000 0.0025 0.0016 -1.0021 0.1334 0.0250 -0.1573
18 40000 0.0052 0.0008 -1.0075 -0.0574 -0.0437 0.2626
19 40000 0.0030 0.0064 -0.9936 -0.0345 0.0632 0.0183
20 40000 0.0023 -0.0033 -0.9992 -0.0498 0.0403 0.1252
21 40000 0.0025 -0.0043 -0.9914 0.0647 -0.0284 0.1634
22 40000 -0.0014 -0.0021 -0.9970 0.0724 -0.0513 0.2321
23 40000 0.0016 0.0008 -1.0007 -0.1414 0.0174 0.0107
24 40000 0.0003 -0.0021 -0.9975 -0.0421 0.2006 0.0870
25 40000 0.0008 -0.0019 -0.9992 -0.0803 0.0556 0.1176
26 40000 -0.0045 0.0035 -1.0019 0.1105 0.1395 -0.0351
27 40000 0.0003 -0.0023 -0.9989 0.1411 0.0174 0.0565
28 40000 0.0001 0.0028 -0.9987 0.0724 -0.1505 -0.1802
29 40000 0.0033 -0.0021 -1.0036 0.0266 0.1930 0.1023
30 40000 0.0038 0.0008 -0.9997 0.2632 -0.4330 0.0641
31 40000 0.0506 0.0018 -0.9723 1.6449 -50.5093 -13.0351
32 40000 -0.0165 0.0047 -1.0971 -1.6757 -22.4635 -6.9511
33 40000 -0.0099 -0.0607 -1.1467 -1.9505 -87.3337 -25.0046
34 40000 -0.1339 -0.0102 -1.3625 -15.0727 7.4220 -5.1344
35 40000 -0.1015 0.0746 -1.0260 8.1716 42.2082 -14.8595
36 40000 -0.0197 0.0548 -1.1093 -1.8131 23.3762 2.8427
37 40000 -0.0207 0.0292 -1.0282 -11.0879 49.5976 5.4763
38 40000 -0.0124 0.0729 -0.9242 -1.3627 28.2388 -0.5008
39 40000 0.0538 0.0453 -1.0246 -8.7292 14.4678 6.3542
40 40000 0.0260 0.0030 -1.0094 -13.2940 31.6205 7.6748
41 40000 0.0511 0.0279 -0.9621 -14.0879 14.4296 8.6595
42 40000 0.0533 0.0069 -0.9987 7.7823 6.0785 9.6290
43 40000 0.0399 0.0296 -0.8827 0.0876 8.6663 7.2779
44 40000 0.0335 -0.0019 -0.8967 6.1182 -4.0818 4.8046
45 40000 0.0169 0.0062 -0.8508 4.5304 -10.9902 0.3160
46 40000 -0.0026 -0.0194 -0.8945 16.9044 -20.2421 0.9420
47 40000 -0.0294 0.0487 -1.0195 -4.1872 -16.0208 -2.4092
48 40000 -0.0807 0.0868 -1.0053 38.2861 -3.3337 -2.4092
49 40000 -0.0358 -0.0204 -0.9194 4.2632 -19.5322 4.0260
50 40000 0.0016 0.0284 -0.8576 -26.2024 0.3151 -13.6382
51 40000 0.0228 0.0125 -1.0732 12.5380 12.4983 -5.4244
52 40000 0.0558 -0.0111 -0.9826 34.8892 108.4831 38.9649
53 40000 0.1119 0.0770 -1.1088 5.8510 124.6510 23.8656
54 40000 0.3009 -0.0807 -0.9504 -14.6605 88.9869 24.7740
55 40000 0.3265 -0.0128 -0.9577 8.7823 185.8571 73.5450
56 40000 0.2774 -0.0180 -0.8342 -5.4467 168.5441 32.6672
57 40000 0.4522 -0.0368 -0.8549 3.3014 215.2998 34.0794
58 40000 0.6808 -0.0636 -0.7858 2.6907 124.4144 28.3618
59 40000 0.6158 -0.0946 -0.7475 -12.0650 -55.9597 -23.1649
60 40000 0.5628 -0.0148 -0.8654 -36.6528 -128.6086 -60.9206
61 40000 0.5758 0.0035 -0.8957 2.6907 -141.8528 -42.7145
62 40000 0.4034 0.0150 -0.9931 26.1869 -170.8681 -68.4626
63 40000 0.4059 -0.0148 -0.8495 -9.6070 -160.1887 -47.1420
64 40000 0.2604 0.0262 -1.0668 -4.7368 -139.3261 -32.8748
65 40000 0.0936 0.0472 -1.0195 10.9197 -134.0895 -37.0046
66 40000 0.0736 0.0033 -0.9955 11.4617 -137.9444 -34.0428
67 40000 -0.0587 0.0074 -0.9960 13.9350 -130.5780 -28.4244
68 40000 -0.1320 -0.0104 -1.0160 17.0113 -132.9979 -21.0809
69 40000 -0.1264 -0.0229 -1.0241 20.2403 -140.0284 -11.3710
70 40000 -0.3998 -0.0189 -0.9291 28.3548 -143.2803 -5.2412
71 40000 -0.4491 -0.0834 -0.8935 28.5304 -75.5017 -19.8137
72 40000 -0.4696 -0.1056 -0.8300 24.8892 -26.7612 -4.5771
73 40000 -0.3866 -0.1662 -0.7995 16.0647 62.8800 28.3924
74 40000 -0.2577 -0.1278 -0.8696 3.5915 185.0479 71.0412
75 40000 -0.2492 -0.0719 -0.9184 31.5304 184.3533 75.5985
76 40000 -0.2084 -0.1276 -0.7682 -10.5765 194.5060 50.3847
77 40000 0.3248 -0.0622 -1.2599 17.6220 249.0021 69.4840
78 40000 0.0782 -0.1164 -0.9130 18.7212 170.7426 37.2473
79 40000 0.2545 -0.1032 -0.8903 -10.7673 243.8037 39.4534
80 40000 0.5404 -0.0822 -0.9626 13.5380 219.1930 23.3084
81 40000 0.6239 -0.0814 -0.8417 -28.2711 121.3762 19.2092
82 40000 0.7325 -0.1137 -0.8869 6.0342 100.1166 21.4458
83 40000 0.5870 -0.0917 -0.8246 18.7899 -14.4788 -8.5771
84 40000 0.6219 -0.0827 -0.7807 0.5533 -116.4406 -44.3863
85 40000 0.4671 -0.0692 -0.9194 15.1029 -203.8757 -72.9130
86 40000 0.4164 -0.0941 -0.8449 27.5914 -209.9139 -91.2260
87 40000 0.3453 -0.1056 -0.8674 -1.9811 -191.9597 -72.4779
88 40000 0.1217 -0.0512 -0.9880 -11.5002 -168.3337 -45.4779
89 40000 -0.0006 -0.0087 -1.0900 15.4464 -160.4025 -59.6992
90 40000 0.0057 -0.0453 -1.0212 7.0800 -187.5017 -64.1115
91 40000 -0.2084 -0.0563 -1.0414 15.9808 -130.6162 -44.8824
92 40000 -0.2899 -0.0954 -0.9833 24.2937 -111.1734 -38.0122
93 40000 -0.3231 -0.1710 -0.8544 13.7289 -33.3872 -17.9130
94 40003 -0.1605 -0.2396 -0.8207 11.9044 74.3609 35.5679
95 39997 -0.1205 -0.2047 -0.7714 -6.1108 202.8189 105.3542
96 40000 -0.0517 -0.0783 -0.9357 -6.0727 249.0021 94.6672
97 40000 0.1671 -0.0814 -0.9797 -28.2788 203.4220 75.2397
98 40000 0.2320 -0.0453 -0.9850 -23.9963 210.0937 66.2626
99 40000 0.4010 -0.0414 -1.0802 12.3777 180.9945 71.0565
100 40000 0.3792 -0.1222 -0.8449 23.1411 166.5212 46.9878
101 40000 0.5477 -0.1261 -0.8427 -0.3627 161.3304 40.6290
102 40000 0.7640 -0.1950 -0.7968 0.5838 82.1777 33.9267
103 40000 0.5892 -0.1308 -0.8822 11.0342 -34.5475 -2.6458
104 40000 0.6087 -0.1413 -0.8302 26.5838 -127.0895 -33.0198
105 40000 0.5277 -0.1483 -0.8288 6.6602 -218.2421 -69.3328
106 40000 0.3971 -0.1608 -0.8107 -15.9124 -167.7002 -50.7756
107 40000 0.2660 -0.1039 -0.9906 -17.5154 -146.7841 -48.8748
108 40000 0.1747 -0.0990 -0.9745 -7.3017 -155.6849 -50.0046
109 40000 0.0389 -0.1007 -1.0478 -6.7063 -146.5093 -55.4397
110 40000 0.0089 -0.0980 -0.9967 -16.9124 -171.3490 -53.7985
111 40000 -0.1901 -0.0480 -1.0519 -4.9276 -173.4635 -62.5695
112 40000 -0.2458 -0.0709 -1.0260 14.1258 -138.9139 -49.8595
113 40000 -0.3146 -0.1337 -0.8893 18.1563 -86.2879 -34.8977
114 40000 -0.3827 -0.1339 -0.9042 13.6602 -43.9673 -22.9969
115 40000 -0.3686 -0.1630 -0.8632 16.4235 -17.0666 -19.2412
116 40000 -0.1935 -0.2294 -0.7309 -1.7597 96.9563 42.1863
117 40000 -0.2169 -0.1117 -0.9701 -5.4544 208.5746 103.0565
118 40000 -0.1786 -0.1605 -0.7995 -19.7979 183.2846 83.6290
119 40000 0.0650 -0.0465 -0.9518 -39.5002 242.3609 95.5374
120 40000 0.2164 -0.0199 -1.1952 -27.1185 169.1777 74.5221
121 40000 0.2459 -0.0514 -0.9538 -14.7902 147.8189 63.6061
122 40000 0.4134 -0.0756 -1.0270 4.4311 164.0174 56.1405
123 40000 0.3802 -0.1012 -0.8586 -5.7215 73.3304 36.1176
124 40000 0.5226 -0.1078 -0.8429 -9.8895 99.0556 41.5908
125 40000 0.4972 -0.0888 -0.9225 7.2327 52.0632 28.6443
126 40000 0.4291 -0.0963 -0.9196 -10.1185 -78.4864 -23.2870
127 40000 0.4977 -0.0941 -0.7626 -32.3169 -93.1505 -18.4550
128 40000 0.3338 -0.0399 -0.9530 -27.9124 -114.2727 -17.1649
129 40000 0.1883 0.0165 -0.9753 -26.4391 -218.1353 -75.6611
130 40000 0.3189 -0.0263 -0.9499 -14.6070 -132.8681 -43.4473
131 40000 0.0511 0.0106 -1.0146 -16.8131 -120.5322 -41.8290
132 40000 0.0208 -0.0119 -1.0397 -9.2101 -157.6925 -75.5313
133 40000 -0.1046 0.0072 -0.9887 -2.7292 -116.3643 -55.9282
134 40000 -0.1796 0.0133 -1.0343 -4.5231 -95.3872 -36.3099
135 40000 -0.2731 0.0123 -0.9828 14.3701 -111.2879 -63.3099
136 40000 -0.2909 -0.0297 -0.8554 16.3243 -59.3566 -28.4092
137 40000 -0.3219 -0.0604 -0.8837 12.7899 27.0861 6.1634
138 40000 -0.2770 -0.0724 -0.8742 6.2861 89.0327 39.2855
139 40000 -0.1437 -0.0275 -1.0827 28.0266 215.3762 72.7893
140 40000 -0.0692 -0.0561 -0.9093 48.5609 201.1624 56.8809
141 40000 0.0963 -0.0519 -1.0107 8.4388 189.9640 34.7282
142 40000 0.1566 -0.0998 -0.9284 16.7976 184.5594 29.8427
143 40000 0.3392 -0.0741 -0.9474 -10.5002 139.5975 11.3237
144 40000 0.3626 -0.0956 -0.8893 15.6907 139.8571 29.2931
145 40000 0.5099 -0.0854 -0.8449 20.7289 88.0479 12.7206
146 40000 0.4332 -0.0695 -0.9696 32.3014 -90.7307 -7.2718
147 40000 0.3797 -0.1220 -0.8822 13.8968 -139.7612 -27.8519
148 40000 0.3651 -0.1691 -0.8547 11.7518 -62.4024 -14.7603
149 40000 0.3214 -0.1525 -0.9499 -14.7292 -109.9063 -3.3786
150 40000 0.1546 -0.1020 -1.0485 20.5762 -150.8299 -45.9664
151 40000 0.2191 -0.1435 -0.8693 -0.8284 -126.8605 -41.9664
152 40000 0.0248 -0.1439 -1.0016 -3.7063 -140.8452 -38.0886
153 40000 -0.0529 -0.1369 -1.0180 -18.7215 -132.1505 -51.8748
154 40000 -0.0800 -0.1681 -1.0041 -11.6834 -104.6391 -47.9817
155 40000 -0.1562 -0.1471 -0.9848 -31.4620 -115.2116 -36.4168
156 40000 -0.2641 -0.1129 -1.0697 -20.0956 -98.9673 -28.0580
157 40000 -0.3078 -0.1049 -0.9443 -7.5078 -49.8376 -26.6229
158 40000 -0.3478 -0.0910 -0.9584 -7.0269 -15.8986 -0.1802
159 40000 -0.2860 -0.1330 -0.9357 10.7060 61.8953 22.3466
160 40000 -0.2128 -0.1061 -1.0053 42.8510 186.2311 77.7359
161 40000 -0.2211 -0.0878 -0.9601 -3.9353 124.0098 60.1328
162 40000 -0.0492 -0.1361 -1.0278 26.8968 201.2159 55.1557
163 40000 0.0677 -0.1098 -0.9975 39.7976 247.2464 56.8046
164 40000 0.2589 -0.1466 -0.9784 -0.6528 137.8189 14.6519
165 40000 0.3414 -0.1686 -0.8063 -12.8895 203.4678 9.2473
166 40000 0.4793 -0.1300 -1.0607 70.5762 249.0021 33.4992
167 40000 0.6000 -0.1957 -0.7602 76.6449 173.8113 10.5145
168 40000 0.7042 -0.2672 -0.4201 -28.4009 14.7502 -16.2641
169 40000 0.6393 -0.1898 -0.8586 -41.9047 -36.0971 -13.9740
170 40000 0.6451 -0.1962 -0.7150 -27.7521 -83.2727 -10.1038
171 40000 0.5301 -0.1593 -0.7724 -31.6070 -112.5856 -8.4855
172 40000 0.5526 -0.1469 -0.9384 -17.6834 -115.0818 -6.7221
173 40000 0.2538 -0.0072 -1.0468 -56.4696 -251.2650 -84.4702
174 40000 0.2984 -0.1574 -0.8437 -25.8818 -195.5399 -80.7756
175 40000 0.1251 -0.0966 -1.1110 -3.4162 -111.7078 -23.8519
176 40000 0.0177 -0.0290 -1.0024 16.9426 -138.2269 -25.9817
177 40000 -0.0043 -0.0773 -1.0768 10.2708 -163.9979 -24.9435
178 40000 -0.1728 -0.1093 -0.8061 25.2937 -59.6849 -5.6992
179 40000 -0.1889 -0.1410 -0.9391 7.5227 -74.8147 -4.1878
180 40000 -0.1657 -0.1127 -0.8664 5.6525 -12.8910 30.9573
181 40000 -0.3175 -0.0709 -1.2196 43.1945 64.5289 54.6901
182 40000 -0.2438 -0.1466 -1.1637 181.5227 57.4144 20.7282
183 40000 -0.0890 -0.2565 -0.9384 160.8128 57.9182 -1.8290
184 40000 -0.1803 -0.3703 -0.9142 130.2937 24.4373 -5.6305
185 40000 -0.0670 -0.4188 -0.7580 96.8281 13.8876 -36.0351
186 40000 -0.0214 -0.4904 -0.7804 71.0724 20.6892 -13.2031
187 40000 -0.0343 -0.5338 -0.7399 11.1258 14.8495 -3.5313
188 40000 -0.0985 -0.5421 -0.7265 -43.2177 11.6205 3.3008
189 40000 -0.0873 -0.3944 -0.6347 -148.5231 14.7579 19.9573
190 40000 -0.1256 -0.2963 -0.9223 -198.7979 20.3609 7.9420
191 40000 0.0514 -0.1913 -1.1122 -141.9124 11.9640 11.6748
192 40000 -0.1347 -0.1269 -0.9872 -103.5536 -9.0208 -5.8901
193 40000 0.0594 -0.1217 -0.8813 -92.2788 37.0861 -0.8443
194 40003 -0.0214 0.0216 -1.1484 -81.5154 21.4754 5.0718
195 39997 0.0545 0.0365 -1.0751 -59.0421 21.3533 11.8656
196 40000 0.0040 0.0721 -1.1127 0.9808 21.5441 6.9496
197 40000 0.0406 0.0577 -1.1217 36.9960 22.4449 -2.2412
198 40000 0.0694 -0.0387 -1.1364 137.9044 32.2159 -2.3634
199 40000 0.1168 -0.1154 -1.0627 194.2098 43.4678 -13.0885
200 40000 0.1161 -0.2560 -0.8837 166.0571 42.2006 -3.3863
201 40000 0.2018 -0.3476 -0.9196 88.5151 19.3227 2.0870

202
simul/inputs_still.csv Normal file
View File

@ -0,0 +1,202 @@
time_delta_us,accel_x,accel_y,accel_z,rotation_x,rotation_y,rotation_z
40024,-0.0034,-0.0021,-0.9975,0.0803,-0.1545,-0.3072
39995,0.0030,0.0010,-1.0006,-0.2174,-0.0324,-0.1392
40002,0.0005,-0.0073,-1.0006,-0.0418,0.1585,0.1508
39998,-0.0007,-0.0033,-0.9940,0.0269,0.0058,0.0898
40000,0.0025,0.0008,-0.9960,-0.1411,0.0516,0.1356
40000,-0.0014,0.0020,-1.0070,0.0116,0.0287,0.1356
40000,0.0008,-0.0024,-0.9879,0.0650,0.1661,0.0134
40000,-0.0004,-0.0002,-0.9970,-0.0953,-0.0095,0.0134
40000,-0.0051,-0.0055,-1.0036,0.0498,-0.0324,-0.0018
40000,0.0052,0.0030,-1.0050,0.0879,-0.1545,-0.2232
40000,0.0032,-0.0033,-0.9967,0.0116,0.0440,0.0592
40000,-0.0012,0.0052,-1.0060,0.0879,-0.0247,-0.0629
40000,-0.0009,-0.0046,-0.9923,-0.1258,0.0211,-0.2461
40000,-0.0002,-0.0031,-0.9994,-0.0724,-0.0095,0.0592
40000,0.0045,-0.0092,-0.9965,0.1108,-0.1850,0.0058
40000,0.0025,0.0001,-1.0019,-0.1487,0.0974,0.0592
40000,-0.0026,-0.0075,-0.9965,0.0727,-0.0324,0.1127
40000,0.0001,0.0001,-0.9975,-0.0418,0.1203,-0.1698
40000,0.0042,-0.0051,-1.0033,0.0345,-0.0095,0.0821
40000,-0.0007,-0.0026,-0.9999,0.0574,0.0134,-0.0782
40000,0.0088,-0.0002,-0.9992,-0.0113,0.0287,-0.0095
40000,0.0005,-0.0038,-1.0038,-0.1258,-0.0782,-0.0553
40000,0.0005,-0.0063,-0.9984,0.2253,-0.0553,-0.3072
40000,0.0071,-0.0036,-0.9938,0.0345,0.0211,-0.0171
40000,0.0020,-0.0014,-0.9870,-0.1182,0.1585,-0.0324
40000,0.0020,-0.0041,-0.9994,-0.0113,-0.2079,-0.1240
40000,-0.0063,-0.0046,-1.0019,-0.0113,0.1585,0.0821
40000,-0.0019,-0.0014,-0.9921,-0.0953,-0.2003,0.0745
40000,0.0081,0.0045,-1.0043,-0.0418,0.1508,-0.2003
40000,-0.0017,0.0013,-0.9992,-0.1563,-0.0705,-0.1469
40000,0.0020,-0.0026,-0.9972,-0.1869,0.0745,0.0058
40000,-0.0026,-0.0024,-0.9982,-0.0495,-0.0095,-0.1545
40000,0.0042,0.0008,-0.9979,-0.0495,-0.0934,0.0592
40000,0.0086,0.0010,-0.9977,0.1948,-0.0324,-0.1163
40000,0.0064,-0.0021,-1.0014,-0.0418,-0.0171,-0.1240
40000,0.0030,0.0040,-0.9950,-0.0266,-0.0095,0.1279
40000,-0.0017,-0.0060,-0.9943,0.0040,0.1661,-0.1011
40000,0.0003,-0.0055,-0.9999,-0.1258,-0.0018,-0.0705
40000,-0.0002,-0.0046,-0.9982,-0.0037,-0.0247,0.0516
40000,0.0001,-0.0021,-1.0065,0.1185,-0.1011,0.0440
40000,-0.0002,0.0030,-1.0023,-0.1182,0.0211,0.0974
40000,0.0005,-0.0060,-1.0001,-0.0647,0.2272,0.1432
40000,-0.0007,-0.0041,-1.0004,-0.0113,0.0134,-0.0400
40000,0.0010,-0.0014,-0.9926,-0.0647,-0.1011,-0.1469
40000,-0.0017,-0.0009,-0.9933,0.0650,0.1432,-0.0324
40000,-0.0038,-0.0077,-0.9958,0.1566,-0.0705,-0.0934
40000,-0.0004,-0.0090,-0.9955,0.1032,-0.0018,-0.1774
40000,-0.0004,-0.0033,-1.0023,-0.0647,0.0592,-0.0247
40000,0.0035,-0.0021,-0.9940,0.1566,-0.0934,0.2043
40000,-0.0007,-0.0060,-0.9887,0.1337,0.0745,-0.0553
40000,0.0013,0.0010,-0.9926,0.1108,-0.1927,0.0287
40000,0.0030,-0.0004,-0.9962,0.0269,0.0287,-0.1927
40000,0.0040,0.0010,-0.9987,-0.0418,0.0745,-0.0705
40000,0.0018,0.0003,-0.9984,0.0269,0.1203,-0.0934
40000,-0.0026,-0.0033,-0.9979,0.1261,-0.0171,0.0592
40000,0.0030,-0.0068,-1.0001,-0.1411,0.0516,0.1356
40000,0.0071,0.0018,-0.9955,-0.0113,0.0134,-0.1545
40000,0.0001,-0.0016,-0.9958,0.0116,-0.1011,0.0821
40000,0.0042,0.0015,-1.0004,0.0498,-0.0171,-0.1469
40000,0.0032,-0.0063,-1.0094,-0.0953,0.0745,0.1585
40000,-0.0031,-0.0070,-0.9933,-0.1334,0.0363,0.0898
40000,0.0010,0.0003,-0.9892,0.0116,0.0058,-0.0553
40000,0.0015,-0.0026,-0.9965,0.0956,0.0134,-0.1240
40000,0.0010,-0.0009,-1.0009,0.2406,0.0287,-0.1392
40000,0.0020,-0.0053,-0.9984,-0.1411,0.0363,-0.2003
40000,0.0084,-0.0019,-0.9982,-0.0571,-0.1392,-0.2614
40000,0.0074,-0.0038,-1.0077,-0.0342,0.0669,-0.2079
40000,-0.0004,-0.0009,-1.0082,-0.1716,0.0058,0.3188
40000,-0.0036,-0.0033,-0.9965,0.0956,-0.0018,0.0745
40000,0.0018,-0.0087,-0.9992,-0.0647,-0.2079,-0.3606
40000,0.0020,0.0047,-0.9997,0.0650,-0.1392,-0.0476
40000,0.0013,-0.0002,-0.9999,-0.0495,0.1966,0.1661
40000,-0.0034,-0.0024,-0.9999,0.0345,0.0898,-0.0247
40000,0.0025,-0.0012,-0.9955,0.0269,-0.1469,-0.1087
40000,0.0047,-0.0014,-0.9992,-0.0266,0.0287,-0.1163
40000,-0.0017,-0.0021,-0.9999,0.1414,0.0821,-0.0782
40000,0.0015,-0.0016,-0.9926,-0.0037,0.0134,0.1279
40000,0.0027,-0.0051,-1.0019,-0.1792,-0.0324,-0.0934
40000,-0.0009,-0.0051,-1.0006,-0.1792,-0.0476,0.1050
40000,0.0010,-0.0038,-1.0014,-0.1258,0.2043,-0.0018
40000,-0.0021,-0.0004,-0.9999,0.0116,0.0440,-0.0400
40000,0.0023,-0.0016,-0.9945,-0.1182,-0.0476,0.0898
40000,0.0001,0.0008,-0.9977,0.0727,0.0440,0.1508
40000,-0.0024,-0.0024,-1.0006,-0.0953,0.0363,-0.2766
40000,-0.0017,-0.0016,-1.0041,0.0116,0.0516,-0.1621
40000,0.0074,0.0018,-0.9933,-0.0800,-0.0247,-0.0476
40000,0.0052,-0.0048,-0.9928,0.0650,-0.1240,-0.0934
40000,-0.0043,-0.0033,-0.9958,0.0269,0.0745,0.1585
40000,0.0042,-0.0060,-0.9992,0.0727,-0.1011,0.0516
40000,-0.0029,0.0015,-0.9967,-0.0876,-0.0476,0.1203
40000,0.0023,-0.0031,-1.0067,-0.0495,0.0211,-0.0095
40000,-0.0002,0.0003,-0.9997,-0.1411,0.2653,0.2119
40006,0.0037,0.0023,-0.9940,-0.0724,0.2272,0.0363
39994,0.0008,0.0018,-1.0004,0.1185,0.1127,0.0669
40000,0.0005,-0.0033,-1.0016,0.0727,0.1890,-0.0171
40000,-0.0004,0.0010,-1.0009,-0.0647,0.1127,0.0745
40000,0.0027,-0.0107,-0.9982,0.2101,-0.0324,-0.1469
40000,0.0015,0.0023,-0.9970,0.0803,0.0058,-0.2079
40000,0.0040,0.0001,-0.9987,-0.0495,-0.0858,0.0669
40000,0.0040,0.0025,-0.9970,0.1337,0.0134,-0.0553
40000,0.0027,-0.0021,-0.9950,0.0345,0.0745,0.2653
40000,0.0054,-0.0012,-0.9938,0.0421,-0.0247,0.0440
40000,0.0023,0.0001,-1.0014,-0.0418,-0.0782,-0.0553
40000,-0.0002,-0.0073,-1.0016,0.0421,0.1432,0.0440
40000,-0.0024,-0.0021,-0.9938,-0.0189,0.1050,-0.0476
40000,-0.0007,-0.0009,-0.9928,-0.0571,0.0134,0.2119
40000,0.0027,0.0003,-1.0023,-0.0953,-0.2843,0.2043
40000,0.0005,0.0008,-1.0023,-0.0189,-0.0018,-0.1774
40000,0.0037,0.0001,-1.0031,-0.0342,0.0440,-0.0095
40000,-0.0024,0.0028,-1.0006,-0.0953,0.0058,0.1203
40000,0.0015,-0.0004,-0.9936,0.0421,0.0516,-0.0171
40000,0.0042,-0.0053,-0.9979,0.0040,-0.0629,0.0516
40000,0.0027,0.0025,-0.9926,0.0116,0.0745,-0.3072
40000,-0.0021,-0.0065,-0.9960,-0.0418,0.0058,0.1356
40000,-0.0009,-0.0060,-0.9972,-0.0800,0.1127,-0.0400
40000,0.0005,-0.0065,-0.9950,0.0116,-0.0858,-0.1163
40000,-0.0012,0.0020,-0.9958,0.0269,0.1356,0.1356
40000,0.0013,-0.0016,-0.9943,0.0421,-0.1240,-0.0247
40000,0.0062,-0.0085,-1.0016,-0.1411,0.2501,-0.0476
40000,0.0005,-0.0004,-0.9933,0.0116,0.0898,0.0516
40000,0.0018,-0.0009,-0.9977,0.0574,-0.2461,-0.1163
40000,0.0040,0.0025,-0.9977,0.1643,0.0516,0.0974
40000,-0.0014,-0.0024,-1.0023,0.1108,0.1585,-0.0171
40000,-0.0021,-0.0007,-1.0014,-0.1029,-0.0476,-0.1698
40000,0.0018,-0.0007,-0.9933,-0.2708,0.0440,-0.0705
40000,0.0032,0.0015,-0.9945,-0.0495,0.0898,-0.0782
40000,-0.0017,-0.0016,-0.9972,-0.0266,-0.0171,0.0974
40000,0.0023,-0.0019,-0.9955,0.0574,0.1050,0.0745
40000,-0.0046,0.0025,-0.9962,0.2024,-0.1545,0.1661
40000,-0.0026,-0.0007,-0.9994,0.0574,0.0592,0.0669
40000,0.0037,-0.0070,-0.9953,0.0574,-0.1392,-0.0934
40000,0.0032,-0.0048,-1.0006,-0.0876,0.0211,-0.0476
40000,0.0027,-0.0077,-0.9931,-0.1792,0.0516,-0.1927
40000,0.0025,0.0010,-0.9906,-0.1182,0.0669,0.0287
40000,0.0010,-0.0046,-0.9938,0.0421,0.1127,0.0287
40000,0.0032,-0.0004,-0.9999,0.0192,-0.0705,-0.2537
40000,-0.0009,0.0047,-0.9901,-0.1029,0.1966,0.0745
40000,0.0064,-0.0033,-0.9911,-0.0953,0.1356,0.0134
40000,0.0008,-0.0048,-0.9962,-0.0189,0.0745,0.0134
40000,0.0010,-0.0090,-0.9982,0.0727,0.0669,-0.1698
40000,0.0010,-0.0002,-1.0019,0.0727,-0.0782,0.0058
40000,0.0059,-0.0048,-1.0011,-0.0647,-0.0247,0.1127
40000,0.0032,-0.0073,-0.9975,0.0421,-0.0782,0.2195
40000,0.0045,-0.0012,-0.9945,0.0727,0.1432,-0.1469
40000,-0.0002,-0.0082,-0.9918,-0.0953,-0.0018,0.2577
40000,0.0008,-0.0043,-0.9953,0.0192,-0.1316,0.0821
40000,-0.0021,-0.0016,-0.9936,0.0345,0.1203,0.3340
40000,0.0040,-0.0014,-0.9962,-0.0724,0.0516,-0.1087
40000,0.0013,-0.0065,-0.9999,-0.0647,-0.2308,0.2043
40000,-0.0034,-0.0041,-0.9992,0.0421,0.0516,0.2806
40000,-0.0043,-0.0002,-0.9955,-0.1563,0.0287,-0.1545
40000,0.0020,-0.0031,-0.9926,0.0727,-0.0247,-0.0553
40000,0.0042,-0.0026,-0.9904,0.0192,0.0974,0.1356
40000,-0.0002,0.0032,-0.9967,-0.1563,0.0592,0.1203
40000,0.0005,-0.0055,-0.9997,-0.0037,0.0821,0.0287
40000,0.0015,0.0015,-0.9955,0.0574,0.0592,0.0440
40000,0.0040,-0.0031,-0.9982,-0.0418,-0.0171,0.0821
40000,-0.0007,0.0037,-1.0031,-0.0266,0.1508,-0.0171
40000,-0.0070,-0.0048,-1.0045,-0.0800,0.0287,0.0592
40000,0.0030,-0.0014,-0.9943,-0.0495,-0.1316,-0.2919
40000,0.0025,-0.0007,-1.0067,-0.0495,-0.0247,-0.1545
40000,-0.0029,0.0064,-0.9923,0.0192,0.0592,0.2195
40000,-0.0012,-0.0026,-1.0016,-0.2250,-0.0171,-0.1163
40000,0.0001,-0.0024,-1.0065,0.1261,-0.0171,0.0211
40000,-0.0034,0.0025,-1.0060,0.0956,-0.0171,0.0592
40000,0.0032,-0.0043,-0.9979,-0.0037,0.0974,0.0440
40000,0.0003,0.0018,-1.0023,-0.0418,-0.0247,-0.1240
40000,0.0027,-0.0012,-1.0006,0.0269,-0.0095,-0.1087
40000,0.0015,-0.0009,-0.9911,0.0269,-0.0247,0.0058
40000,-0.0012,-0.0014,-0.9987,0.0269,0.0592,0.2730
40000,-0.0056,-0.0004,-1.0026,0.0803,-0.0247,-0.0476
40000,0.0032,0.0076,-0.9965,-0.1945,0.0287,-0.1087
40000,0.0010,0.0025,-0.9889,-0.1334,0.0287,-0.2079
40000,0.0008,-0.0014,-0.9933,-0.0953,0.1737,-0.1698
40000,-0.0004,-0.0031,-0.9931,0.0803,0.0974,-0.0629
40000,-0.0007,-0.0016,-0.9989,-0.0495,-0.0705,0.0211
40000,0.0015,-0.0058,-0.9979,0.1261,0.0974,-0.0782
40000,0.0081,-0.0085,-1.0067,0.1108,-0.0476,0.0592
40000,-0.0031,0.0042,-0.9994,-0.0113,-0.0018,-0.0476
40000,0.0008,-0.0048,-0.9970,-0.0266,0.0363,-0.0171
40000,-0.0014,0.0013,-0.9972,0.0116,-0.0934,0.0440
40000,0.0005,0.0023,-0.9960,0.0345,-0.0247,-0.1240
40000,0.0049,0.0003,-0.9948,0.0803,-0.0018,-0.2003
40000,0.0037,-0.0014,-0.9992,0.1872,-0.0858,-0.2385
40000,-0.0009,-0.0014,-1.0045,0.1490,-0.0858,-0.1163
40000,-0.0004,-0.0004,-1.0104,-0.0953,0.1127,-0.0400
40000,-0.0009,0.0047,-1.0036,-0.0113,-0.0858,0.0058
40000,-0.0017,-0.0009,-1.0004,-0.0037,0.0440,-0.1850
40000,0.0047,0.0018,-0.9914,-0.0037,0.0592,-0.0782
40000,0.0047,0.0047,-0.9936,-0.1563,0.0745,-0.2079
40000,0.0054,0.0008,-0.9955,0.0574,0.0898,-0.0553
40000,-0.0009,0.0010,-0.9933,-0.0189,0.1737,-0.1621
40000,0.0042,-0.0055,-1.0004,0.0574,-0.0247,-0.1240
40000,0.0008,-0.0016,-0.9943,-0.0647,0.0974,0.1356
40000,-0.0012,-0.0058,-0.9931,0.0956,0.1050,-0.2079
40000,0.0008,0.0032,-1.0036,0.0345,0.1356,-0.0018
40000,0.0013,-0.0029,-0.9989,-0.0647,0.0821,0.0516
40000,0.0013,-0.0031,-0.9921,-0.0189,0.0898,-0.0171
40000,0.0013,-0.0021,-0.9938,0.0192,0.0363,-0.1698
40000,-0.0007,0.0020,-1.0045,-0.0495,0.1127,-0.0934
1 time_delta_us accel_x accel_y accel_z rotation_x rotation_y rotation_z
2 40024 -0.0034 -0.0021 -0.9975 0.0803 -0.1545 -0.3072
3 39995 0.0030 0.0010 -1.0006 -0.2174 -0.0324 -0.1392
4 40002 0.0005 -0.0073 -1.0006 -0.0418 0.1585 0.1508
5 39998 -0.0007 -0.0033 -0.9940 0.0269 0.0058 0.0898
6 40000 0.0025 0.0008 -0.9960 -0.1411 0.0516 0.1356
7 40000 -0.0014 0.0020 -1.0070 0.0116 0.0287 0.1356
8 40000 0.0008 -0.0024 -0.9879 0.0650 0.1661 0.0134
9 40000 -0.0004 -0.0002 -0.9970 -0.0953 -0.0095 0.0134
10 40000 -0.0051 -0.0055 -1.0036 0.0498 -0.0324 -0.0018
11 40000 0.0052 0.0030 -1.0050 0.0879 -0.1545 -0.2232
12 40000 0.0032 -0.0033 -0.9967 0.0116 0.0440 0.0592
13 40000 -0.0012 0.0052 -1.0060 0.0879 -0.0247 -0.0629
14 40000 -0.0009 -0.0046 -0.9923 -0.1258 0.0211 -0.2461
15 40000 -0.0002 -0.0031 -0.9994 -0.0724 -0.0095 0.0592
16 40000 0.0045 -0.0092 -0.9965 0.1108 -0.1850 0.0058
17 40000 0.0025 0.0001 -1.0019 -0.1487 0.0974 0.0592
18 40000 -0.0026 -0.0075 -0.9965 0.0727 -0.0324 0.1127
19 40000 0.0001 0.0001 -0.9975 -0.0418 0.1203 -0.1698
20 40000 0.0042 -0.0051 -1.0033 0.0345 -0.0095 0.0821
21 40000 -0.0007 -0.0026 -0.9999 0.0574 0.0134 -0.0782
22 40000 0.0088 -0.0002 -0.9992 -0.0113 0.0287 -0.0095
23 40000 0.0005 -0.0038 -1.0038 -0.1258 -0.0782 -0.0553
24 40000 0.0005 -0.0063 -0.9984 0.2253 -0.0553 -0.3072
25 40000 0.0071 -0.0036 -0.9938 0.0345 0.0211 -0.0171
26 40000 0.0020 -0.0014 -0.9870 -0.1182 0.1585 -0.0324
27 40000 0.0020 -0.0041 -0.9994 -0.0113 -0.2079 -0.1240
28 40000 -0.0063 -0.0046 -1.0019 -0.0113 0.1585 0.0821
29 40000 -0.0019 -0.0014 -0.9921 -0.0953 -0.2003 0.0745
30 40000 0.0081 0.0045 -1.0043 -0.0418 0.1508 -0.2003
31 40000 -0.0017 0.0013 -0.9992 -0.1563 -0.0705 -0.1469
32 40000 0.0020 -0.0026 -0.9972 -0.1869 0.0745 0.0058
33 40000 -0.0026 -0.0024 -0.9982 -0.0495 -0.0095 -0.1545
34 40000 0.0042 0.0008 -0.9979 -0.0495 -0.0934 0.0592
35 40000 0.0086 0.0010 -0.9977 0.1948 -0.0324 -0.1163
36 40000 0.0064 -0.0021 -1.0014 -0.0418 -0.0171 -0.1240
37 40000 0.0030 0.0040 -0.9950 -0.0266 -0.0095 0.1279
38 40000 -0.0017 -0.0060 -0.9943 0.0040 0.1661 -0.1011
39 40000 0.0003 -0.0055 -0.9999 -0.1258 -0.0018 -0.0705
40 40000 -0.0002 -0.0046 -0.9982 -0.0037 -0.0247 0.0516
41 40000 0.0001 -0.0021 -1.0065 0.1185 -0.1011 0.0440
42 40000 -0.0002 0.0030 -1.0023 -0.1182 0.0211 0.0974
43 40000 0.0005 -0.0060 -1.0001 -0.0647 0.2272 0.1432
44 40000 -0.0007 -0.0041 -1.0004 -0.0113 0.0134 -0.0400
45 40000 0.0010 -0.0014 -0.9926 -0.0647 -0.1011 -0.1469
46 40000 -0.0017 -0.0009 -0.9933 0.0650 0.1432 -0.0324
47 40000 -0.0038 -0.0077 -0.9958 0.1566 -0.0705 -0.0934
48 40000 -0.0004 -0.0090 -0.9955 0.1032 -0.0018 -0.1774
49 40000 -0.0004 -0.0033 -1.0023 -0.0647 0.0592 -0.0247
50 40000 0.0035 -0.0021 -0.9940 0.1566 -0.0934 0.2043
51 40000 -0.0007 -0.0060 -0.9887 0.1337 0.0745 -0.0553
52 40000 0.0013 0.0010 -0.9926 0.1108 -0.1927 0.0287
53 40000 0.0030 -0.0004 -0.9962 0.0269 0.0287 -0.1927
54 40000 0.0040 0.0010 -0.9987 -0.0418 0.0745 -0.0705
55 40000 0.0018 0.0003 -0.9984 0.0269 0.1203 -0.0934
56 40000 -0.0026 -0.0033 -0.9979 0.1261 -0.0171 0.0592
57 40000 0.0030 -0.0068 -1.0001 -0.1411 0.0516 0.1356
58 40000 0.0071 0.0018 -0.9955 -0.0113 0.0134 -0.1545
59 40000 0.0001 -0.0016 -0.9958 0.0116 -0.1011 0.0821
60 40000 0.0042 0.0015 -1.0004 0.0498 -0.0171 -0.1469
61 40000 0.0032 -0.0063 -1.0094 -0.0953 0.0745 0.1585
62 40000 -0.0031 -0.0070 -0.9933 -0.1334 0.0363 0.0898
63 40000 0.0010 0.0003 -0.9892 0.0116 0.0058 -0.0553
64 40000 0.0015 -0.0026 -0.9965 0.0956 0.0134 -0.1240
65 40000 0.0010 -0.0009 -1.0009 0.2406 0.0287 -0.1392
66 40000 0.0020 -0.0053 -0.9984 -0.1411 0.0363 -0.2003
67 40000 0.0084 -0.0019 -0.9982 -0.0571 -0.1392 -0.2614
68 40000 0.0074 -0.0038 -1.0077 -0.0342 0.0669 -0.2079
69 40000 -0.0004 -0.0009 -1.0082 -0.1716 0.0058 0.3188
70 40000 -0.0036 -0.0033 -0.9965 0.0956 -0.0018 0.0745
71 40000 0.0018 -0.0087 -0.9992 -0.0647 -0.2079 -0.3606
72 40000 0.0020 0.0047 -0.9997 0.0650 -0.1392 -0.0476
73 40000 0.0013 -0.0002 -0.9999 -0.0495 0.1966 0.1661
74 40000 -0.0034 -0.0024 -0.9999 0.0345 0.0898 -0.0247
75 40000 0.0025 -0.0012 -0.9955 0.0269 -0.1469 -0.1087
76 40000 0.0047 -0.0014 -0.9992 -0.0266 0.0287 -0.1163
77 40000 -0.0017 -0.0021 -0.9999 0.1414 0.0821 -0.0782
78 40000 0.0015 -0.0016 -0.9926 -0.0037 0.0134 0.1279
79 40000 0.0027 -0.0051 -1.0019 -0.1792 -0.0324 -0.0934
80 40000 -0.0009 -0.0051 -1.0006 -0.1792 -0.0476 0.1050
81 40000 0.0010 -0.0038 -1.0014 -0.1258 0.2043 -0.0018
82 40000 -0.0021 -0.0004 -0.9999 0.0116 0.0440 -0.0400
83 40000 0.0023 -0.0016 -0.9945 -0.1182 -0.0476 0.0898
84 40000 0.0001 0.0008 -0.9977 0.0727 0.0440 0.1508
85 40000 -0.0024 -0.0024 -1.0006 -0.0953 0.0363 -0.2766
86 40000 -0.0017 -0.0016 -1.0041 0.0116 0.0516 -0.1621
87 40000 0.0074 0.0018 -0.9933 -0.0800 -0.0247 -0.0476
88 40000 0.0052 -0.0048 -0.9928 0.0650 -0.1240 -0.0934
89 40000 -0.0043 -0.0033 -0.9958 0.0269 0.0745 0.1585
90 40000 0.0042 -0.0060 -0.9992 0.0727 -0.1011 0.0516
91 40000 -0.0029 0.0015 -0.9967 -0.0876 -0.0476 0.1203
92 40000 0.0023 -0.0031 -1.0067 -0.0495 0.0211 -0.0095
93 40000 -0.0002 0.0003 -0.9997 -0.1411 0.2653 0.2119
94 40006 0.0037 0.0023 -0.9940 -0.0724 0.2272 0.0363
95 39994 0.0008 0.0018 -1.0004 0.1185 0.1127 0.0669
96 40000 0.0005 -0.0033 -1.0016 0.0727 0.1890 -0.0171
97 40000 -0.0004 0.0010 -1.0009 -0.0647 0.1127 0.0745
98 40000 0.0027 -0.0107 -0.9982 0.2101 -0.0324 -0.1469
99 40000 0.0015 0.0023 -0.9970 0.0803 0.0058 -0.2079
100 40000 0.0040 0.0001 -0.9987 -0.0495 -0.0858 0.0669
101 40000 0.0040 0.0025 -0.9970 0.1337 0.0134 -0.0553
102 40000 0.0027 -0.0021 -0.9950 0.0345 0.0745 0.2653
103 40000 0.0054 -0.0012 -0.9938 0.0421 -0.0247 0.0440
104 40000 0.0023 0.0001 -1.0014 -0.0418 -0.0782 -0.0553
105 40000 -0.0002 -0.0073 -1.0016 0.0421 0.1432 0.0440
106 40000 -0.0024 -0.0021 -0.9938 -0.0189 0.1050 -0.0476
107 40000 -0.0007 -0.0009 -0.9928 -0.0571 0.0134 0.2119
108 40000 0.0027 0.0003 -1.0023 -0.0953 -0.2843 0.2043
109 40000 0.0005 0.0008 -1.0023 -0.0189 -0.0018 -0.1774
110 40000 0.0037 0.0001 -1.0031 -0.0342 0.0440 -0.0095
111 40000 -0.0024 0.0028 -1.0006 -0.0953 0.0058 0.1203
112 40000 0.0015 -0.0004 -0.9936 0.0421 0.0516 -0.0171
113 40000 0.0042 -0.0053 -0.9979 0.0040 -0.0629 0.0516
114 40000 0.0027 0.0025 -0.9926 0.0116 0.0745 -0.3072
115 40000 -0.0021 -0.0065 -0.9960 -0.0418 0.0058 0.1356
116 40000 -0.0009 -0.0060 -0.9972 -0.0800 0.1127 -0.0400
117 40000 0.0005 -0.0065 -0.9950 0.0116 -0.0858 -0.1163
118 40000 -0.0012 0.0020 -0.9958 0.0269 0.1356 0.1356
119 40000 0.0013 -0.0016 -0.9943 0.0421 -0.1240 -0.0247
120 40000 0.0062 -0.0085 -1.0016 -0.1411 0.2501 -0.0476
121 40000 0.0005 -0.0004 -0.9933 0.0116 0.0898 0.0516
122 40000 0.0018 -0.0009 -0.9977 0.0574 -0.2461 -0.1163
123 40000 0.0040 0.0025 -0.9977 0.1643 0.0516 0.0974
124 40000 -0.0014 -0.0024 -1.0023 0.1108 0.1585 -0.0171
125 40000 -0.0021 -0.0007 -1.0014 -0.1029 -0.0476 -0.1698
126 40000 0.0018 -0.0007 -0.9933 -0.2708 0.0440 -0.0705
127 40000 0.0032 0.0015 -0.9945 -0.0495 0.0898 -0.0782
128 40000 -0.0017 -0.0016 -0.9972 -0.0266 -0.0171 0.0974
129 40000 0.0023 -0.0019 -0.9955 0.0574 0.1050 0.0745
130 40000 -0.0046 0.0025 -0.9962 0.2024 -0.1545 0.1661
131 40000 -0.0026 -0.0007 -0.9994 0.0574 0.0592 0.0669
132 40000 0.0037 -0.0070 -0.9953 0.0574 -0.1392 -0.0934
133 40000 0.0032 -0.0048 -1.0006 -0.0876 0.0211 -0.0476
134 40000 0.0027 -0.0077 -0.9931 -0.1792 0.0516 -0.1927
135 40000 0.0025 0.0010 -0.9906 -0.1182 0.0669 0.0287
136 40000 0.0010 -0.0046 -0.9938 0.0421 0.1127 0.0287
137 40000 0.0032 -0.0004 -0.9999 0.0192 -0.0705 -0.2537
138 40000 -0.0009 0.0047 -0.9901 -0.1029 0.1966 0.0745
139 40000 0.0064 -0.0033 -0.9911 -0.0953 0.1356 0.0134
140 40000 0.0008 -0.0048 -0.9962 -0.0189 0.0745 0.0134
141 40000 0.0010 -0.0090 -0.9982 0.0727 0.0669 -0.1698
142 40000 0.0010 -0.0002 -1.0019 0.0727 -0.0782 0.0058
143 40000 0.0059 -0.0048 -1.0011 -0.0647 -0.0247 0.1127
144 40000 0.0032 -0.0073 -0.9975 0.0421 -0.0782 0.2195
145 40000 0.0045 -0.0012 -0.9945 0.0727 0.1432 -0.1469
146 40000 -0.0002 -0.0082 -0.9918 -0.0953 -0.0018 0.2577
147 40000 0.0008 -0.0043 -0.9953 0.0192 -0.1316 0.0821
148 40000 -0.0021 -0.0016 -0.9936 0.0345 0.1203 0.3340
149 40000 0.0040 -0.0014 -0.9962 -0.0724 0.0516 -0.1087
150 40000 0.0013 -0.0065 -0.9999 -0.0647 -0.2308 0.2043
151 40000 -0.0034 -0.0041 -0.9992 0.0421 0.0516 0.2806
152 40000 -0.0043 -0.0002 -0.9955 -0.1563 0.0287 -0.1545
153 40000 0.0020 -0.0031 -0.9926 0.0727 -0.0247 -0.0553
154 40000 0.0042 -0.0026 -0.9904 0.0192 0.0974 0.1356
155 40000 -0.0002 0.0032 -0.9967 -0.1563 0.0592 0.1203
156 40000 0.0005 -0.0055 -0.9997 -0.0037 0.0821 0.0287
157 40000 0.0015 0.0015 -0.9955 0.0574 0.0592 0.0440
158 40000 0.0040 -0.0031 -0.9982 -0.0418 -0.0171 0.0821
159 40000 -0.0007 0.0037 -1.0031 -0.0266 0.1508 -0.0171
160 40000 -0.0070 -0.0048 -1.0045 -0.0800 0.0287 0.0592
161 40000 0.0030 -0.0014 -0.9943 -0.0495 -0.1316 -0.2919
162 40000 0.0025 -0.0007 -1.0067 -0.0495 -0.0247 -0.1545
163 40000 -0.0029 0.0064 -0.9923 0.0192 0.0592 0.2195
164 40000 -0.0012 -0.0026 -1.0016 -0.2250 -0.0171 -0.1163
165 40000 0.0001 -0.0024 -1.0065 0.1261 -0.0171 0.0211
166 40000 -0.0034 0.0025 -1.0060 0.0956 -0.0171 0.0592
167 40000 0.0032 -0.0043 -0.9979 -0.0037 0.0974 0.0440
168 40000 0.0003 0.0018 -1.0023 -0.0418 -0.0247 -0.1240
169 40000 0.0027 -0.0012 -1.0006 0.0269 -0.0095 -0.1087
170 40000 0.0015 -0.0009 -0.9911 0.0269 -0.0247 0.0058
171 40000 -0.0012 -0.0014 -0.9987 0.0269 0.0592 0.2730
172 40000 -0.0056 -0.0004 -1.0026 0.0803 -0.0247 -0.0476
173 40000 0.0032 0.0076 -0.9965 -0.1945 0.0287 -0.1087
174 40000 0.0010 0.0025 -0.9889 -0.1334 0.0287 -0.2079
175 40000 0.0008 -0.0014 -0.9933 -0.0953 0.1737 -0.1698
176 40000 -0.0004 -0.0031 -0.9931 0.0803 0.0974 -0.0629
177 40000 -0.0007 -0.0016 -0.9989 -0.0495 -0.0705 0.0211
178 40000 0.0015 -0.0058 -0.9979 0.1261 0.0974 -0.0782
179 40000 0.0081 -0.0085 -1.0067 0.1108 -0.0476 0.0592
180 40000 -0.0031 0.0042 -0.9994 -0.0113 -0.0018 -0.0476
181 40000 0.0008 -0.0048 -0.9970 -0.0266 0.0363 -0.0171
182 40000 -0.0014 0.0013 -0.9972 0.0116 -0.0934 0.0440
183 40000 0.0005 0.0023 -0.9960 0.0345 -0.0247 -0.1240
184 40000 0.0049 0.0003 -0.9948 0.0803 -0.0018 -0.2003
185 40000 0.0037 -0.0014 -0.9992 0.1872 -0.0858 -0.2385
186 40000 -0.0009 -0.0014 -1.0045 0.1490 -0.0858 -0.1163
187 40000 -0.0004 -0.0004 -1.0104 -0.0953 0.1127 -0.0400
188 40000 -0.0009 0.0047 -1.0036 -0.0113 -0.0858 0.0058
189 40000 -0.0017 -0.0009 -1.0004 -0.0037 0.0440 -0.1850
190 40000 0.0047 0.0018 -0.9914 -0.0037 0.0592 -0.0782
191 40000 0.0047 0.0047 -0.9936 -0.1563 0.0745 -0.2079
192 40000 0.0054 0.0008 -0.9955 0.0574 0.0898 -0.0553
193 40000 -0.0009 0.0010 -0.9933 -0.0189 0.1737 -0.1621
194 40000 0.0042 -0.0055 -1.0004 0.0574 -0.0247 -0.1240
195 40000 0.0008 -0.0016 -0.9943 -0.0647 0.0974 0.1356
196 40000 -0.0012 -0.0058 -0.9931 0.0956 0.1050 -0.2079
197 40000 0.0008 0.0032 -1.0036 0.0345 0.1356 -0.0018
198 40000 0.0013 -0.0029 -0.9989 -0.0647 0.0821 0.0516
199 40000 0.0013 -0.0031 -0.9921 -0.0189 0.0898 -0.0171
200 40000 0.0013 -0.0021 -0.9938 0.0192 0.0363 -0.1698
201 40000 -0.0007 0.0020 -1.0045 -0.0495 0.1127 -0.0934

48
simul/src/m3x3.rs Normal file
View File

@ -0,0 +1,48 @@
use std::ops::Mul;
use crate::v3::V3;
pub struct M3x3([f64; 9]);
impl M3x3 {
#[rustfmt::skip]
pub fn new_rotate_x(angle: f64) -> Self {
Self([
1.0, 0.0, 0.0,
0.0, f64::cos(angle), -f64::sin(angle),
0.0, f64::sin(angle), f64::cos(angle),
])
}
#[rustfmt::skip]
pub fn new_rotate_y(angle: f64) -> Self {
Self([
f64::cos(angle), 0.0, f64::sin(angle),
0.0, 1.0, 0.0,
-f64::sin(angle), 0.0, f64::cos(angle),
])
}
#[rustfmt::skip]
pub fn new_rotate_z(angle: f64) -> Self {
Self([
f64::cos(angle), -f64::sin(angle), 0.0,
f64::sin(angle), f64::cos(angle), 0.0,
0.0, 0.0, 1.0,
])
}
}
impl Mul<V3> for M3x3 {
type Output = V3;
fn mul(self, rhs: V3) -> Self::Output {
let V3(x, y, z) = rhs;
let [xx, xy, xz, yx, yy, yz, zx, zy, zz] = self.0;
V3(
x * xx + y * xy + z * xz,
x * yx + y * yy + z * yz,
x * zx + y * zy + z * zz,
)
}
}

47
simul/src/main.rs Normal file
View File

@ -0,0 +1,47 @@
#![allow(unused)]
use crate::{
scene::Scene,
tri2::Tri2,
tri3::Tri3,
v2::V2,
v3::V3,
window::{Color, Event, Keycode, Renderer, Window},
};
mod m3x3;
mod scene;
mod tri2;
mod tri3;
mod v2;
mod v3;
mod window;
pub struct App {}
impl<R: Renderer> window::App<R> for App {
fn update(&mut self, delta_time: std::time::Duration) {}
fn render(&self, r: &mut R) {
r.draw_line(V2(0.0, 0.0), V2(0.6, 0.2), Color::RED);
let mut scene = Scene::new();
scene.draw_triangle(
Tri3(V3(0.0, 0.0, 0.0), V3(0.3, 0.3, 0.0), V3(0.3, 0.0, 0.0)),
Color::GREEN,
Color::BLACK,
);
scene.render(r, V3(0.0, 0.0, -1.0));
}
fn event(&mut self, event: Event) {}
}
fn main() {
let mut window = Window::new();
let mut app = App {};
window.run(&mut app);
}

59
simul/src/scene.rs Normal file
View File

@ -0,0 +1,59 @@
use crate::{
tri2::Tri2,
tri3::Tri3,
v3::V3,
window::{Color, Renderer},
};
pub struct Scene {
tris: Vec<(Tri3, Color, Color)>,
}
impl Scene {
pub fn new() -> Self {
Self { tris: Vec::new() }
}
pub fn render(&self, r: &mut impl Renderer, camera_pos: V3) {
let mut indices_with_scores = self
.tris
.iter()
.enumerate()
.map(|(i, (tri, ..))| {
let mut point_scores = tri.points().map(|p| (camera_pos - p).len());
point_scores.sort_by(|a, b| a.total_cmp(b));
(i, point_scores[0])
})
.rev()
.collect::<Vec<_>>();
indices_with_scores.sort_by(|a, b| b.1.total_cmp(&a.1));
for (i, _) in indices_with_scores {
let (tri3, outline_color, fill_color) = &self.tris[i];
// if !(tri3.0.2 >= -1.0 && tri3.1.2 >= -1.0 && tri3.2.2 >= -1.0) {
// continue;
// }
// if tri3.normal().dot(tri3.0 - camera_pos) >= 0.0 {
// continue;
// }
//
println!("{tri3:?}");
let tri2 = tri3.project_2d(camera_pos);
println!("{tri2:?}");
r.draw_triangles(&[tri2], *fill_color);
r.draw_line(tri2.0, tri2.1, *outline_color);
r.draw_line(tri2.0, tri2.2, *outline_color);
}
}
pub fn draw_triangle(&mut self, tri: Tri3, outline_color: Color, fill_color: Color) {
self.tris.push((tri, outline_color, fill_color));
}
}

4
simul/src/tri2.rs Normal file
View File

@ -0,0 +1,4 @@
use crate::v2::V2;
#[derive(Clone, Copy, Debug)]
pub struct Tri2(pub V2, pub V2, pub V2);

46
simul/src/tri3.rs Normal file
View File

@ -0,0 +1,46 @@
use crate::{tri2::Tri2, v3::V3};
#[derive(Clone, Copy, Debug)]
pub struct Tri3(pub V3, pub V3, pub V3);
impl Tri3 {
pub fn init(v: V3) -> Self {
Self(v, v, v)
}
pub fn map<F: Fn(V3) -> V3>(&self, func: F) -> Self {
Self(func(self.0), func(self.1), func(self.2))
}
pub fn zip<F: Fn(V3, V3) -> V3>(&self, rhs: Tri3, func: F) -> Self {
Self(
func(self.0, rhs.0),
func(self.1, rhs.1),
func(self.2, rhs.2),
)
}
pub fn rotate(&self, rot: V3) -> Self {
self.map(|v| v.rotate(rot))
}
pub fn project_2d(&self, camera_pos: V3) -> Tri2 {
Tri2(
self.0.project_2d(camera_pos),
self.1.project_2d(camera_pos),
self.2.project_2d(camera_pos),
)
}
pub fn translate(&self, offset: V3) -> Self {
self.map(|v| v + offset)
}
pub fn points(&self) -> [V3; 3] {
[self.0, self.1, self.2]
}
pub fn normal(&self) -> V3 {
(self.1 - self.0).cross(self.2 - self.1)
}
}

81
simul/src/v2.rs Normal file
View File

@ -0,0 +1,81 @@
use std::ops::{Add, Div, Mul, Neg, Sub};
#[derive(Clone, Copy, Debug)]
pub struct V2(pub f64, pub f64);
impl V2 {
pub fn init(v: f64) -> Self {
Self(v, v)
}
pub fn map<F: Fn(f64) -> f64>(&self, func: F) -> Self {
Self(func(self.0), func(self.1))
}
pub fn zip<F: Fn(f64, f64) -> f64>(&self, rhs: Self, func: F) -> Self {
Self(func(self.0, rhs.0), func(self.1, rhs.1))
}
pub fn reduce<F: Fn(f64, f64) -> f64>(&self, initial: f64, func: F) -> f64 {
let acc = initial;
let acc = func(acc, self.0);
let acc = func(acc, self.1);
acc
}
pub fn normal(&self) -> V2 {
V2(-self.1, self.0)
}
pub fn translate(&self, trans: V2) -> V2 {
*self + trans
}
pub fn len(&self) -> f64 {
self.map(|v| v.powi(2)).reduce(0.0, |acc, v| acc + v)
}
pub fn unit(&self) -> V2 {
*self / self.len()
}
}
impl Add for V2 {
type Output = V2;
fn add(self, rhs: V2) -> Self::Output {
self.zip(rhs, |a, b| a + b)
}
}
impl Sub for V2 {
type Output = V2;
fn sub(self, rhs: V2) -> Self::Output {
self.zip(rhs, |a, b| a - b)
}
}
impl Mul<f64> for V2 {
type Output = V2;
fn mul(self, rhs: f64) -> Self::Output {
self.map(|v| v * rhs)
}
}
impl Div<f64> for V2 {
type Output = V2;
fn div(self, rhs: f64) -> Self::Output {
self.map(|v| v / rhs)
}
}
impl Neg for V2 {
type Output = V2;
fn neg(self) -> Self::Output {
V2::init(0.0) - self
}
}

106
simul/src/v3.rs Normal file
View File

@ -0,0 +1,106 @@
use std::ops::{Add, Div, Mul, Neg, Sub};
use crate::{m3x3::M3x3, v2::V2};
#[derive(Clone, Copy, Debug)]
pub struct V3(pub f64, pub f64, pub f64);
impl V3 {
pub fn init(v: f64) -> Self {
Self(v, v, v)
}
pub fn map<F: Fn(f64) -> f64>(&self, func: F) -> Self {
Self(func(self.0), func(self.1), func(self.2))
}
pub fn zip<F: Fn(f64, f64) -> f64>(&self, rhs: V3, func: F) -> Self {
Self(
func(self.0, rhs.0),
func(self.1, rhs.1),
func(self.2, rhs.2),
)
}
pub fn reduce<F: Fn(f64, f64) -> f64>(&self, initial: f64, func: F) -> f64 {
let acc = initial;
let acc = func(acc, self.0);
let acc = func(acc, self.1);
let acc = func(acc, self.0);
acc
}
pub fn cross(&self, rhs: Self) -> Self {
let V3(ax, ay, az) = self;
let V3(bx, by, bz) = rhs;
V3(ay * bz - az * by, az * bx - ax * bz, ax * by - ay * bx)
}
pub fn rotate(&self, rot: Self) -> Self {
M3x3::new_rotate_z(rot.2)
* (M3x3::new_rotate_y(rot.1) * (M3x3::new_rotate_x(rot.0) * *self))
}
pub fn project_2d(&self, camera_pos: V3) -> V2 {
let c = camera_pos;
let d = *self - c;
let e = V3(0.0, 0.0, 0.0) - c;
V2(e.2 / d.2 * d.0 + e.0, e.2 / d.2 * d.1 + e.1)
}
pub fn dot(&self, rhs: Self) -> f64 {
self.zip(rhs, |a, b| a * b).reduce(0.0, |acc, v| acc + v)
}
pub fn translate(&self, trans: V3) -> V3 {
*self + trans
}
pub fn len(&self) -> f64 {
self.map(|v| v.powi(2)).reduce(0.0, |acc, v| acc + v)
}
pub fn unit(&self) -> V3 {
*self / self.len()
}
}
impl Add for V3 {
type Output = V3;
fn add(self, rhs: V3) -> Self::Output {
self.zip(rhs, |a, b| a + b)
}
}
impl Sub for V3 {
type Output = V3;
fn sub(self, rhs: V3) -> Self::Output {
self.zip(rhs, |a, b| a - b)
}
}
impl Mul<f64> for V3 {
type Output = V3;
fn mul(self, rhs: f64) -> Self::Output {
self.map(|v| v * rhs)
}
}
impl Div<f64> for V3 {
type Output = V3;
fn div(self, rhs: f64) -> Self::Output {
self.map(|v| v / rhs)
}
}
impl Neg for V3 {
type Output = V3;
fn neg(self) -> Self::Output {
V3::init(0.0) - self
}
}

164
simul/src/window.rs Normal file
View File

@ -0,0 +1,164 @@
use std::time::{Duration, Instant};
use sdl3::{
Sdl,
event::Event as SdlEvent,
render::{Canvas, FPoint, FRect, Vertex, VertexIndices},
video::Window as SdlWindow,
};
pub use sdl3::{keyboard::Keycode, pixels::Color};
use crate::{tri2::Tri2, v2::V2};
pub static WIDTH: f64 = 1280.0;
pub static HEIGHT: f64 = 720.0;
pub trait App<R: Renderer> {
fn update(&mut self, delta_time: Duration);
fn render(&self, r: &mut R);
fn event(&mut self, event: Event);
}
pub trait Renderer {
fn draw_rect(&mut self, pos: V2, size: V2, color: Color);
fn draw_line(&mut self, from: V2, to: V2, color: Color);
fn draw_triangles(&mut self, tris: &[Tri2], color: Color);
}
pub enum Event {
KeyDown(Keycode),
KeyUp(Keycode),
}
pub struct Window {
sdl_context: Sdl,
canvas: Canvas<SdlWindow>,
}
impl Window {
pub fn new() -> Self {
let sdl_context = sdl3::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = video_subsystem
.window("Game", WIDTH as u32, HEIGHT as u32)
.position_centered()
.build()
.unwrap();
let mut canvas = window.into_canvas();
canvas.set_draw_color(Color::BLACK);
canvas.clear();
canvas.present();
Self {
sdl_context,
canvas,
}
}
pub fn run(&mut self, app: &mut impl App<Self>) {
let mut event_pump = self.sdl_context.event_pump().unwrap();
let mut time_before = Instant::now();
let time_per_frame = Duration::from_secs_f64(1.0 / 60.0);
let mut print_fps_timer = Instant::now();
let mut fps_count = 0;
'running: loop {
for event in event_pump.poll_iter() {
match event {
SdlEvent::Quit { .. }
| SdlEvent::KeyDown {
keycode: Some(Keycode::Escape),
..
} => break 'running,
SdlEvent::KeyDown {
keycode: Some(key), ..
} => app.event(Event::KeyDown(key)),
SdlEvent::KeyUp {
keycode: Some(key), ..
} => app.event(Event::KeyUp(key)),
_ => {}
}
}
let time_now = Instant::now();
let delta_time = time_now - time_before;
time_before = time_now;
app.update(delta_time);
self.canvas.set_draw_color(Color::RGB(20, 20, 20));
self.canvas.clear();
app.render(self);
self.canvas.present();
fps_count += 1;
if (time_now - print_fps_timer).as_secs_f64() > 1.0 {
println!("fps: {fps_count}");
fps_count = 0;
print_fps_timer = time_now;
}
if delta_time < time_per_frame {
std::thread::sleep(time_per_frame - delta_time);
}
}
}
fn scale_w2s(&self, v: V2) -> V2 {
let factor = WIDTH / 2.0;
V2(v.0 * factor, v.1 * factor)
}
fn translate_w2s(&self, v: V2) -> V2 {
let aspect_ratio_h2w = HEIGHT / WIDTH;
let middle = V2(1.0, 1.0 * aspect_ratio_h2w);
V2(v.0 + middle.0, middle.1 - v.1)
}
fn point_w2s(&self, v: V2) -> V2 {
self.scale_w2s(self.translate_w2s(v))
}
}
impl Renderer for Window {
fn draw_rect(&mut self, pos: V2, size: V2, color: Color) {
let size = self.scale_w2s(size);
let pos = self.point_w2s(pos).translate(V2(0.0, -size.0));
self.canvas.set_draw_color(color);
self.canvas
.fill_rect(FRect::new(pos.0 as _, pos.1 as _, size.0 as _, size.1 as _))
.unwrap();
}
fn draw_line(&mut self, from: V2, to: V2, color: Color) {
let n = (to - from).normal().unit() * 0.0005;
let p0 = from - n;
let p1 = to - n;
let p2 = from + n;
let p3 = to + n;
self.draw_triangles(&[Tri2(p0, p1, p2), Tri2(p3, p2, p1)], color);
}
fn draw_triangles(&mut self, tris: &[Tri2], color: Color) {
let vertices = tris
.iter()
.flat_map(|t| [t.0, t.1, t.2])
.map(|p| self.point_w2s(p))
.map(|p| Vertex {
position: p.into(),
color: color.into(),
tex_coord: FPoint::new(0.0, 0.0),
})
.collect::<Vec<_>>();
self.canvas
.render_geometry(&vertices, None, VertexIndices::Sequential)
.unwrap();
}
}
impl From<V2> for FPoint {
fn from(value: V2) -> Self {
FPoint::new(value.0 as _, value.1 as _)
}
}