corsica_grid_cells_dichotomy.html

text/html
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg id="svg-corsica-grid-cells-full-only"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     width="911.725312pt"
     height="1180pt"
     viewBox="0 0 911.725312 1180"
     xmlns="http://www.w3.org/2000/svg"
     version="1.1"
     class="corsica-grid">
  <defs>
  <style type="text/css">
      * {
          stroke-linejoin: round;
          stroke-linecap: butt
      }

      .corsica-axis-label {
          font-size: 28px;
          font-weight: 700
      }

      #coord_cells rect {
          stroke: none;
      }

      #coord_cells rect.pm-none {
          fill: transparent;
      }

      #coord_cells rect.pm-full {
          fill: var(--color-secondary, oklch(var(--color-secondary)));
          fill-opacity: 0.25;
      }

      #coord_cells rect.pm-partial {
          fill: var(--color-accent, oklch(var(--color-accent)));
          fill-opacity: 0.75;
      }
  </style>
  <!-- Arrow marker using base-content color (used by compass) -->
  <marker id="arrow-base" markerWidth="6" markerHeight="6" refX="6" refY="3" orient="auto" markerUnits="strokeWidth">
  <path d="M 0 0 L 6 3 L 0 6 z" style="fill: var(--color-base-content);" />
  </marker>
  </defs>
  <g id="figure_1">
  <g id="patch_1">
  <path d="M 0 1143.904687 L 911.725312 1143.904687 L 911.725312 0 L 0 0 z " style="fill: var(--color-base-100)" />
  </g>
  <g id="axes_1">
  <g id="patch_2">
  <path d="M 209.484095 1102.477187 L 702.241217 1102.477187 L 702.241217 41.597187 L 209.484095 41.597187 z " style="fill: var(--color-base-100)" />
  </g>
  <g id="PatchCollection_1">
  <!-- Island shape -->
  <path d="M 558.853948 1088.164429 L 556.3725 1089.91912 L 551.805804 1085.756468 L 553.835055 1082.706736 L 560.076305 1085.487996 z " style="fill: var(--color-primary-content); stroke: var(--color-primary); stroke-width: 2; fill-opacity: 0.25;" />
  <path d="M 619.91286 778.141913 L 619.811221 786.215152 L 621.77537 800.9586 L 616.127238 815.66512 L 618.479457 821.190037 L 617.993243 828.526554 L 622.262661 835.323163 L 621.308872 843.522997 L 621.749406 853.176561 L 619.480503 867.142235 L 620.500032 870.984638 L 618.772147 882.312975 L 610.057403 885.325295 L 605.969121 891.083847 L 607.568141 896.23924 L 613.036602 904.565625 L 611.903719 907.321245 L 602.299469 917.864642 L 597.798448 915.019524 L 594.47773 917.579955 L 593.915687 921.730013 L 597.374324 923.858749 L 593.897915 929.587926 L 589.425292 927.057302 L 584.988363 930.310991 L 576.163291 922.694144 L 575.13161 929.611981 L 570.936267 933.718364 L 566.906798 934.888043 L 564.205094 942.832158 L 565.982511 947.204009 L 570.321042 951.053521 L 576.230731 944.366129 L 578.417028 939.870542 L 582.34202 937.544218 L 588.660972 939.308471 L 594.229702 944.103557 L 604.235516 942.52977 L 597.167481 954.434101 L 594.744301 956.035019 L 595.673561 961.812869 L 591.35983 966.173831 L 583.493624 967.433006 L 573.411402 974.991674 L 566.542362 984.391177 L 559.803926 984.413804 L 560.08592 989.232819 L 564.849266 990.531237 L 561.773992 999.526015 L 557.860727 1002.351727 L 561.133079 1005.609048 L 566.586527 1006.617468 L 564.888115 1017.454346 L 561.757179 1018.844571 L 561.963813 1025.376491 L 556.457902 1024.723482 L 545.786196 1036.835666 L 536.950982 1039.483366 L 536.633718 1043.541416 L 539.250546 1050.275012 L 538.888689 1060.441729 L 546.38721 1052.86253 L 556.095133 1048.403014 L 553.333733 1057.763798 L 549.406291 1060.130909 L 542.631734 1070.206422 L 541.216915 1074.601164 L 535.80373 1081.025375 L 534.96189 1086.122081 L 525.250704 1087.582655 L 516.67309 1087.235764 L 513.882272 1079.141467 L 510.56673 1075.208475 L 500.03822 1074.209666 L 488.987838 1068.395609 L 476.415296 1070.030567 L 475.174034 1065.028211 L 477.202548 1058.356341 L 483.43236 1053.641758 L 481.303702 1050.148929 L 488.906182 1042.542846 L 488.223101 1040.56137 L 479.025374 1039.307988 L 476.295906 1034.943259 L 471.000307 1039.806709 L 467.330613 1039.212251 L 463.662919 1034.124361 L 465.524786 1024.130048 L 465.45728 1018.647908 L 456.407618 1028.712928 L 450.557291 1028.710832 L 441.143298 1023.622747 L 438.750755 1018.365072 L 433.765979 1018.583253 L 429.427979 1012.541542 L 423.853153 1016.350574 L 413.89438 1008.313414 L 404.098094 1009.859107 L 401.02055 1006.274044 L 396.007438 1004.94228 L 393.092226 998.845892 L 386.316725 997.862552 L 379.073472 1000.186957 L 377.874439 997.570668 L 380.76995 992.647375 L 375.907466 988.431297 L 370.119638 990.733189 L 360.677017 992.095976 L 358.969869 988.448843 L 363.86384 982.504189 L 363.521433 977.715167 L 359.098431 974.141236 L 350.369032 974.390347 L 346.634126 969.524018 L 334.372061 967.119334 L 332.95707 963.400289 L 340.620709 957.833097 L 331.698992 949.572394 L 329.095263 945.125097 L 332.216515 942.842221 L 335.494306 935.243588 L 336.485312 922.024277 L 340.857935 919.721924 L 349.839304 921.687876 L 352.043448 918.007333 L 364.865233 911.059239 L 372.041646 911.640804 L 375.653414 907.645143 L 377.351074 897.824377 L 382.924858 894.053713 L 389.961519 892.228065 L 393.362549 889.543857 L 392.980973 884.24377 L 379.557644 883.536576 L 376.129927 880.319696 L 358.912266 879.328568 L 353.800588 873.858725 L 345.620689 868.91902 L 336.80668 872.835133 L 327.131874 870.307215 L 332.516067 857.90879 L 330.412368 853.042951 L 326.890856 851.722398 L 321.134565 853.692062 L 310.231593 859.315218 L 305.03818 860.495217 L 301.203064 863.491033 L 294.592254 861.46209 L 296.721074 855.070174 L 292.082445 851.846673 L 284.811415 852.726341 L 280.047384 850.359287 L 273.903414 851.541941 L 274.454778 846.732934 L 278.423536 844.57851 L 285.977877 848.278312 L 295.232788 841.441567 L 299.296212 839.593623 L 307.179815 830.125755 L 305.821172 823.10796 L 302.287145 821.974545 L 303.067893 816.376392 L 312.229191 815.824793 L 315.633015 808.20464 L 319.954627 809.380994 L 326.351788 807.943626 L 327.979779 799.277999 L 331.362199 793.838439 L 326.125084 792.106778 L 324.722782 786.160607 L 332.308945 784.75461 L 335.340735 780.139202 L 335.181908 773.297684 L 330.965199 764.348658 L 341.164138 757.622426 L 337.68803 746.643703 L 333.107766 739.48563 L 326.976856 735.021326 L 321.51335 736.851429 L 318.727139 731.762424 L 314.169025 731.386616 L 311.767119 734.436363 L 312.28624 741.191846 L 307.621347 742.226827 L 303.15168 746.398567 L 294.709485 747.419632 L 287.065837 746.814249 L 279.43707 749.033005 L 276.576566 747.57358 L 265.941032 746.001067 L 253.603606 750.73699 L 251.451446 744.015891 L 256.839718 734.737644 L 256.322598 727.382033 L 250.843554 726.996704 L 249.30498 720.152729 L 245.586194 718.782029 L 244.741615 710.708082 L 253.560745 707.421635 L 264.810928 709.845099 L 268.088725 709.431023 L 278.701929 700.452791 L 278.507018 694.687825 L 273.439155 693.541327 L 272.907927 683.552016 L 278.298163 678.458806 L 288.680292 672.094441 L 294.117278 672.693415 L 304.973525 667.847536 L 303.734177 662.709171 L 312.409729 663.731321 L 315.042012 657.892651 L 311.400928 650.051547 L 302.419149 649.541484 L 302.642348 645.817054 L 300.051619 638.221843 L 295.385261 634.202361 L 297.953876 629.253026 L 293.29722 622.834959 L 293.174778 618.77128 L 288.135744 617.145144 L 284.215036 622.864457 L 279.809968 622.167254 L 274.805326 624.376648 L 268.527126 613.361091 L 264.091768 614.218108 L 258.582633 612.394961 L 251.28754 604.938953 L 244.74234 607.630168 L 238.522674 608.217735 L 239.66991 604.109158 L 243.844985 599.513722 L 241.885552 595.767001 L 236.175847 591.119087 L 242.084774 586.516386 L 241.300609 581.784271 L 231.870202 583.29376 L 230.576991 578.072766 L 238.690901 577.309798 L 236.521903 571.027845 L 237.996008 560.109883 L 232.547699 558.814761 L 235.174465 553.558114 L 231.366213 551.54695 L 234.346637 547.614588 L 232.857748 544.813535 L 222.552053 545.689416 L 218.789092 541.868721 L 223.042166 538.737886 L 226.237613 541.210503 L 234.149094 539.511219 L 236.543381 536.052668 L 241.689227 535.895467 L 254.43398 529.017261 L 259.097919 531.342673 L 266.123285 528.408167 L 277.171248 526.592236 L 279.954898 524.872178 L 288.11239 523.950328 L 288.585906 514.733074 L 282.004975 511.337041 L 281.064136 504.604893 L 274.83718 499.718954 L 269.291483 499.333415 L 265.235427 501.415841 L 258.527172 493.34987 L 251.47476 495.778163 L 245.462148 490.968251 L 248.810228 486.825864 L 256.684667 483.775553 L 259.681309 480.77042 L 258.959464 475.781264 L 255.16236 475.492566 L 246.769679 467.770428 L 242.722427 467.913381 L 238.076777 471.243745 L 234.49017 476.929567 L 230.317825 480.193541 L 224.932832 480.308875 L 227.489671 473.556673 L 224.228442 471.301773 L 226.131732 460.392475 L 220.232453 458.969224 L 222.439193 451.222034 L 226.916315 456.621005 L 231.159204 456.66091 L 236.563219 453.616296 L 234.284713 449.934758 L 239.736368 447.473226 L 244.900723 449.310735 L 250.771102 446.810932 L 247.720362 438.225694 L 252.090248 436.250731 L 248.537339 432.285647 L 250.572339 427.696216 L 257.560776 425.061681 L 264.985251 426.630359 L 269.038727 430.021356 L 272.352138 428.379215 L 275.604227 421.750082 L 274.762362 416.104666 L 269.099284 411.628969 L 277.977315 410.076047 L 278.360321 401.832279 L 283.797131 395.489959 L 281.453254 390.385647 L 269.563294 391.599556 L 269.886463 389.131723 L 276.688384 379.867501 L 277.599487 365.909402 L 281.476625 363.775412 L 285.626349 365.133866 L 291.712631 359.404541 L 298.042135 360.585002 L 301.842383 357.73324 L 297.953763 353.037534 L 301.998989 349.85309 L 300.919142 344.533118 L 303.798542 339.817248 L 300.195059 335.265324 L 298.294666 327.367499 L 304.495535 322.665816 L 304.273629 328.994825 L 305.763429 336.786867 L 310.912944 332.894805 L 315.645234 332.652993 L 321.301822 338.692482 L 325.117271 340.424326 L 334.032773 338.942673 L 341.613575 331.605954 L 339.780301 323.730046 L 344.861221 319.155165 L 343.86195 313.26866 L 350.656111 308.793111 L 355.673473 311.58343 L 363.406429 306.032558 L 369.93278 307.655027 L 374.61944 304.411881 L 374.178554 301.262915 L 379.962984 294.490293 L 387.355224 295.638493 L 391.422266 294.534959 L 394.668646 289.505085 L 402.171056 288.333217 L 405.670787 291.26916 L 413.85462 290.650196 L 421.206181 287.534625 L 433.050735 286.362627 L 437.584557 287.340964 L 442.3842 284.879161 L 445.557269 279.993027 L 454.159526 278.116383 L 460.355294 274.963395 L 461.520498 271.806085 L 457.788782 262.471977 L 460.249797 253.272582 L 466.116161 254.026136 L 469.837139 249.355007 L 472.658146 240.714729 L 479.225497 240.31463 L 482.062104 234.756925 L 487.659135 233.221693 L 490.704086 230.026597 L 496.05625 230.908025 L 510.399797 226.929421 L 520.295517 232.723186 L 527.595269 233.364523 L 534.007094 228.39956 L 537.229689 229.794962 L 541.627115 237.386415 L 551.138046 238.262161 L 553.407231 249.452671 L 557.417421 250.216264 L 562.494254 256.422996 L 565.08571 264.746491 L 569.224534 266.017826 L 573.800629 259.895225 L 578.927078 256.799901 L 582.845009 251.078707 L 582.237688 241.47391 L 590.744266 231.683355 L 593.024738 226.146546 L 590.560286 213.514498 L 590.782939 202.159958 L 592.133575 190.36131 L 589.906025 184.535902 L 584.022996 178.725885 L 581.889246 172.399284 L 577.456144 165.322243 L 587.302155 150.382355 L 591.013057 145.978745 L 586.220382 141.640067 L 584.552876 130.38808 L 582.670708 124.537827 L 597.370593 114.113367 L 598.403618 107.35159 L 595.079261 105.903495 L 599.59659 95.210511 L 594.730919 91.783342 L 593.620261 87.947194 L 595.847239 81.440176 L 591.937975 74.987642 L 592.973589 70.600977 L 591.347323 64.992425 L 599.800333 57.29389 L 606.230115 58.525697 L 609.522844 56.372164 L 620.93888 57.860056 L 625.216249 57.415459 L 628.978966 54.155255 L 633.203071 59.806507 L 636.774417 61.208768 L 642.707278 67.597916 L 648.426713 70.05563 L 644.025 78.420655 L 642.991753 83.895473 L 645.670926 93.504003 L 651.107946 101.611406 L 650.341446 107.474734 L 651.792242 112.671573 L 653.223589 129.860869 L 654.926052 135.959281 L 652.850558 140.551777 L 657.153211 146.751379 L 658.066207 155.583545 L 656.421876 161.494088 L 658.780143 166.736313 L 661.838376 183.895024 L 661.228924 190.255799 L 652.390934 205.599487 L 650.081153 211.673925 L 650.753973 216.578479 L 647.418552 224.357489 L 647.92108 227.516882 L 645.000939 238.560795 L 643.234048 253.971814 L 640.437877 258.599944 L 640.345679 266.47876 L 641.743826 273.597621 L 647.79337 287.489986 L 653.693904 297.083496 L 672.925359 323.344599 L 677.327955 332.137982 L 680.82552 346.618516 L 681.428505 360.40977 L 679.35063 373.402194 L 679.910527 385.253988 L 684.206493 399.914678 L 684.379533 412.634587 L 685.570796 420.369498 L 683.354548 429.455844 L 680.582168 450.837039 L 680.9067 459.43156 L 682.708508 472.661992 L 685.155082 482.962782 L 688.856533 492.751491 L 692.751533 510.301584 L 692.936221 518.797327 L 690.138719 537.823091 L 689.974404 550.491785 L 692.104683 561.851312 L 690.694856 590.832227 L 691.715184 600.168312 L 688.634211 624.01404 L 679.964032 634.48531 L 666.744838 654.498722 L 648.998061 682.542076 L 638.18636 695.85669 L 630.141053 707.292888 L 624.703931 719.260916 L 624.463992 727.266061 L 625.834168 736.445089 L 624.089137 745.303303 L 619.816299 753.996635 L 617.469302 768.150965 z " style="fill: var(--color-primary-content); stroke: var(--color-primary); stroke-width: 2" />
  </g>
  <!-- Grid lines -->
  <g id="grid_lines">
  <!-- Vertical lines -->
  <path d="M 209.484095 1102.477187 L 209.484095 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 266.051969 1102.477187 L 266.051969 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 322.619842 1102.477187 L 322.619842 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 379.187716 1102.477187 L 379.187716 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 435.755589 1102.477187 L 435.755589 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 492.323463 1102.477187 L 492.323463 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 548.891336 1102.477187 L 548.891336 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 605.45921 1102.477187 L 605.45921 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 662.027083 1102.477187 L 662.027083 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 718.594957 1102.477187 L 718.594957 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <!-- Horizontal lines -->
  <path d="M 209.484095 1102.477187 L 718.594957 1102.477187" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 1045.909314 L 718.594957 1045.909314" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 989.341441 L 718.594957 989.341441" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 932.773567 L 718.594957 932.773567" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 876.205694 L 718.594957 876.205694" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 819.63782 L 718.594957 819.63782" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 763.069947 L 718.594957 763.069947" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 706.502073 L 718.594957 706.502073" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 649.9342 L 718.594957 649.9342" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 593.366326 L 718.594957 593.366326" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 536.798453 L 718.594957 536.798453" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 480.230579 L 718.594957 480.230579" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 423.662706 L 718.594957 423.662706" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 367.094832 L 718.594957 367.094832" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 310.526959 L 718.594957 310.526959" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 253.959085 L 718.594957 253.959085" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 197.391212 L 718.594957 197.391212" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 140.823338 L 718.594957 140.823338" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 84.255465 L 718.594957 84.255465" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  <path d="M 209.484095 27.687591 L 718.594957 27.687591" style="fill: none; stroke: var(--color-base-content); stroke-opacity: 0.8; stroke-dasharray: 3.7,1.6" />
  </g>

  <!-- Axis labels -->
  <g id="axis_labels" class="corsica-axis-labels-group">
  <!-- X-axis label (Longitude) -->
  <text x="456" y="1155" text-anchor="middle" class="corsica-grid-text corsica-axis-label">Longitude (°)</text>

  <!-- Y-axis label (Latitude) - rotated -->
  <text x="120" y="565" text-anchor="middle" transform="rotate(-90, 120, 565)" class="corsica-grid-text corsica-axis-label">Latitude (°)</text>
  </g>

  <!-- Mini compass axes near top-left (2 squares length) -->
  <g id="compass_axes" class="color-base-content">
  <!-- Aligned to grid: center at vertical x=322.619842 and horizontal y=140.823338; length 2 squares -->
  <!-- Vertical (Y) axis with arrow pointing North -->
  <line x1="322.619842" y1="197.391212" x2="322.619842" y2="84.255465" style="stroke: var(--color-base-content); stroke-width: 2" marker-end="url(#arrow-base)" />
  <!-- Horizontal (X) axis with arrow pointing East crossing mid of Y axis -->
  <line x1="266.051969" y1="140.823338" x2="379.187716" y2="140.823338" style="stroke: var(--color-base-content); stroke-width: 2" marker-end="url(#arrow-base)" />
  <!-- Labels -->
  <text x="322.619842" y="70" text-anchor="middle" class="corsica-grid-text">N</text>
  <text x="388" y="148" text-anchor="start" class="corsica-grid-text">E</text>
  </g>


  <!-- ===============================
        Grid cell overlays without labels
        Each rect is present; color is applied only if fully inside island
        =============================== -->
  <g id="coord_cells" style="pointer-events: none; fill: transparent;">


  <rect x="548.891336" y="28" width="56.567874" height="56.567873" fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="605.45921" y="28" width="56.567873" height="56.567873" fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />

  <!-- Row 0 -->
  <rect x="209.484095" y="84.255465" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="84.255465" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="84.255465" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="84.255465" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="84.255465" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="84.255465" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="84.255465" width="56.567874" height="56.567873" fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="605.45921" y="84.255465" width="56.567873" height="56.567873" fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="662.027083" y="84.255465" width="56.567874" height="56.567873" />

  <!-- Row 1 -->
  <rect x="209.484095" y="140.823338" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="140.823338" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="140.823338" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="140.823338" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="140.823338" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="140.823338" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="140.823338" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="140.823338" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="140.823338" width="56.567874" height="56.567874" />

  <!-- Row 2 -->
  <rect x="209.484095" y="197.391212" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="197.391212" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="197.391212" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="197.391212" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="197.391212" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="197.391212" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="197.391212" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="197.391212" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="197.391212" width="56.567874" height="56.567873" />

  <!-- Row 3 -->
  <rect x="209.484095" y="253.959085" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="253.959085" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="253.959085" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="253.959085" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="253.959085" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="253.959085" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="253.959085" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="253.959085" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="253.959085" width="56.567874" height="56.567874" />

  <!-- Row 4 -->
  <rect x="209.484095" y="310.526959" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="310.526959" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="310.526959" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="310.526959" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="310.526959" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="310.526959" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="310.526959" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="310.526959" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="310.526959" width="56.567874" height="56.567873" />

  <!-- Row 5 -->
  <rect x="209.484095" y="367.094832" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="367.094832" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="367.094832" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="367.094832" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="367.094832" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="367.094832" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="367.094832" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="367.094832" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="367.094832" width="56.567874" height="56.567874" />

  <!-- Row 6 -->
  <rect x="209.484095" y="423.662706" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="423.662706" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="423.662706" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="423.662706" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="423.662706" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="423.662706" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="423.662706" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="423.662706" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="423.662706" width="56.567874" height="56.567873" />

  <!-- Row 7 -->
  <rect x="209.484095" y="480.230579" width="56.567873" height="56.567874"  fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="266.051969" y="480.230579" width="56.567873" height="56.567874"  fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="322.619842" y="480.230579" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="480.230579" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="480.230579" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="480.230579" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="480.230579" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="480.230579" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="480.230579" width="56.567874" height="56.567874" />

  <!-- Row 8 -->
  <rect x="209.484095" y="536.798453" width="56.567873" height="56.567873"  fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="266.051969" y="536.798453" width="56.567873" height="56.567873"  fill="var(--color-accent, oklch(var(--color-accent)))" fill-opacity="0.75" />
  <rect x="322.619842" y="536.798453" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="536.798453" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="536.798453" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="536.798453" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="536.798453" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="536.798453" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="536.798453" width="56.567874" height="56.567873" />

  <!-- Row 9 -->
  <rect x="209.484095" y="593.366326" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="593.366326" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="593.366326" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="593.366326" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="593.366326" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="593.366326" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="593.366326" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="593.366326" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="593.366326" width="56.567874" height="56.567874" />

  <!-- Row 10 -->
  <rect x="209.484095" y="649.9342" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="649.9342" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="649.9342" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="649.9342" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="649.9342" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="649.9342" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="649.9342" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="649.9342" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="649.9342" width="56.567874" height="56.567873" />

  <!-- Row 11 -->
  <rect x="209.484095" y="706.502073" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="706.502073" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="706.502073" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="706.502073" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="706.502073" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="706.502073" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="706.502073" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="706.502073" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="706.502073" width="56.567874" height="56.567874" />

  <!-- Row 12 -->
  <rect x="209.484095" y="763.069947" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="763.069947" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="763.069947" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="763.069947" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="763.069947" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="763.069947" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="763.069947" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="763.069947" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="763.069947" width="56.567874" height="56.567873" />

  <!-- Row 13 -->
  <rect x="209.484095" y="819.63782" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="819.63782" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="819.63782" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="819.63782" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="819.63782" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="819.63782" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="819.63782" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="819.63782" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="819.63782" width="56.567874" height="56.567874" />

  <!-- Row 14 -->
  <rect x="209.484095" y="876.205694" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="876.205694" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="876.205694" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="876.205694" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="876.205694" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="876.205694" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="876.205694" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="876.205694" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="876.205694" width="56.567874" height="56.567873" />

  <!-- Row 15 -->
  <rect x="209.484095" y="932.773567" width="56.567874" height="56.567874" />
  <rect x="266.051969" y="932.773567" width="56.567873" height="56.567874" />
  <rect x="322.619842" y="932.773567" width="56.567874" height="56.567874" />
  <rect x="379.187716" y="932.773567" width="56.567873" height="56.567874" />
  <rect x="435.755589" y="932.773567" width="56.567874" height="56.567874" />
  <rect x="492.323463" y="932.773567" width="56.567873" height="56.567874" />
  <rect x="548.891336" y="932.773567" width="56.567874" height="56.567874" />
  <rect x="605.45921" y="932.773567" width="56.567873" height="56.567874" />
  <rect x="662.027083" y="932.773567" width="56.567874" height="56.567874" />

  <!-- Row 16 -->
  <rect x="209.484095" y="989.341441" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="989.341441" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="989.341441" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="989.341441" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="989.341441" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="989.341441" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="989.341441" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="989.341441" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="989.341441" width="56.567874" height="56.567873" />


  <!-- Row 17 -->
  <rect x="209.484095" y="1045.909314" width="56.567874" height="56.567873" />
  <rect x="266.051969" y="1045.909314" width="56.567873" height="56.567873" />
  <rect x="322.619842" y="1045.909314" width="56.567874" height="56.567873" />
  <rect x="379.187716" y="1045.909314" width="56.567873" height="56.567873" />
  <rect x="435.755589" y="1045.909314" width="56.567874" height="56.567873" />
  <rect x="492.323463" y="1045.909314" width="56.567873" height="56.567873" />
  <rect x="548.891336" y="1045.909314" width="56.567874" height="56.567873" />
  <rect x="605.45921" y="1045.909314" width="56.567873" height="56.567873" />
  <rect x="662.027083" y="1045.909314" width="56.567874" height="56.567873" />


  </g>
  </g>
  </g>


</svg>


<!-- Post-processing script to color squares:
      full (all samples inside) -> var(--color-secondary)
      partial (some samples inside) -> var(--color-accent)
      none -> transparent -->
<script>
    < ![CDATA[
        (function() {
            var svg = document.currentScript && document.currentScript.ownerSVGElement;
            if (!svg) return;
            var rects = Array.prototype.slice.call(svg.querySelectorAll('#coord_cells rect'));
            var islandPaths = Array.prototype.slice.call(svg.querySelectorAll('#PatchCollection_1 path'));
            var AUTO_OPACITY = 0.75;

            function makePoint(x, y) {
                if (window.DOMPoint) return new DOMPoint(x, y);
                var pt = svg.createSVGPoint();
                pt.x = x;
                pt.y = y;
                return pt;
            }

            function isInsideIsland(x, y) {
                for (var i = 0; i < islandPaths.length; i++) {
                    var p = islandPaths[i];
                    if (typeof p.isPointInFill === 'function' && p.isPointInFill(makePoint(x, y))) return true;
                }
                return false;
            }

            rects.forEach(function(rect, idx) {
                var col = idx % 9;
                var row = Math.floor(idx / 9);
                rect.setAttribute('id', 'cell-c' + col + '-r' + row);
                rect.dataset.col = String(col);
                rect.dataset.row = String(row);

                // Respect manual fill if author sets it on the rect (fill, data-fill or inline style)
                var hasInlineStyle = rect.getAttribute('style') || '';
                var hasExplicitFill = rect.hasAttribute('fill') || rect.hasAttribute('data-fill') || /(^|;)\s*fill\s*:/.test(hasInlineStyle);

                if (hasExplicitFill) {
                    // If data-fill is provided, apply it (and optional opacity) once and skip auto-coloring
                    if (rect.hasAttribute('data-fill')) rect.setAttribute('fill', rect.getAttribute('data-fill'));
                    if (rect.hasAttribute('data-fill-opacity')) rect.setAttribute('fill-opacity', rect.getAttribute('data-fill-opacity'));
                    rect.classList.remove('pm-none', 'pm-partial', 'pm-full');
                    rect.removeAttribute('data-coverage');
                    return;
                }

                var x = parseFloat(rect.getAttribute('x'));
                var y = parseFloat(rect.getAttribute('y'));
                var w = parseFloat(rect.getAttribute('width'));
                var h = parseFloat(rect.getAttribute('height'));

                var samples = [];
                var gridN = 24; // 25x25 grid sampling for thin features
                for (var i = 0; i <= gridN; i++) {
                    for (var j = 0; j <= gridN; j++) {
                        samples.push([x + w * (i / gridN), y + h * (j / gridN)]);
                    }
                }

                var insideCount = 0;
                for (var i = 0; i < samples.length; i++) {
                    if (isInsideIsland(samples[i][0], samples[i][1])) insideCount++;
                }
                var fullyInside = insideCount === samples.length;
                var partiallyInside = insideCount > 0 && !fullyInside;

                if (fullyInside) {
                    rect.classList.remove('pm-none', 'pm-partial', 'pm-full');
                    rect.setAttribute('fill', 'var(--color-secondary, oklch(var(--color-secondary)))');
                    rect.setAttribute('fill-opacity', String(AUTO_OPACITY));
                    rect.setAttribute('data-coverage', 'full');
                } else if (partiallyInside) {
                    rect.classList.remove('pm-none', 'pm-full', 'pm-partial');
                    rect.setAttribute('fill', 'var(--color-accent, oklch(var(--color-accent)))');
                    rect.setAttribute('fill-opacity', String(AUTO_OPACITY));
                    rect.setAttribute('data-coverage', 'partial');
                } else {
                    rect.classList.remove('pm-full', 'pm-partial', 'pm-none');
                    rect.setAttribute('fill', 'transparent');
                    rect.removeAttribute('fill-opacity');
                    rect.setAttribute('data-coverage', 'none');
                }
            });
        })();
    ]] >
</script>
Maths.pm ne collecte aucune donnée.
Aucun cookie collecté, aucune ligne de log d'écrite, pas l'ombre d'une base de données distante - nihil omnino.
Toutes les exécutions de code se font localement. Nous expliquons notre démarche sur cette page.

Limites de confidentialité (impact de l'hébergeur)
Aspects technologiques
Chez Pointcarre.app, nous nous engageons en faveur des communs numériques.

Ressources pédagogiques
Logiciels Libres & Infrastructure 🇫🇷

Codes sources
Logo licence AGPLv3
Contenus
Logo licence Creative Commons

Maths.pm, par

pointcarre.app