This commit is contained in:
Thomas Forgione 2020-02-11 14:16:40 +01:00
parent 24fd2390ac
commit f8fce2b2d9
6 changed files with 307 additions and 307 deletions

View File

@ -1,301 +1,301 @@
x y1 y2 x y1 y2
0.200000 0.097503 0.088315 0.200000 9.7503 8.8315
0.400000 0.098452 0.089165 0.400000 9.8452 8.9165
0.600000 0.099034 0.090621 0.600000 9.9034 9.0621
0.800000 0.100106 0.092772 0.800000 10.0106 9.2772
1.000000 0.100838 0.094922 1.000000 10.0838 9.4922
1.200000 0.101238 0.097089 1.200000 10.1238 9.7089
1.400000 0.101550 0.100406 1.400000 10.1550 10.0406
1.600000 0.102436 0.103554 1.600000 10.2436 10.3554
1.800000 0.102910 0.106919 1.800000 10.2910 10.6919
2.000000 0.104166 0.109929 2.000000 10.4166 10.9929
2.200000 0.107001 0.113048 2.200000 10.7001 11.3048
2.400000 0.109256 0.115971 2.400000 10.9256 11.5971
2.600000 0.110241 0.117648 2.600000 11.0241 11.7648
2.800000 0.112081 0.119653 2.800000 11.2081 11.9653
3.000000 0.114065 0.121677 3.000000 11.4065 12.1677
3.200000 0.116259 0.123945 3.200000 11.6259 12.3945
3.400000 0.119361 0.126972 3.400000 11.9361 12.6972
3.600000 0.121551 0.129572 3.600000 12.1551 12.9572
3.800000 0.122457 0.131866 3.800000 12.2457 13.1866
4.000000 0.123988 0.134376 4.000000 12.3988 13.4376
4.200000 0.126454 0.136586 4.200000 12.6454 13.6586
4.400000 0.127992 0.138646 4.400000 12.7992 13.8646
4.600000 0.129511 0.141414 4.600000 12.9511 14.1414
4.800000 0.131718 0.144400 4.800000 13.1718 14.4400
5.000000 0.133976 0.147408 5.000000 13.3976 14.7408
5.200000 0.135513 0.149806 5.200000 13.5513 14.9806
5.400000 0.137142 0.152585 5.400000 13.7142 15.2585
5.600000 0.140108 0.155569 5.600000 14.0108 15.5569
5.800000 0.142978 0.158312 5.800000 14.2978 15.8312
6.000000 0.145508 0.160951 6.000000 14.5508 16.0951
6.200000 0.148907 0.163685 6.200000 14.8907 16.3685
6.400000 0.151869 0.166592 6.400000 15.1869 16.6592
6.600000 0.154380 0.170802 6.600000 15.4380 17.0802
6.800000 0.157392 0.174862 6.800000 15.7392 17.4862
7.000000 0.159646 0.178034 7.000000 15.9646 17.8034
7.200000 0.161659 0.180889 7.200000 16.1659 18.0889
7.400000 0.163192 0.184679 7.400000 16.3192 18.4679
7.600000 0.165012 0.188733 7.600000 16.5012 18.8733
7.800000 0.166310 0.192799 7.800000 16.6310 19.2799
8.000000 0.167388 0.196648 8.000000 16.7388 19.6648
8.200000 0.168361 0.201017 8.200000 16.8361 20.1017
8.400000 0.169410 0.205993 8.400000 16.9410 20.5993
8.600000 0.170686 0.211084 8.600000 17.0686 21.1084
8.800000 0.171687 0.215472 8.800000 17.1687 21.5472
9.000000 0.173009 0.220458 9.000000 17.3009 22.0458
9.200000 0.174207 0.225169 9.200000 17.4207 22.5169
9.400000 0.175031 0.229032 9.400000 17.5031 22.9032
9.600000 0.176437 0.232202 9.600000 17.6437 23.2202
9.800000 0.178460 0.235026 9.800000 17.8460 23.5026
10.000000 0.180627 0.237295 10.000000 18.0627 23.7295
10.200000 0.183367 0.240108 10.200000 18.3367 24.0108
10.400000 0.186384 0.243486 10.400000 18.6384 24.3486
10.600000 0.188322 0.246454 10.600000 18.8322 24.6454
10.800000 0.190915 0.248796 10.800000 19.0915 24.8796
11.000000 0.192824 0.250949 11.000000 19.2824 25.0949
11.200000 0.194175 0.253685 11.200000 19.4175 25.3685
11.400000 0.195554 0.256795 11.400000 19.5554 25.6795
11.600000 0.199937 0.259664 11.600000 19.9937 25.9664
11.800000 0.201944 0.262481 11.800000 20.1944 26.2481
12.000000 0.203812 0.265244 12.000000 20.3812 26.5244
12.200000 0.205396 0.268898 12.200000 20.5396 26.8898
12.400000 0.206717 0.272740 12.400000 20.6717 27.2740
12.600000 0.207413 0.275419 12.600000 20.7413 27.5419
12.800000 0.208152 0.277734 12.800000 20.8152 27.7734
13.000000 0.209075 0.280773 13.000000 20.9075 28.0773
13.200000 0.209607 0.283977 13.200000 20.9607 28.3977
13.400000 0.210143 0.287101 13.400000 21.0143 28.7101
13.600000 0.211108 0.290366 13.600000 21.1108 29.0366
13.800000 0.211847 0.293515 13.800000 21.1847 29.3515
14.000000 0.212243 0.296769 14.000000 21.2243 29.6769
14.200000 0.213087 0.299976 14.200000 21.3087 29.9976
14.400000 0.213616 0.302717 14.400000 21.3616 30.2717
14.600000 0.214302 0.305465 14.600000 21.4302 30.5465
14.800000 0.215149 0.307978 14.800000 21.5149 30.7978
15.000000 0.215892 0.310081 15.000000 21.5892 31.0081
15.200000 0.217069 0.312668 15.200000 21.7069 31.2668
15.400000 0.219095 0.315512 15.400000 21.9095 31.5512
15.600000 0.220902 0.317561 15.600000 22.0902 31.7561
15.800000 0.221939 0.320237 15.800000 22.1939 32.0237
16.000000 0.223176 0.322628 16.000000 22.3176 32.2628
16.200000 0.225046 0.324867 16.200000 22.5046 32.4867
16.400000 0.226490 0.327345 16.400000 22.6490 32.7345
16.600000 0.227185 0.330391 16.600000 22.7185 33.0391
16.800000 0.228230 0.332416 16.800000 22.8230 33.2416
17.000000 0.230113 0.334231 17.000000 23.0113 33.4231
17.200000 0.230828 0.336941 17.200000 23.0828 33.6941
17.400000 0.233200 0.340406 17.400000 23.3200 34.0406
17.600000 0.234337 0.344316 17.600000 23.4337 34.4316
17.800000 0.236028 0.347395 17.800000 23.6028 34.7395
18.000000 0.239351 0.350385 18.000000 23.9351 35.0385
18.200000 0.241067 0.353339 18.200000 24.1067 35.3339
18.400000 0.242239 0.356479 18.400000 24.2239 35.6479
18.600000 0.244004 0.359210 18.600000 24.4004 35.9210
18.800000 0.245358 0.361768 18.800000 24.5358 36.1768
19.000000 0.246510 0.363749 19.000000 24.6510 36.3749
19.200000 0.247763 0.365858 19.200000 24.7763 36.5858
19.400000 0.248786 0.367674 19.400000 24.8786 36.7674
19.600000 0.250194 0.369398 19.600000 25.0194 36.9398
19.800000 0.251096 0.371366 19.800000 25.1096 37.1366
20.000000 0.251690 0.373385 20.000000 25.1690 37.3385
20.200000 0.252760 0.375526 20.200000 25.2760 37.5526
20.400000 0.253619 0.377828 20.400000 25.3619 37.7828
20.600000 0.254491 0.380114 20.600000 25.4491 38.0114
20.800000 0.255894 0.382473 20.800000 25.5894 38.2473
21.000000 0.256917 0.384404 21.000000 25.6917 38.4404
21.200000 0.258110 0.385675 21.200000 25.8110 38.5675
21.400000 0.259289 0.387245 21.400000 25.9289 38.7245
21.600000 0.260389 0.389327 21.600000 26.0389 38.9327
21.800000 0.261689 0.391639 21.800000 26.1689 39.1639
22.000000 0.263026 0.394407 22.000000 26.3026 39.4407
22.200000 0.264725 0.396658 22.200000 26.4725 39.6658
22.400000 0.267235 0.398696 22.400000 26.7235 39.8696
22.600000 0.269488 0.400432 22.600000 26.9488 40.0432
22.800000 0.271635 0.402434 22.800000 27.1635 40.2434
23.000000 0.274004 0.404633 23.000000 27.4004 40.4633
23.200000 0.276234 0.407167 23.200000 27.6234 40.7167
23.400000 0.277387 0.409267 23.400000 27.7387 40.9267
23.600000 0.278104 0.411109 23.600000 27.8104 41.1109
23.800000 0.278957 0.413462 23.800000 27.8957 41.3462
24.000000 0.280005 0.415360 24.000000 28.0005 41.5360
24.200000 0.281500 0.417986 24.200000 28.1500 41.7986
24.400000 0.282248 0.420244 24.400000 28.2248 42.0244
24.600000 0.282840 0.422534 24.600000 28.2840 42.2534
24.800000 0.284264 0.424607 24.800000 28.4264 42.4607
25.000000 0.285127 0.426298 25.000000 28.5127 42.6298
25.200000 0.286189 0.427968 25.200000 28.6189 42.7968
25.400000 0.287795 0.429578 25.400000 28.7795 42.9578
25.600000 0.288808 0.431127 25.600000 28.8808 43.1127
25.800000 0.290111 0.433761 25.800000 29.0111 43.3761
26.000000 0.291812 0.436558 26.000000 29.1812 43.6558
26.200000 0.293006 0.439091 26.200000 29.3006 43.9091
26.400000 0.294112 0.441927 26.400000 29.4112 44.1927
26.600000 0.295166 0.444808 26.600000 29.5166 44.4808
26.800000 0.297193 0.447370 26.800000 29.7193 44.7370
27.000000 0.298580 0.450142 27.000000 29.8580 45.0142
27.200000 0.300218 0.452402 27.200000 30.0218 45.2402
27.400000 0.301624 0.455114 27.400000 30.1624 45.5114
27.600000 0.303793 0.457539 27.600000 30.3793 45.7539
27.800000 0.304811 0.459427 27.800000 30.4811 45.9427
28.000000 0.305401 0.461453 28.000000 30.5401 46.1453
28.200000 0.305993 0.463215 28.200000 30.5993 46.3215
28.400000 0.306566 0.464894 28.400000 30.6566 46.4894
28.600000 0.307121 0.466308 28.600000 30.7121 46.6308
28.800000 0.307988 0.467434 28.800000 30.7988 46.7434
29.000000 0.309297 0.468577 29.000000 30.9297 46.8577
29.200000 0.310065 0.470151 29.200000 31.0065 47.0151
29.400000 0.310849 0.471488 29.400000 31.0849 47.1488
29.600000 0.311914 0.472803 29.600000 31.1914 47.2803
29.800000 0.313185 0.474673 29.800000 31.3185 47.4673
30.000000 0.314149 0.475856 30.000000 31.4149 47.5856
30.200000 0.314920 0.477171 30.200000 31.4920 47.7171
30.400000 0.315501 0.479592 30.400000 31.5501 47.9592
30.600000 0.316245 0.481980 30.600000 31.6245 48.1980
30.800000 0.317181 0.485422 30.800000 31.7181 48.5422
31.000000 0.317727 0.487838 31.000000 31.7727 48.7838
31.200000 0.318091 0.489523 31.200000 31.8091 48.9523
31.400000 0.318770 0.491526 31.400000 31.8770 49.1526
31.600000 0.319236 0.493325 31.600000 31.9236 49.3325
31.800000 0.319707 0.495433 31.800000 31.9707 49.5433
32.000000 0.320356 0.497587 32.000000 32.0356 49.7587
32.200000 0.321022 0.499542 32.200000 32.1022 49.9542
32.400000 0.321769 0.501288 32.400000 32.1769 50.1288
32.600000 0.322224 0.502722 32.600000 32.2224 50.2722
32.800000 0.323040 0.503949 32.800000 32.3040 50.3949
33.000000 0.324225 0.505222 33.000000 32.4225 50.5222
33.200000 0.325689 0.506290 33.200000 32.5689 50.6290
33.400000 0.326490 0.507350 33.400000 32.6490 50.7350
33.600000 0.327039 0.508887 33.600000 32.7039 50.8887
33.800000 0.327471 0.510496 33.800000 32.7471 51.0496
34.000000 0.328007 0.511455 34.000000 32.8007 51.1455
34.200000 0.328648 0.512538 34.200000 32.8648 51.2538
34.400000 0.329275 0.513873 34.400000 32.9275 51.3873
34.600000 0.329868 0.515596 34.600000 32.9868 51.5596
34.800000 0.330697 0.517648 34.800000 33.0697 51.7648
35.000000 0.331593 0.519788 35.000000 33.1593 51.9788
35.200000 0.332025 0.521564 35.200000 33.2025 52.1564
35.400000 0.332886 0.523140 35.400000 33.2886 52.3140
35.600000 0.333676 0.524824 35.600000 33.3676 52.4824
35.800000 0.334364 0.526479 35.800000 33.4364 52.6479
36.000000 0.335636 0.527580 36.000000 33.5636 52.7580
36.200000 0.336511 0.528415 36.200000 33.6511 52.8415
36.400000 0.337418 0.529290 36.400000 33.7418 52.9290
36.600000 0.338301 0.530663 36.600000 33.8301 53.0663
36.800000 0.339170 0.532125 36.800000 33.9170 53.2125
37.000000 0.340562 0.533335 37.000000 34.0562 53.3335
37.200000 0.341569 0.534586 37.200000 34.1569 53.4586
37.400000 0.342588 0.535723 37.400000 34.2588 53.5723
37.600000 0.343646 0.537357 37.600000 34.3646 53.7357
37.800000 0.344250 0.539198 37.800000 34.4250 53.9198
38.000000 0.345600 0.540550 38.000000 34.5600 54.0550
38.200000 0.346874 0.541728 38.200000 34.6874 54.1728
38.400000 0.347969 0.542815 38.400000 34.7969 54.2815
38.600000 0.348918 0.544138 38.600000 34.8918 54.4138
38.800000 0.350681 0.545336 38.800000 35.0681 54.5336
39.000000 0.352598 0.546381 39.000000 35.2598 54.6381
39.200000 0.354173 0.547146 39.200000 35.4173 54.7146
39.400000 0.355891 0.548101 39.400000 35.5891 54.8101
39.600000 0.357380 0.549355 39.600000 35.7380 54.9355
39.800000 0.358859 0.550491 39.800000 35.8859 55.0491
40.000000 0.360160 0.551519 40.000000 36.0160 55.1519
40.200000 0.361323 0.552797 40.200000 36.1323 55.2797
40.400000 0.363119 0.554266 40.400000 36.3119 55.4266
40.600000 0.364269 0.555537 40.600000 36.4269 55.5537
40.800000 0.365443 0.556571 40.800000 36.5443 55.6571
41.000000 0.366789 0.557678 41.000000 36.6789 55.7678
41.200000 0.368127 0.558670 41.200000 36.8127 55.8670
41.400000 0.369385 0.559548 41.400000 36.9385 55.9548
41.600000 0.370063 0.560449 41.600000 37.0063 56.0449
41.800000 0.371340 0.561790 41.800000 37.1340 56.1790
42.000000 0.372450 0.563915 42.000000 37.2450 56.3915
42.200000 0.373622 0.566647 42.200000 37.3622 56.6647
42.400000 0.374693 0.569275 42.400000 37.4693 56.9275
42.600000 0.376288 0.571004 42.600000 37.6288 57.1004
42.800000 0.377496 0.572581 42.800000 37.7496 57.2581
43.000000 0.379432 0.574225 43.000000 37.9432 57.4225
43.200000 0.381727 0.575702 43.200000 38.1727 57.5702
43.400000 0.382813 0.576852 43.400000 38.2813 57.6852
43.600000 0.384065 0.577723 43.600000 38.4065 57.7723
43.800000 0.384869 0.578758 43.800000 38.4869 57.8758
44.000000 0.385669 0.579743 44.000000 38.5669 57.9743
44.200000 0.386363 0.580671 44.200000 38.6363 58.0671
44.400000 0.387027 0.581695 44.400000 38.7027 58.1695
44.600000 0.387808 0.582935 44.600000 38.7808 58.2935
44.800000 0.388667 0.584143 44.800000 38.8667 58.4143
45.000000 0.389902 0.585377 45.000000 38.9902 58.5377
45.200000 0.391123 0.587146 45.200000 39.1123 58.7146
45.400000 0.392796 0.589772 45.400000 39.2796 58.9772
45.600000 0.394203 0.591433 45.600000 39.4203 59.1433
45.800000 0.394920 0.592806 45.800000 39.4920 59.2806
46.000000 0.395631 0.594099 46.000000 39.5631 59.4099
46.200000 0.396501 0.595159 46.200000 39.6501 59.5159
46.400000 0.397414 0.596667 46.400000 39.7414 59.6667
46.600000 0.398494 0.598406 46.600000 39.8494 59.8406
46.800000 0.399236 0.600088 46.800000 39.9236 60.0088
47.000000 0.400161 0.601838 47.000000 40.0161 60.1838
47.200000 0.401429 0.603664 47.200000 40.1429 60.3664
47.400000 0.402608 0.605485 47.400000 40.2608 60.5485
47.600000 0.403520 0.607148 47.600000 40.3520 60.7148
47.800000 0.404343 0.608493 47.800000 40.4343 60.8493
48.000000 0.405009 0.609595 48.000000 40.5009 60.9595
48.200000 0.405578 0.611539 48.200000 40.5578 61.1539
48.400000 0.406122 0.613060 48.400000 40.6122 61.3060
48.600000 0.406758 0.614969 48.600000 40.6758 61.4969
48.800000 0.407346 0.616701 48.800000 40.7346 61.6701
49.000000 0.408071 0.618002 49.000000 40.8071 61.8002
49.200000 0.408686 0.618920 49.200000 40.8686 61.8920
49.400000 0.409120 0.619814 49.400000 40.9120 61.9814
49.600000 0.410161 0.620999 49.600000 41.0161 62.0999
49.800000 0.410735 0.622160 49.800000 41.0735 62.2160
50.000000 0.412381 0.623502 50.000000 41.2381 62.3502
50.200000 0.413658 0.625015 50.200000 41.3658 62.5015
50.400000 0.415368 0.626299 50.400000 41.5368 62.6299
50.600000 0.416405 0.627531 50.600000 41.6405 62.7531
50.800000 0.417115 0.628789 50.800000 41.7115 62.8789
51.000000 0.418355 0.630495 51.000000 41.8355 63.0495
51.200000 0.419826 0.631440 51.200000 41.9826 63.1440
51.400000 0.420414 0.632182 51.400000 42.0414 63.2182
51.600000 0.420999 0.632895 51.600000 42.0999 63.2895
51.800000 0.421503 0.633788 51.800000 42.1503 63.3788
52.000000 0.422068 0.634506 52.000000 42.2068 63.4506
52.200000 0.423113 0.635104 52.200000 42.3113 63.5104
52.400000 0.424586 0.635770 52.400000 42.4586 63.5770
52.600000 0.425544 0.636204 52.600000 42.5544 63.6204
52.800000 0.426422 0.636636 52.800000 42.6422 63.6636
53.000000 0.427180 0.637123 53.000000 42.7180 63.7123
53.200000 0.428695 0.637688 53.200000 42.8695 63.7688
53.400000 0.430087 0.639010 53.400000 43.0087 63.9010
53.600000 0.431815 0.640361 53.600000 43.1815 64.0361
53.800000 0.433445 0.641679 53.800000 43.3445 64.1679
54.000000 0.435073 0.643095 54.000000 43.5073 64.3095
54.200000 0.436661 0.644524 54.200000 43.6661 64.4524
54.400000 0.437781 0.645809 54.400000 43.7781 64.5809
54.600000 0.438688 0.647127 54.600000 43.8688 64.7127
54.800000 0.439581 0.648371 54.800000 43.9581 64.8371
55.000000 0.440405 0.649450 55.000000 44.0405 64.9450
55.200000 0.442192 0.650736 55.200000 44.2192 65.0736
55.400000 0.443996 0.652181 55.400000 44.3996 65.2181
55.600000 0.445176 0.653517 55.600000 44.5176 65.3517
55.800000 0.446202 0.655100 55.800000 44.6202 65.5100
56.000000 0.447057 0.656265 56.000000 44.7057 65.6265
56.200000 0.448194 0.657582 56.200000 44.8194 65.7582
56.400000 0.449148 0.658616 56.400000 44.9148 65.8616
56.600000 0.450208 0.659328 56.600000 45.0208 65.9328
56.800000 0.451604 0.659835 56.800000 45.1604 65.9835
57.000000 0.454157 0.660488 57.000000 45.4157 66.0488
57.200000 0.455229 0.661104 57.200000 45.5229 66.1104
57.400000 0.456171 0.661798 57.400000 45.6171 66.1798
57.600000 0.456948 0.662449 57.600000 45.6948 66.2449
57.800000 0.457787 0.663459 57.800000 45.7787 66.3459
58.000000 0.458755 0.664760 58.000000 45.8755 66.4760
58.200000 0.460129 0.665886 58.200000 46.0129 66.5886
58.400000 0.461360 0.666987 58.400000 46.1360 66.6987
58.600000 0.462152 0.668349 58.600000 46.2152 66.8349
58.800000 0.463101 0.669528 58.800000 46.3101 66.9528
59.000000 0.463959 0.670408 59.000000 46.3959 67.0408
59.200000 0.464698 0.671044 59.200000 46.4698 67.1044
59.400000 0.465239 0.672217 59.400000 46.5239 67.2217
59.600000 0.466235 0.672912 59.600000 46.6235 67.2912
59.800000 0.467269 0.673920 59.800000 46.7269 67.3920
60.000000 0.468214 0.674896 60.000000 46.8214 67.4896

View File

@ -341,7 +341,7 @@ The \texttt{DashLoader} class accepts as parameter a function that will be calle
\subsubsection{Performance} \subsubsection{Performance}
Javascript requires the use of \emph{web workers} to perform parallel computing. JavaScript requires the use of \emph{web workers} to perform parallel computing.
A web worker is a script in JavaScript that runs in the background, on a separate thread and that can communicate with the main script by sending and receiving messages. A web worker is a script in JavaScript that runs in the background, on a separate thread and that can communicate with the main script by sending and receiving messages.
Since our system has many tasks to perform, it is natural to use workers to manage the streaming without impacting the framerate of the renderer. Since our system has many tasks to perform, it is natural to use workers to manage the streaming without impacting the framerate of the renderer.
However, what a worker can do is very limited, since it cannot access the variables of the main script. However, what a worker can do is very limited, since it cannot access the variables of the main script.

View File

@ -13,7 +13,7 @@ When it comes to 3D streaming systems, we need two kind of software.
\paragraph{THREE.js.} \paragraph{THREE.js.}
On the web browser, it is now possible to perform 3D rendering by using WebGL\@. On the web browser, it is now possible to perform 3D rendering by using WebGL\@.
However, WebGL is very low level and it can be painful to write code, even to render a simple triangle. However, WebGL is very low level and it can be painful to write code, even to render a simple triangle.
For example, \href{https://www.tutorialspoint.com/webgl/webgl_drawing_a_triangle.htm}{this tutorial}'s code contains 121 lines of javascript, 46 being code (not comments or empty lines) to render a simple, non-textured triangle. For example, \href{https://www.tutorialspoint.com/webgl/webgl_drawing_a_triangle.htm}{this tutorial}'s code contains 121 lines of JavaScript, 46 being code (not comments or empty lines) to render a simple, non-textured triangle.
For this reason, it seems unreasonable to build a system like the one we are describing in raw WebGL\@. For this reason, it seems unreasonable to build a system like the one we are describing in raw WebGL\@.
There are many libraires that wrap WebGL code and that help people building 3D interfaces, and \href{https://threejs.org}{THREE.js} is a very popular one (56617 stars on github, making it the 35th most starred repository on GitHub as of November 26th, 2019\footnote{\url{https://web.archive.org/web/20191126151645/https://gitstar-ranking.com/mrdoob/three.js}}). There are many libraires that wrap WebGL code and that help people building 3D interfaces, and \href{https://threejs.org}{THREE.js} is a very popular one (56617 stars on github, making it the 35th most starred repository on GitHub as of November 26th, 2019\footnote{\url{https://web.archive.org/web/20191126151645/https://gitstar-ranking.com/mrdoob/three.js}}).
THREE.js acts as a 3D engine built on WebGL\@. THREE.js acts as a 3D engine built on WebGL\@.

View File

@ -10,7 +10,7 @@ The last section of this chapter focuses on 3D interaction.
Then, in Chapter~\ref{bi}, we present our first contribution: an in-depth analysis of the impact of the UI on navigation and streaming in a 3D scene. Then, in Chapter~\ref{bi}, we present our first contribution: an in-depth analysis of the impact of the UI on navigation and streaming in a 3D scene.
We first develop a basic interface for navigating in 3D and then, we introduce 3D objects called \emph{bookmarks} that help users navigating in the scene. We first develop a basic interface for navigating in 3D and then, we introduce 3D objects called \emph{bookmarks} that help users navigating in the scene.
We then present a user study that we conducted on 50 people which shows that bookmarks ease user navigation: they improve performance at tasks such as finding objects. We then present a user study that we conducted on 51 people which shows that bookmarks ease user navigation: they improve performance at tasks such as finding objects.
% Then, we setup a basic 3D streaming system that allows us to replay the traces collected during the user study and simulate 3D streaming at the same time. % Then, we setup a basic 3D streaming system that allows us to replay the traces collected during the user study and simulate 3D streaming at the same time.
We analyze how the presence of bookmarks impacts the streaming: we propose and evaluate streaming policies based on precomputations relying on bookmarks and that measurably increase the quality of experience. We analyze how the presence of bookmarks impacts the streaming: we propose and evaluate streaming policies based on precomputations relying on bookmarks and that measurably increase the quality of experience.

View File

@ -54,7 +54,7 @@ Our NVE does not stream the 3D content for these experiments, in order to avoid
\subsubsection{Task design} \subsubsection{Task design}
Since we are interested in studying how efficiently users navigate in the 3D scene, we ask our participants to complete a task which forces them to visit, at least partially, various regions in the scene. Since we are interested in studying how efficiently users navigate in the 3D scene, we ask our participants to complete a task which forces them to visit, at least partially, various regions in the scene.
To this end, we hide a set of 8 coins on the scene: participants are asked to collect the coins by clicking on them. To this end, we hide a set of 8 coins on the scene: participants are asked to collect the coins by clicking on them.
In order to avoid any bias due to the coins position, we predefined 50 possible coin locations all around the scene, and randomly select 8 out of these 50 positions each time a new participant starts the experiment. In order to avoid any bias due to the coins position, we predefined 50 possible coin locations per scene, and randomly select 8 out of these 50 positions each time a new participant starts the experiment.
\subsubsection{Experiment} \subsubsection{Experiment}
Participants are first presented with an initial screen to collect some preliminary information: age, gender, the last time they played 3D video games, and self-rated 3D gaming skills. We ask those questions because we believe that someone who is used to playing 3D video games should browse the scene more easily, and thus, may not need to use our bookmarks. Participants are first presented with an initial screen to collect some preliminary information: age, gender, the last time they played 3D video games, and self-rated 3D gaming skills. We ask those questions because we believe that someone who is used to playing 3D video games should browse the scene more easily, and thus, may not need to use our bookmarks.
@ -106,7 +106,7 @@ There were 51 participants (36 men and 15 women), who are in average 30.44 years
We now present the results from our user study, focusing on whether bookmarks help users navigating the 3D scene. We now present the results from our user study, focusing on whether bookmarks help users navigating the 3D scene.
\subsubsection{Questionnaire} \subsubsection{Questionnaire}
We had 51 responses to the Questionnaire. We had 51 responses to the questionnaire.
The answers are summarized in Table~\ref{bi:questions}. The answers are summarized in Table~\ref{bi:questions}.
Note that not all questions were answered by all participants. Note that not all questions were answered by all participants.

View File

@ -19,7 +19,7 @@ Table~\ref{bi:modelsize} shows that material and texture amount at most for $3.6
When a client starts loading the web page containing the 3D model, the server first sends the list of materials and the texture files. When a client starts loading the web page containing the 3D model, the server first sends the list of materials and the texture files.
Then, the server periodically sends a fixed size chunk that indifferently encapsulates vertices, texture coordinates, or faces. Then, the server periodically sends a fixed size chunk that indifferently encapsulates vertices, texture coordinates, or faces.
A \textit{vertex} is coded with three floats and an integer ($x$, $y$, and $z$ coordinates and the index of the vertex), a \textit{texture coordinate} with two floats and an integer (the $x$ and $y$ coordinates on the image and the index of the texture coordinate), and a face with eight integers (the index of each vertex, the index of each texture coordinate, the index of the face and the number of the corresponding material). A \textit{vertex} is coded with three floats and an integer ($x$, $y$, and $z$ coordinates and the index of the vertex), a \textit{texture coordinate} with two floats and an integer (the $x$ and $y$ coordinates on the image and the index of the texture coordinate), and a face with eight integers (the index of each vertex, the index of each texture coordinate, the index of the face and the number of the corresponding material).
Consequently, given the Javascript implementation of integers and floats, we approximate each vertex and each texture coordinate to take up 32 bytes, and each face takes up 96 bytes. Consequently, given the JavaScript implementation of integers and floats, we approximate each vertex and each texture coordinate to take up 32 bytes, and each face takes up 96 bytes.
\begin{table}[th] \begin{table}[th]
\centering \centering
@ -85,7 +85,7 @@ Computing this, however, requires rendering the scene at the server, and measuri
It is not scalable to compute this for every viewpoint requested by the client. It is not scalable to compute this for every viewpoint requested by the client.
However, we can prerender the bookmarked viewpoints, since the number of bookmarks is limited, their viewpoints are known in advance, and they are likely to be accessed. However, we can prerender the bookmarked viewpoints, since the number of bookmarks is limited, their viewpoints are known in advance, and they are likely to be accessed.
For each bookmark, we render offline the scene using a single color per triangle. For each bookmark, we render the scene offline, using a single color per triangle.
Once rendered, we scan the output image to find the visible triangles (based on the color) and sort them by decreasing projected area. Once rendered, we scan the output image to find the visible triangles (based on the color) and sort them by decreasing projected area.
This technique is also used by~\citep{view-dependent-progressive-mesh}. This technique is also used by~\citep{view-dependent-progressive-mesh}.
Thus, when the user clicks on a 3D bookmark, this precomputed list of faces is used by the server, and only visible faces are sent in decreasing order of contributions to the rendered image. Thus, when the user clicks on a 3D bookmark, this precomputed list of faces is used by the server, and only visible faces are sent in decreasing order of contributions to the rendered image.