Josh Forisha's implementation of opensimplex noise in a format that's friendly with using on openprocessing
Last active
April 13, 2025 19:36
-
-
Save PARC6502/85c99c04c9b3c6ae52c3c27605b4df0a to your computer and use it in GitHub Desktop.
OpenSimplex Noise for openprocessing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| var OpenSimplexNoise; | |
| (function() { | |
| var constants_1 = { | |
| NORM_2D: 1.0 / 47.0, | |
| NORM_3D: 1.0 / 103.0, | |
| NORM_4D: 1.0 / 30.0, | |
| SQUISH_2D: (Math.sqrt(2 + 1) - 1) / 2, | |
| SQUISH_3D: (Math.sqrt(3 + 1) - 1) / 3, | |
| SQUISH_4D: (Math.sqrt(4 + 1) - 1) / 4, | |
| STRETCH_2D: (1 / Math.sqrt(2 + 1) - 1) / 2, | |
| STRETCH_3D: (1 / Math.sqrt(3 + 1) - 1) / 3, | |
| STRETCH_4D: (1 / Math.sqrt(4 + 1) - 1) / 4, | |
| base2D: [[1, 1, 0, 1, 0, 1, 0, 0, 0], [1, 1, 0, 1, 0, 1, 2, 1, 1]], | |
| base3D: [ | |
| [0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1], | |
| [2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1, 3, 1, 1, 1], | |
| [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1] | |
| ], | |
| base4D: [ | |
| [ | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1 | |
| ], | |
| [ | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1 | |
| ], | |
| [ | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 1 | |
| ], | |
| [ | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 1 | |
| ] | |
| ], | |
| gradients2D: [5, 2, 2, 5, -5, 2, -2, 5, 5, -2, 2, -5, -5, -2, -2, -5], | |
| gradients3D: [ | |
| -11, | |
| 4, | |
| 4, | |
| -4, | |
| 11, | |
| 4, | |
| -4, | |
| 4, | |
| 11, | |
| 11, | |
| 4, | |
| 4, | |
| 4, | |
| 11, | |
| 4, | |
| 4, | |
| 4, | |
| 11, | |
| -11, | |
| -4, | |
| 4, | |
| -4, | |
| -11, | |
| 4, | |
| -4, | |
| -4, | |
| 11, | |
| 11, | |
| -4, | |
| 4, | |
| 4, | |
| -11, | |
| 4, | |
| 4, | |
| -4, | |
| 11, | |
| -11, | |
| 4, | |
| -4, | |
| -4, | |
| 11, | |
| -4, | |
| -4, | |
| 4, | |
| -11, | |
| 11, | |
| 4, | |
| -4, | |
| 4, | |
| 11, | |
| -4, | |
| 4, | |
| 4, | |
| -11, | |
| -11, | |
| -4, | |
| -4, | |
| -4, | |
| -11, | |
| -4, | |
| -4, | |
| -4, | |
| -11, | |
| 11, | |
| -4, | |
| -4, | |
| 4, | |
| -11, | |
| -4, | |
| 4, | |
| -4, | |
| -11 | |
| ], | |
| gradients4D: [ | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| -3, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| -3, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| -3, | |
| -1, | |
| 1, | |
| 1, | |
| -1, | |
| -3, | |
| 1, | |
| 1, | |
| -1, | |
| -1, | |
| 3, | |
| 1, | |
| -1, | |
| -1, | |
| 1, | |
| 3, | |
| 3, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| -3, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| -3, | |
| 1, | |
| -1, | |
| 1, | |
| -1, | |
| 3, | |
| -1, | |
| 1, | |
| -1, | |
| 1, | |
| -3, | |
| 1, | |
| -1, | |
| 1, | |
| -1, | |
| 3, | |
| 3, | |
| -1, | |
| -1, | |
| 1, | |
| 1, | |
| -3, | |
| -1, | |
| 1, | |
| 1, | |
| -1, | |
| -3, | |
| 1, | |
| 1, | |
| -1, | |
| -1, | |
| 3, | |
| -3, | |
| -1, | |
| -1, | |
| 1, | |
| -1, | |
| -3, | |
| -1, | |
| 1, | |
| -1, | |
| -1, | |
| -3, | |
| 1, | |
| -1, | |
| -1, | |
| -1, | |
| 3, | |
| 3, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| -3, | |
| -3, | |
| 1, | |
| 1, | |
| -1, | |
| -1, | |
| 3, | |
| 1, | |
| -1, | |
| -1, | |
| 1, | |
| 3, | |
| -1, | |
| -1, | |
| 1, | |
| 1, | |
| -3, | |
| 3, | |
| -1, | |
| 1, | |
| -1, | |
| 1, | |
| -3, | |
| 1, | |
| -1, | |
| 1, | |
| -1, | |
| 3, | |
| -1, | |
| 1, | |
| -1, | |
| 1, | |
| -3, | |
| -3, | |
| -1, | |
| 1, | |
| -1, | |
| -1, | |
| -3, | |
| 1, | |
| -1, | |
| -1, | |
| -1, | |
| 3, | |
| -1, | |
| -1, | |
| -1, | |
| 1, | |
| -3, | |
| 3, | |
| 1, | |
| -1, | |
| -1, | |
| 1, | |
| 3, | |
| -1, | |
| -1, | |
| 1, | |
| 1, | |
| -3, | |
| -1, | |
| 1, | |
| 1, | |
| -1, | |
| -3, | |
| -3, | |
| 1, | |
| -1, | |
| -1, | |
| -1, | |
| 3, | |
| -1, | |
| -1, | |
| -1, | |
| 1, | |
| -3, | |
| -1, | |
| -1, | |
| 1, | |
| -1, | |
| -3, | |
| 3, | |
| -1, | |
| -1, | |
| -1, | |
| 1, | |
| -3, | |
| -1, | |
| -1, | |
| 1, | |
| -1, | |
| -3, | |
| -1, | |
| 1, | |
| -1, | |
| -1, | |
| -3, | |
| -3, | |
| -1, | |
| -1, | |
| -1, | |
| -1, | |
| -3, | |
| -1, | |
| -1, | |
| -1, | |
| -1, | |
| -3, | |
| -1, | |
| -1, | |
| -1, | |
| -1, | |
| -3 | |
| ], | |
| lookupPairs2D: [ | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 4, | |
| 1, | |
| 17, | |
| 0, | |
| 20, | |
| 2, | |
| 21, | |
| 2, | |
| 22, | |
| 5, | |
| 23, | |
| 5, | |
| 26, | |
| 4, | |
| 39, | |
| 3, | |
| 42, | |
| 4, | |
| 43, | |
| 3 | |
| ], | |
| lookupPairs3D: [ | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 2, | |
| 2, | |
| 5, | |
| 1, | |
| 6, | |
| 0, | |
| 7, | |
| 0, | |
| 32, | |
| 2, | |
| 34, | |
| 2, | |
| 129, | |
| 1, | |
| 133, | |
| 1, | |
| 160, | |
| 5, | |
| 161, | |
| 5, | |
| 518, | |
| 0, | |
| 519, | |
| 0, | |
| 546, | |
| 4, | |
| 550, | |
| 4, | |
| 645, | |
| 3, | |
| 647, | |
| 3, | |
| 672, | |
| 5, | |
| 673, | |
| 5, | |
| 674, | |
| 4, | |
| 677, | |
| 3, | |
| 678, | |
| 4, | |
| 679, | |
| 3, | |
| 680, | |
| 13, | |
| 681, | |
| 13, | |
| 682, | |
| 12, | |
| 685, | |
| 14, | |
| 686, | |
| 12, | |
| 687, | |
| 14, | |
| 712, | |
| 20, | |
| 714, | |
| 18, | |
| 809, | |
| 21, | |
| 813, | |
| 23, | |
| 840, | |
| 20, | |
| 841, | |
| 21, | |
| 1198, | |
| 19, | |
| 1199, | |
| 22, | |
| 1226, | |
| 18, | |
| 1230, | |
| 19, | |
| 1325, | |
| 23, | |
| 1327, | |
| 22, | |
| 1352, | |
| 15, | |
| 1353, | |
| 17, | |
| 1354, | |
| 15, | |
| 1357, | |
| 17, | |
| 1358, | |
| 16, | |
| 1359, | |
| 16, | |
| 1360, | |
| 11, | |
| 1361, | |
| 10, | |
| 1362, | |
| 11, | |
| 1365, | |
| 10, | |
| 1366, | |
| 9, | |
| 1367, | |
| 9, | |
| 1392, | |
| 11, | |
| 1394, | |
| 11, | |
| 1489, | |
| 10, | |
| 1493, | |
| 10, | |
| 1520, | |
| 8, | |
| 1521, | |
| 8, | |
| 1878, | |
| 9, | |
| 1879, | |
| 9, | |
| 1906, | |
| 7, | |
| 1910, | |
| 7, | |
| 2005, | |
| 6, | |
| 2007, | |
| 6, | |
| 2032, | |
| 8, | |
| 2033, | |
| 8, | |
| 2034, | |
| 7, | |
| 2037, | |
| 6, | |
| 2038, | |
| 7, | |
| 2039, | |
| 6 | |
| ], | |
| lookupPairs4D: [ | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 2, | |
| 3, | |
| 5, | |
| 2, | |
| 6, | |
| 1, | |
| 7, | |
| 1, | |
| 8, | |
| 3, | |
| 9, | |
| 2, | |
| 10, | |
| 3, | |
| 13, | |
| 2, | |
| 16, | |
| 3, | |
| 18, | |
| 3, | |
| 22, | |
| 1, | |
| 23, | |
| 1, | |
| 24, | |
| 3, | |
| 26, | |
| 3, | |
| 33, | |
| 2, | |
| 37, | |
| 2, | |
| 38, | |
| 1, | |
| 39, | |
| 1, | |
| 41, | |
| 2, | |
| 45, | |
| 2, | |
| 54, | |
| 1, | |
| 55, | |
| 1, | |
| 56, | |
| 0, | |
| 57, | |
| 0, | |
| 58, | |
| 0, | |
| 59, | |
| 0, | |
| 60, | |
| 0, | |
| 61, | |
| 0, | |
| 62, | |
| 0, | |
| 63, | |
| 0, | |
| 256, | |
| 3, | |
| 258, | |
| 3, | |
| 264, | |
| 3, | |
| 266, | |
| 3, | |
| 272, | |
| 3, | |
| 274, | |
| 3, | |
| 280, | |
| 3, | |
| 282, | |
| 3, | |
| 2049, | |
| 2, | |
| 2053, | |
| 2, | |
| 2057, | |
| 2, | |
| 2061, | |
| 2, | |
| 2081, | |
| 2, | |
| 2085, | |
| 2, | |
| 2089, | |
| 2, | |
| 2093, | |
| 2, | |
| 2304, | |
| 9, | |
| 2305, | |
| 9, | |
| 2312, | |
| 9, | |
| 2313, | |
| 9, | |
| 16390, | |
| 1, | |
| 16391, | |
| 1, | |
| 16406, | |
| 1, | |
| 16407, | |
| 1, | |
| 16422, | |
| 1, | |
| 16423, | |
| 1, | |
| 16438, | |
| 1, | |
| 16439, | |
| 1, | |
| 16642, | |
| 8, | |
| 16646, | |
| 8, | |
| 16658, | |
| 8, | |
| 16662, | |
| 8, | |
| 18437, | |
| 6, | |
| 18439, | |
| 6, | |
| 18469, | |
| 6, | |
| 18471, | |
| 6, | |
| 18688, | |
| 9, | |
| 18689, | |
| 9, | |
| 18690, | |
| 8, | |
| 18693, | |
| 6, | |
| 18694, | |
| 8, | |
| 18695, | |
| 6, | |
| 18696, | |
| 9, | |
| 18697, | |
| 9, | |
| 18706, | |
| 8, | |
| 18710, | |
| 8, | |
| 18725, | |
| 6, | |
| 18727, | |
| 6, | |
| 131128, | |
| 0, | |
| 131129, | |
| 0, | |
| 131130, | |
| 0, | |
| 131131, | |
| 0, | |
| 131132, | |
| 0, | |
| 131133, | |
| 0, | |
| 131134, | |
| 0, | |
| 131135, | |
| 0, | |
| 131352, | |
| 7, | |
| 131354, | |
| 7, | |
| 131384, | |
| 7, | |
| 131386, | |
| 7, | |
| 133161, | |
| 5, | |
| 133165, | |
| 5, | |
| 133177, | |
| 5, | |
| 133181, | |
| 5, | |
| 133376, | |
| 9, | |
| 133377, | |
| 9, | |
| 133384, | |
| 9, | |
| 133385, | |
| 9, | |
| 133400, | |
| 7, | |
| 133402, | |
| 7, | |
| 133417, | |
| 5, | |
| 133421, | |
| 5, | |
| 133432, | |
| 7, | |
| 133433, | |
| 5, | |
| 133434, | |
| 7, | |
| 133437, | |
| 5, | |
| 147510, | |
| 4, | |
| 147511, | |
| 4, | |
| 147518, | |
| 4, | |
| 147519, | |
| 4, | |
| 147714, | |
| 8, | |
| 147718, | |
| 8, | |
| 147730, | |
| 8, | |
| 147734, | |
| 8, | |
| 147736, | |
| 7, | |
| 147738, | |
| 7, | |
| 147766, | |
| 4, | |
| 147767, | |
| 4, | |
| 147768, | |
| 7, | |
| 147770, | |
| 7, | |
| 147774, | |
| 4, | |
| 147775, | |
| 4, | |
| 149509, | |
| 6, | |
| 149511, | |
| 6, | |
| 149541, | |
| 6, | |
| 149543, | |
| 6, | |
| 149545, | |
| 5, | |
| 149549, | |
| 5, | |
| 149558, | |
| 4, | |
| 149559, | |
| 4, | |
| 149561, | |
| 5, | |
| 149565, | |
| 5, | |
| 149566, | |
| 4, | |
| 149567, | |
| 4, | |
| 149760, | |
| 9, | |
| 149761, | |
| 9, | |
| 149762, | |
| 8, | |
| 149765, | |
| 6, | |
| 149766, | |
| 8, | |
| 149767, | |
| 6, | |
| 149768, | |
| 9, | |
| 149769, | |
| 9, | |
| 149778, | |
| 8, | |
| 149782, | |
| 8, | |
| 149784, | |
| 7, | |
| 149786, | |
| 7, | |
| 149797, | |
| 6, | |
| 149799, | |
| 6, | |
| 149801, | |
| 5, | |
| 149805, | |
| 5, | |
| 149814, | |
| 4, | |
| 149815, | |
| 4, | |
| 149816, | |
| 7, | |
| 149817, | |
| 5, | |
| 149818, | |
| 7, | |
| 149821, | |
| 5, | |
| 149822, | |
| 4, | |
| 149823, | |
| 4, | |
| 149824, | |
| 37, | |
| 149825, | |
| 37, | |
| 149826, | |
| 36, | |
| 149829, | |
| 34, | |
| 149830, | |
| 36, | |
| 149831, | |
| 34, | |
| 149832, | |
| 37, | |
| 149833, | |
| 37, | |
| 149842, | |
| 36, | |
| 149846, | |
| 36, | |
| 149848, | |
| 35, | |
| 149850, | |
| 35, | |
| 149861, | |
| 34, | |
| 149863, | |
| 34, | |
| 149865, | |
| 33, | |
| 149869, | |
| 33, | |
| 149878, | |
| 32, | |
| 149879, | |
| 32, | |
| 149880, | |
| 35, | |
| 149881, | |
| 33, | |
| 149882, | |
| 35, | |
| 149885, | |
| 33, | |
| 149886, | |
| 32, | |
| 149887, | |
| 32, | |
| 150080, | |
| 49, | |
| 150082, | |
| 48, | |
| 150088, | |
| 49, | |
| 150098, | |
| 48, | |
| 150104, | |
| 47, | |
| 150106, | |
| 47, | |
| 151873, | |
| 46, | |
| 151877, | |
| 45, | |
| 151881, | |
| 46, | |
| 151909, | |
| 45, | |
| 151913, | |
| 44, | |
| 151917, | |
| 44, | |
| 152128, | |
| 49, | |
| 152129, | |
| 46, | |
| 152136, | |
| 49, | |
| 152137, | |
| 46, | |
| 166214, | |
| 43, | |
| 166215, | |
| 42, | |
| 166230, | |
| 43, | |
| 166247, | |
| 42, | |
| 166262, | |
| 41, | |
| 166263, | |
| 41, | |
| 166466, | |
| 48, | |
| 166470, | |
| 43, | |
| 166482, | |
| 48, | |
| 166486, | |
| 43, | |
| 168261, | |
| 45, | |
| 168263, | |
| 42, | |
| 168293, | |
| 45, | |
| 168295, | |
| 42, | |
| 168512, | |
| 31, | |
| 168513, | |
| 28, | |
| 168514, | |
| 31, | |
| 168517, | |
| 28, | |
| 168518, | |
| 25, | |
| 168519, | |
| 25, | |
| 280952, | |
| 40, | |
| 280953, | |
| 39, | |
| 280954, | |
| 40, | |
| 280957, | |
| 39, | |
| 280958, | |
| 38, | |
| 280959, | |
| 38, | |
| 281176, | |
| 47, | |
| 281178, | |
| 47, | |
| 281208, | |
| 40, | |
| 281210, | |
| 40, | |
| 282985, | |
| 44, | |
| 282989, | |
| 44, | |
| 283001, | |
| 39, | |
| 283005, | |
| 39, | |
| 283208, | |
| 30, | |
| 283209, | |
| 27, | |
| 283224, | |
| 30, | |
| 283241, | |
| 27, | |
| 283256, | |
| 22, | |
| 283257, | |
| 22, | |
| 297334, | |
| 41, | |
| 297335, | |
| 41, | |
| 297342, | |
| 38, | |
| 297343, | |
| 38, | |
| 297554, | |
| 29, | |
| 297558, | |
| 24, | |
| 297562, | |
| 29, | |
| 297590, | |
| 24, | |
| 297594, | |
| 21, | |
| 297598, | |
| 21, | |
| 299365, | |
| 26, | |
| 299367, | |
| 23, | |
| 299373, | |
| 26, | |
| 299383, | |
| 23, | |
| 299389, | |
| 20, | |
| 299391, | |
| 20, | |
| 299584, | |
| 31, | |
| 299585, | |
| 28, | |
| 299586, | |
| 31, | |
| 299589, | |
| 28, | |
| 299590, | |
| 25, | |
| 299591, | |
| 25, | |
| 299592, | |
| 30, | |
| 299593, | |
| 27, | |
| 299602, | |
| 29, | |
| 299606, | |
| 24, | |
| 299608, | |
| 30, | |
| 299610, | |
| 29, | |
| 299621, | |
| 26, | |
| 299623, | |
| 23, | |
| 299625, | |
| 27, | |
| 299629, | |
| 26, | |
| 299638, | |
| 24, | |
| 299639, | |
| 23, | |
| 299640, | |
| 22, | |
| 299641, | |
| 22, | |
| 299642, | |
| 21, | |
| 299645, | |
| 20, | |
| 299646, | |
| 21, | |
| 299647, | |
| 20, | |
| 299648, | |
| 61, | |
| 299649, | |
| 60, | |
| 299650, | |
| 61, | |
| 299653, | |
| 60, | |
| 299654, | |
| 59, | |
| 299655, | |
| 59, | |
| 299656, | |
| 58, | |
| 299657, | |
| 57, | |
| 299666, | |
| 55, | |
| 299670, | |
| 54, | |
| 299672, | |
| 58, | |
| 299674, | |
| 55, | |
| 299685, | |
| 52, | |
| 299687, | |
| 51, | |
| 299689, | |
| 57, | |
| 299693, | |
| 52, | |
| 299702, | |
| 54, | |
| 299703, | |
| 51, | |
| 299704, | |
| 56, | |
| 299705, | |
| 56, | |
| 299706, | |
| 53, | |
| 299709, | |
| 50, | |
| 299710, | |
| 53, | |
| 299711, | |
| 50, | |
| 299904, | |
| 61, | |
| 299906, | |
| 61, | |
| 299912, | |
| 58, | |
| 299922, | |
| 55, | |
| 299928, | |
| 58, | |
| 299930, | |
| 55, | |
| 301697, | |
| 60, | |
| 301701, | |
| 60, | |
| 301705, | |
| 57, | |
| 301733, | |
| 52, | |
| 301737, | |
| 57, | |
| 301741, | |
| 52, | |
| 301952, | |
| 79, | |
| 301953, | |
| 79, | |
| 301960, | |
| 76, | |
| 301961, | |
| 76, | |
| 316038, | |
| 59, | |
| 316039, | |
| 59, | |
| 316054, | |
| 54, | |
| 316071, | |
| 51, | |
| 316086, | |
| 54, | |
| 316087, | |
| 51, | |
| 316290, | |
| 78, | |
| 316294, | |
| 78, | |
| 316306, | |
| 73, | |
| 316310, | |
| 73, | |
| 318085, | |
| 77, | |
| 318087, | |
| 77, | |
| 318117, | |
| 70, | |
| 318119, | |
| 70, | |
| 318336, | |
| 79, | |
| 318337, | |
| 79, | |
| 318338, | |
| 78, | |
| 318341, | |
| 77, | |
| 318342, | |
| 78, | |
| 318343, | |
| 77, | |
| 430776, | |
| 56, | |
| 430777, | |
| 56, | |
| 430778, | |
| 53, | |
| 430781, | |
| 50, | |
| 430782, | |
| 53, | |
| 430783, | |
| 50, | |
| 431000, | |
| 75, | |
| 431002, | |
| 72, | |
| 431032, | |
| 75, | |
| 431034, | |
| 72, | |
| 432809, | |
| 74, | |
| 432813, | |
| 69, | |
| 432825, | |
| 74, | |
| 432829, | |
| 69, | |
| 433032, | |
| 76, | |
| 433033, | |
| 76, | |
| 433048, | |
| 75, | |
| 433065, | |
| 74, | |
| 433080, | |
| 75, | |
| 433081, | |
| 74, | |
| 447158, | |
| 71, | |
| 447159, | |
| 68, | |
| 447166, | |
| 71, | |
| 447167, | |
| 68, | |
| 447378, | |
| 73, | |
| 447382, | |
| 73, | |
| 447386, | |
| 72, | |
| 447414, | |
| 71, | |
| 447418, | |
| 72, | |
| 447422, | |
| 71, | |
| 449189, | |
| 70, | |
| 449191, | |
| 70, | |
| 449197, | |
| 69, | |
| 449207, | |
| 68, | |
| 449213, | |
| 69, | |
| 449215, | |
| 68, | |
| 449408, | |
| 67, | |
| 449409, | |
| 67, | |
| 449410, | |
| 66, | |
| 449413, | |
| 64, | |
| 449414, | |
| 66, | |
| 449415, | |
| 64, | |
| 449416, | |
| 67, | |
| 449417, | |
| 67, | |
| 449426, | |
| 66, | |
| 449430, | |
| 66, | |
| 449432, | |
| 65, | |
| 449434, | |
| 65, | |
| 449445, | |
| 64, | |
| 449447, | |
| 64, | |
| 449449, | |
| 63, | |
| 449453, | |
| 63, | |
| 449462, | |
| 62, | |
| 449463, | |
| 62, | |
| 449464, | |
| 65, | |
| 449465, | |
| 63, | |
| 449466, | |
| 65, | |
| 449469, | |
| 63, | |
| 449470, | |
| 62, | |
| 449471, | |
| 62, | |
| 449472, | |
| 19, | |
| 449473, | |
| 19, | |
| 449474, | |
| 18, | |
| 449477, | |
| 16, | |
| 449478, | |
| 18, | |
| 449479, | |
| 16, | |
| 449480, | |
| 19, | |
| 449481, | |
| 19, | |
| 449490, | |
| 18, | |
| 449494, | |
| 18, | |
| 449496, | |
| 17, | |
| 449498, | |
| 17, | |
| 449509, | |
| 16, | |
| 449511, | |
| 16, | |
| 449513, | |
| 15, | |
| 449517, | |
| 15, | |
| 449526, | |
| 14, | |
| 449527, | |
| 14, | |
| 449528, | |
| 17, | |
| 449529, | |
| 15, | |
| 449530, | |
| 17, | |
| 449533, | |
| 15, | |
| 449534, | |
| 14, | |
| 449535, | |
| 14, | |
| 449728, | |
| 19, | |
| 449729, | |
| 19, | |
| 449730, | |
| 18, | |
| 449734, | |
| 18, | |
| 449736, | |
| 19, | |
| 449737, | |
| 19, | |
| 449746, | |
| 18, | |
| 449750, | |
| 18, | |
| 449752, | |
| 17, | |
| 449754, | |
| 17, | |
| 449784, | |
| 17, | |
| 449786, | |
| 17, | |
| 451520, | |
| 19, | |
| 451521, | |
| 19, | |
| 451525, | |
| 16, | |
| 451527, | |
| 16, | |
| 451528, | |
| 19, | |
| 451529, | |
| 19, | |
| 451557, | |
| 16, | |
| 451559, | |
| 16, | |
| 451561, | |
| 15, | |
| 451565, | |
| 15, | |
| 451577, | |
| 15, | |
| 451581, | |
| 15, | |
| 451776, | |
| 19, | |
| 451777, | |
| 19, | |
| 451784, | |
| 19, | |
| 451785, | |
| 19, | |
| 465858, | |
| 18, | |
| 465861, | |
| 16, | |
| 465862, | |
| 18, | |
| 465863, | |
| 16, | |
| 465874, | |
| 18, | |
| 465878, | |
| 18, | |
| 465893, | |
| 16, | |
| 465895, | |
| 16, | |
| 465910, | |
| 14, | |
| 465911, | |
| 14, | |
| 465918, | |
| 14, | |
| 465919, | |
| 14, | |
| 466114, | |
| 18, | |
| 466118, | |
| 18, | |
| 466130, | |
| 18, | |
| 466134, | |
| 18, | |
| 467909, | |
| 16, | |
| 467911, | |
| 16, | |
| 467941, | |
| 16, | |
| 467943, | |
| 16, | |
| 468160, | |
| 13, | |
| 468161, | |
| 13, | |
| 468162, | |
| 13, | |
| 468163, | |
| 13, | |
| 468164, | |
| 13, | |
| 468165, | |
| 13, | |
| 468166, | |
| 13, | |
| 468167, | |
| 13, | |
| 580568, | |
| 17, | |
| 580570, | |
| 17, | |
| 580585, | |
| 15, | |
| 580589, | |
| 15, | |
| 580598, | |
| 14, | |
| 580599, | |
| 14, | |
| 580600, | |
| 17, | |
| 580601, | |
| 15, | |
| 580602, | |
| 17, | |
| 580605, | |
| 15, | |
| 580606, | |
| 14, | |
| 580607, | |
| 14, | |
| 580824, | |
| 17, | |
| 580826, | |
| 17, | |
| 580856, | |
| 17, | |
| 580858, | |
| 17, | |
| 582633, | |
| 15, | |
| 582637, | |
| 15, | |
| 582649, | |
| 15, | |
| 582653, | |
| 15, | |
| 582856, | |
| 12, | |
| 582857, | |
| 12, | |
| 582872, | |
| 12, | |
| 582873, | |
| 12, | |
| 582888, | |
| 12, | |
| 582889, | |
| 12, | |
| 582904, | |
| 12, | |
| 582905, | |
| 12, | |
| 596982, | |
| 14, | |
| 596983, | |
| 14, | |
| 596990, | |
| 14, | |
| 596991, | |
| 14, | |
| 597202, | |
| 11, | |
| 597206, | |
| 11, | |
| 597210, | |
| 11, | |
| 597214, | |
| 11, | |
| 597234, | |
| 11, | |
| 597238, | |
| 11, | |
| 597242, | |
| 11, | |
| 597246, | |
| 11, | |
| 599013, | |
| 10, | |
| 599015, | |
| 10, | |
| 599021, | |
| 10, | |
| 599023, | |
| 10, | |
| 599029, | |
| 10, | |
| 599031, | |
| 10, | |
| 599037, | |
| 10, | |
| 599039, | |
| 10, | |
| 599232, | |
| 13, | |
| 599233, | |
| 13, | |
| 599234, | |
| 13, | |
| 599235, | |
| 13, | |
| 599236, | |
| 13, | |
| 599237, | |
| 13, | |
| 599238, | |
| 13, | |
| 599239, | |
| 13, | |
| 599240, | |
| 12, | |
| 599241, | |
| 12, | |
| 599250, | |
| 11, | |
| 599254, | |
| 11, | |
| 599256, | |
| 12, | |
| 599257, | |
| 12, | |
| 599258, | |
| 11, | |
| 599262, | |
| 11, | |
| 599269, | |
| 10, | |
| 599271, | |
| 10, | |
| 599272, | |
| 12, | |
| 599273, | |
| 12, | |
| 599277, | |
| 10, | |
| 599279, | |
| 10, | |
| 599282, | |
| 11, | |
| 599285, | |
| 10, | |
| 599286, | |
| 11, | |
| 599287, | |
| 10, | |
| 599288, | |
| 12, | |
| 599289, | |
| 12, | |
| 599290, | |
| 11, | |
| 599293, | |
| 10, | |
| 599294, | |
| 11, | |
| 599295, | |
| 10 | |
| ], | |
| p2D: [ | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 0 | |
| ], | |
| p3D: [ | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 2, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 2, | |
| 0 | |
| ], | |
| p4D: [ | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| -1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 4, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 4, | |
| 1, | |
| 2, | |
| 1, | |
| 0, | |
| 4, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 4, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 4, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 4, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 4, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 4, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 4, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 4, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 4, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 4, | |
| 0, | |
| 1, | |
| 1, | |
| 2, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 3, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 3, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 3, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 3, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 3, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 3, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 1, | |
| 3, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 3, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 3, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| -1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 1, | |
| -1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 0, | |
| 1, | |
| 1, | |
| 1, | |
| 0, | |
| -1, | |
| 1, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 1, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 3, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 4, | |
| 1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 3, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| -1, | |
| 3, | |
| 3, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 3, | |
| 1, | |
| 2, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| 1, | |
| -1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 1, | |
| 0, | |
| 3, | |
| 1, | |
| 0, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 2, | |
| 0, | |
| 0, | |
| 1, | |
| 3, | |
| 1, | |
| 0, | |
| 0, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 2, | |
| 1, | |
| -1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 3, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 2, | |
| 0, | |
| 1, | |
| 3, | |
| 0, | |
| 1, | |
| 0, | |
| 2, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1, | |
| 3, | |
| 3, | |
| 0, | |
| 0, | |
| 2, | |
| 1, | |
| 3, | |
| 0, | |
| 0, | |
| 1, | |
| 2, | |
| 2, | |
| -1, | |
| 1, | |
| 1, | |
| 1 | |
| ] | |
| }; | |
| var Contribution2 = /** @class */ (function() { | |
| function Contribution2(multiplier, xsb, ysb) { | |
| this.dx = -xsb - multiplier * constants_1.SQUISH_2D; | |
| this.dy = -ysb - multiplier * constants_1.SQUISH_2D; | |
| this.xsb = xsb; | |
| this.ysb = ysb; | |
| } | |
| return Contribution2; | |
| })(); | |
| var Contribution3 = /** @class */ (function() { | |
| function Contribution3(multiplier, xsb, ysb, zsb) { | |
| this.dx = -xsb - multiplier * constants_1.SQUISH_3D; | |
| this.dy = -ysb - multiplier * constants_1.SQUISH_3D; | |
| this.dz = -zsb - multiplier * constants_1.SQUISH_3D; | |
| this.xsb = xsb; | |
| this.ysb = ysb; | |
| this.zsb = zsb; | |
| } | |
| return Contribution3; | |
| })(); | |
| var Contribution4 = /** @class */ (function() { | |
| function Contribution4(multiplier, xsb, ysb, zsb, wsb) { | |
| this.dx = -xsb - multiplier * constants_1.SQUISH_4D; | |
| this.dy = -ysb - multiplier * constants_1.SQUISH_4D; | |
| this.dz = -zsb - multiplier * constants_1.SQUISH_4D; | |
| this.dw = -wsb - multiplier * constants_1.SQUISH_4D; | |
| this.xsb = xsb; | |
| this.ysb = ysb; | |
| this.zsb = zsb; | |
| this.wsb = wsb; | |
| } | |
| return Contribution4; | |
| })(); | |
| function shuffleSeed(seed) { | |
| var newSeed = new Uint32Array(1); | |
| newSeed[0] = seed[0] * 1664525 + 1013904223; | |
| return newSeed; | |
| } | |
| OpenSimplexNoise = /** @class */ (function() { | |
| function OpenSimplexNoise(clientSeed) { | |
| this.initialize(); | |
| this.perm = new Uint8Array(256); | |
| this.perm2D = new Uint8Array(256); | |
| this.perm3D = new Uint8Array(256); | |
| this.perm4D = new Uint8Array(256); | |
| var source = new Uint8Array(256); | |
| for (var i = 0; i < 256; i++) source[i] = i; | |
| var seed = new Uint32Array(1); | |
| seed[0] = clientSeed; | |
| seed = shuffleSeed(shuffleSeed(shuffleSeed(seed))); | |
| for (var i = 255; i >= 0; i--) { | |
| seed = shuffleSeed(seed); | |
| var r = new Uint32Array(1); | |
| r[0] = (seed[0] + 31) % (i + 1); | |
| if (r[0] < 0) r[0] += i + 1; | |
| this.perm[i] = source[r[0]]; | |
| this.perm2D[i] = this.perm[i] & 0x0e; | |
| this.perm3D[i] = (this.perm[i] % 24) * 3; | |
| this.perm4D[i] = this.perm[i] & 0xfc; | |
| source[r[0]] = source[i]; | |
| } | |
| } | |
| OpenSimplexNoise.prototype.array2D = function(width, height) { | |
| var output = new Array(width); | |
| for (var x = 0; x < width; x++) { | |
| output[x] = new Array(height); | |
| for (var y = 0; y < height; y++) { | |
| output[x][y] = this.noise2D(x, y); | |
| } | |
| } | |
| return output; | |
| }; | |
| OpenSimplexNoise.prototype.array3D = function(width, height, depth) { | |
| var output = new Array(width); | |
| for (var x = 0; x < width; x++) { | |
| output[x] = new Array(height); | |
| for (var y = 0; y < height; y++) { | |
| output[x][y] = new Array(depth); | |
| for (var z = 0; z < depth; z++) { | |
| output[x][y][z] = this.noise3D(x, y, z); | |
| } | |
| } | |
| } | |
| return output; | |
| }; | |
| OpenSimplexNoise.prototype.array4D = function( | |
| width, | |
| height, | |
| depth, | |
| wLength | |
| ) { | |
| var output = new Array(width); | |
| for (var x = 0; x < width; x++) { | |
| output[x] = new Array(height); | |
| for (var y = 0; y < height; y++) { | |
| output[x][y] = new Array(depth); | |
| for (var z = 0; z < depth; z++) { | |
| output[x][y][z] = new Array(wLength); | |
| for (var w = 0; w < wLength; w++) { | |
| output[x][y][z][w] = this.noise4D(x, y, z, w); | |
| } | |
| } | |
| } | |
| } | |
| return output; | |
| }; | |
| OpenSimplexNoise.prototype.noise2D = function(x, y) { | |
| var stretchOffset = (x + y) * constants_1.STRETCH_2D; | |
| var xs = x + stretchOffset; | |
| var ys = y + stretchOffset; | |
| var xsb = Math.floor(xs); | |
| var ysb = Math.floor(ys); | |
| var squishOffset = (xsb + ysb) * constants_1.SQUISH_2D; | |
| var dx0 = x - (xsb + squishOffset); | |
| var dy0 = y - (ysb + squishOffset); | |
| var xins = xs - xsb; | |
| var yins = ys - ysb; | |
| var inSum = xins + yins; | |
| var hash = | |
| (xins - yins + 1) | | |
| (inSum << 1) | | |
| ((inSum + yins) << 2) | | |
| ((inSum + xins) << 4); | |
| var value = 0; | |
| for (var c = this.lookup2D[hash]; c !== undefined; c = c.next) { | |
| var dx = dx0 + c.dx; | |
| var dy = dy0 + c.dy; | |
| var attn = 2 - dx * dx - dy * dy; | |
| if (attn > 0) { | |
| var px = xsb + c.xsb; | |
| var py = ysb + c.ysb; | |
| var indexPartA = this.perm[px & 0xff]; | |
| var index = this.perm2D[(indexPartA + py) & 0xff]; | |
| var valuePart = | |
| constants_1.gradients2D[index] * dx + | |
| constants_1.gradients2D[index + 1] * dy; | |
| value += attn * attn * attn * attn * valuePart; | |
| } | |
| } | |
| return value * constants_1.NORM_2D; | |
| }; | |
| OpenSimplexNoise.prototype.noise3D = function(x, y, z) { | |
| var stretchOffset = (x + y + z) * constants_1.STRETCH_3D; | |
| var xs = x + stretchOffset; | |
| var ys = y + stretchOffset; | |
| var zs = z + stretchOffset; | |
| var xsb = Math.floor(xs); | |
| var ysb = Math.floor(ys); | |
| var zsb = Math.floor(zs); | |
| var squishOffset = (xsb + ysb + zsb) * constants_1.SQUISH_3D; | |
| var dx0 = x - (xsb + squishOffset); | |
| var dy0 = y - (ysb + squishOffset); | |
| var dz0 = z - (zsb + squishOffset); | |
| var xins = xs - xsb; | |
| var yins = ys - ysb; | |
| var zins = zs - zsb; | |
| var inSum = xins + yins + zins; | |
| var hash = | |
| (yins - zins + 1) | | |
| ((xins - yins + 1) << 1) | | |
| ((xins - zins + 1) << 2) | | |
| (inSum << 3) | | |
| ((inSum + zins) << 5) | | |
| ((inSum + yins) << 7) | | |
| ((inSum + xins) << 9); | |
| var value = 0; | |
| for (var c = this.lookup3D[hash]; c !== undefined; c = c.next) { | |
| var dx = dx0 + c.dx; | |
| var dy = dy0 + c.dy; | |
| var dz = dz0 + c.dz; | |
| var attn = 2 - dx * dx - dy * dy - dz * dz; | |
| if (attn > 0) { | |
| var px = xsb + c.xsb; | |
| var py = ysb + c.ysb; | |
| var pz = zsb + c.zsb; | |
| var indexPartA = this.perm[px & 0xff]; | |
| var indexPartB = this.perm[(indexPartA + py) & 0xff]; | |
| var index = this.perm3D[(indexPartB + pz) & 0xff]; | |
| var valuePart = | |
| constants_1.gradients3D[index] * dx + | |
| constants_1.gradients3D[index + 1] * dy + | |
| constants_1.gradients3D[index + 2] * dz; | |
| value += attn * attn * attn * attn * valuePart; | |
| } | |
| } | |
| return value * constants_1.NORM_3D; | |
| }; | |
| OpenSimplexNoise.prototype.noise4D = function(x, y, z, w) { | |
| var stretchOffset = (x + y + z + w) * constants_1.STRETCH_4D; | |
| var xs = x + stretchOffset; | |
| var ys = y + stretchOffset; | |
| var zs = z + stretchOffset; | |
| var ws = w + stretchOffset; | |
| var xsb = Math.floor(xs); | |
| var ysb = Math.floor(ys); | |
| var zsb = Math.floor(zs); | |
| var wsb = Math.floor(ws); | |
| var squishOffset = (xsb + ysb + zsb + wsb) * constants_1.SQUISH_4D; | |
| var dx0 = x - (xsb + squishOffset); | |
| var dy0 = y - (ysb + squishOffset); | |
| var dz0 = z - (zsb + squishOffset); | |
| var dw0 = w - (wsb + squishOffset); | |
| var xins = xs - xsb; | |
| var yins = ys - ysb; | |
| var zins = zs - zsb; | |
| var wins = ws - wsb; | |
| var inSum = xins + yins + zins + wins; | |
| var hash = | |
| (zins - wins + 1) | | |
| ((yins - zins + 1) << 1) | | |
| ((yins - wins + 1) << 2) | | |
| ((xins - yins + 1) << 3) | | |
| ((xins - zins + 1) << 4) | | |
| ((xins - wins + 1) << 5) | | |
| (inSum << 6) | | |
| ((inSum + wins) << 8) | | |
| ((inSum + zins) << 11) | | |
| ((inSum + yins) << 14) | | |
| ((inSum + xins) << 17); | |
| var value = 0; | |
| for (var c = this.lookup4D[hash]; c !== undefined; c = c.next) { | |
| var dx = dx0 + c.dx; | |
| var dy = dy0 + c.dy; | |
| var dz = dz0 + c.dz; | |
| var dw = dw0 + c.dw; | |
| var attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw; | |
| if (attn > 0) { | |
| var px = xsb + c.xsb; | |
| var py = ysb + c.ysb; | |
| var pz = zsb + c.zsb; | |
| var pw = wsb + c.wsb; | |
| var indexPartA = this.perm[px & 0xff]; | |
| var indexPartB = this.perm[(indexPartA + py) & 0xff]; | |
| var indexPartC = this.perm[(indexPartB + pz) & 0xff]; | |
| var index = this.perm4D[(indexPartC + pw) & 0xff]; | |
| var valuePart = | |
| constants_1.gradients4D[index] * dx + | |
| constants_1.gradients4D[index + 1] * dy + | |
| constants_1.gradients4D[index + 2] * dz + | |
| constants_1.gradients4D[index + 3] * dw; | |
| value += attn * attn * attn * attn * valuePart; | |
| } | |
| } | |
| return value * constants_1.NORM_4D; | |
| }; | |
| OpenSimplexNoise.prototype.initialize = function() { | |
| var contributions2D = []; | |
| for (var i = 0; i < constants_1.p2D.length; i += 4) { | |
| var baseSet = constants_1.base2D[constants_1.p2D[i]]; | |
| var previous = null; | |
| var current = null; | |
| for (var k = 0; k < baseSet.length; k += 3) { | |
| current = new Contribution2( | |
| baseSet[k], | |
| baseSet[k + 1], | |
| baseSet[k + 2] | |
| ); | |
| if (previous === null) contributions2D[i / 4] = current; | |
| else previous.next = current; | |
| previous = current; | |
| } | |
| current.next = new Contribution2( | |
| constants_1.p2D[i + 1], | |
| constants_1.p2D[i + 2], | |
| constants_1.p2D[i + 3] | |
| ); | |
| } | |
| this.lookup2D = []; | |
| for (var i = 0; i < constants_1.lookupPairs2D.length; i += 2) { | |
| this.lookup2D[constants_1.lookupPairs2D[i]] = | |
| contributions2D[constants_1.lookupPairs2D[i + 1]]; | |
| } | |
| var contributions3D = []; | |
| for (var i = 0; i < constants_1.p3D.length; i += 9) { | |
| var baseSet = constants_1.base3D[constants_1.p3D[i]]; | |
| var previous = null; | |
| var current = null; | |
| for (var k = 0; k < baseSet.length; k += 4) { | |
| current = new Contribution3( | |
| baseSet[k], | |
| baseSet[k + 1], | |
| baseSet[k + 2], | |
| baseSet[k + 3] | |
| ); | |
| if (previous === null) contributions3D[i / 9] = current; | |
| else previous.next = current; | |
| previous = current; | |
| } | |
| current.next = new Contribution3( | |
| constants_1.p3D[i + 1], | |
| constants_1.p3D[i + 2], | |
| constants_1.p3D[i + 3], | |
| constants_1.p3D[i + 4] | |
| ); | |
| current.next.next = new Contribution3( | |
| constants_1.p3D[i + 5], | |
| constants_1.p3D[i + 6], | |
| constants_1.p3D[i + 7], | |
| constants_1.p3D[i + 8] | |
| ); | |
| } | |
| this.lookup3D = []; | |
| for (var i = 0; i < constants_1.lookupPairs3D.length; i += 2) { | |
| this.lookup3D[constants_1.lookupPairs3D[i]] = | |
| contributions3D[constants_1.lookupPairs3D[i + 1]]; | |
| } | |
| var contributions4D = []; | |
| for (var i = 0; i < constants_1.p4D.length; i += 16) { | |
| var baseSet = constants_1.base4D[constants_1.p4D[i]]; | |
| var previous = null; | |
| var current = null; | |
| for (var k = 0; k < baseSet.length; k += 5) { | |
| current = new Contribution4( | |
| baseSet[k], | |
| baseSet[k + 1], | |
| baseSet[k + 2], | |
| baseSet[k + 3], | |
| baseSet[k + 4] | |
| ); | |
| if (previous === null) contributions4D[i / 16] = current; | |
| else previous.next = current; | |
| previous = current; | |
| } | |
| current.next = new Contribution4( | |
| constants_1.p4D[i + 1], | |
| constants_1.p4D[i + 2], | |
| constants_1.p4D[i + 3], | |
| constants_1.p4D[i + 4], | |
| constants_1.p4D[i + 5] | |
| ); | |
| current.next.next = new Contribution4( | |
| constants_1.p4D[i + 6], | |
| constants_1.p4D[i + 7], | |
| constants_1.p4D[i + 8], | |
| constants_1.p4D[i + 9], | |
| constants_1.p4D[i + 10] | |
| ); | |
| current.next.next.next = new Contribution4( | |
| constants_1.p4D[i + 11], | |
| constants_1.p4D[i + 12], | |
| constants_1.p4D[i + 13], | |
| constants_1.p4D[i + 14], | |
| constants_1.p4D[i + 15] | |
| ); | |
| } | |
| this.lookup4D = []; | |
| for (var i = 0; i < constants_1.lookupPairs4D.length; i += 2) { | |
| this.lookup4D[constants_1.lookupPairs4D[i]] = | |
| contributions4D[constants_1.lookupPairs4D[i + 1]]; | |
| } | |
| }; | |
| return OpenSimplexNoise; | |
| })(); | |
| })(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| var OpenSimplexNoise2D; | |
| (function() { | |
| var constants_1 = { | |
| NORM_2D: 1.0 / 47.0, | |
| SQUISH_2D: (Math.sqrt(2 + 1) - 1) / 2, | |
| STRETCH_2D: (1 / Math.sqrt(2 + 1) - 1) / 2, | |
| base2D: [[1, 1, 0, 1, 0, 1, 0, 0, 0], [1, 1, 0, 1, 0, 1, 2, 1, 1]], | |
| gradients2D: [5, 2, 2, 5, -5, 2, -2, 5, 5, -2, 2, -5, -5, -2, -2, -5], | |
| lookupPairs2D: [ | |
| 0, | |
| 1, | |
| 1, | |
| 0, | |
| 4, | |
| 1, | |
| 17, | |
| 0, | |
| 20, | |
| 2, | |
| 21, | |
| 2, | |
| 22, | |
| 5, | |
| 23, | |
| 5, | |
| 26, | |
| 4, | |
| 39, | |
| 3, | |
| 42, | |
| 4, | |
| 43, | |
| 3 | |
| ], | |
| p2D: [ | |
| 0, | |
| 0, | |
| 1, | |
| -1, | |
| 0, | |
| 0, | |
| -1, | |
| 1, | |
| 0, | |
| 2, | |
| 1, | |
| 1, | |
| 1, | |
| 2, | |
| 2, | |
| 0, | |
| 1, | |
| 2, | |
| 0, | |
| 2, | |
| 1, | |
| 0, | |
| 0, | |
| 0 | |
| ], | |
| }; | |
| var Contribution2 = /** @class */ (function() { | |
| function Contribution2(multiplier, xsb, ysb) { | |
| this.dx = -xsb - multiplier * constants_1.SQUISH_2D; | |
| this.dy = -ysb - multiplier * constants_1.SQUISH_2D; | |
| this.xsb = xsb; | |
| this.ysb = ysb; | |
| } | |
| return Contribution2; | |
| })(); | |
| function shuffleSeed(seed) { | |
| var newSeed = new Uint32Array(1); | |
| newSeed[0] = seed[0] * 1664525 + 1013904223; | |
| return newSeed; | |
| } | |
| OpenSimplexNoise2D = /** @class */ (function() { | |
| function OpenSimplexNoise(clientSeed) { | |
| this.initialize(); | |
| this.perm = new Uint8Array(256); | |
| this.perm2D = new Uint8Array(256); | |
| var source = new Uint8Array(256); | |
| for (var i = 0; i < 256; i++) source[i] = i; | |
| var seed = new Uint32Array(1); | |
| seed[0] = clientSeed; | |
| seed = shuffleSeed(shuffleSeed(shuffleSeed(seed))); | |
| for (var i = 255; i >= 0; i--) { | |
| seed = shuffleSeed(seed); | |
| var r = new Uint32Array(1); | |
| r[0] = (seed[0] + 31) % (i + 1); | |
| if (r[0] < 0) r[0] += i + 1; | |
| this.perm[i] = source[r[0]]; | |
| this.perm2D[i] = this.perm[i] & 0x0e; | |
| source[r[0]] = source[i]; | |
| } | |
| } | |
| OpenSimplexNoise.prototype.array2D = function(width, height) { | |
| var output = new Array(width); | |
| for (var x = 0; x < width; x++) { | |
| output[x] = new Array(height); | |
| for (var y = 0; y < height; y++) { | |
| output[x][y] = this.noise2D(x, y); | |
| } | |
| } | |
| return output; | |
| }; | |
| OpenSimplexNoise.prototype.noise = function(x, y) { | |
| var stretchOffset = (x + y) * constants_1.STRETCH_2D; | |
| var xs = x + stretchOffset; | |
| var ys = y + stretchOffset; | |
| var xsb = Math.floor(xs); | |
| var ysb = Math.floor(ys); | |
| var squishOffset = (xsb + ysb) * constants_1.SQUISH_2D; | |
| var dx0 = x - (xsb + squishOffset); | |
| var dy0 = y - (ysb + squishOffset); | |
| var xins = xs - xsb; | |
| var yins = ys - ysb; | |
| var inSum = xins + yins; | |
| var hash = | |
| (xins - yins + 1) | | |
| (inSum << 1) | | |
| ((inSum + yins) << 2) | | |
| ((inSum + xins) << 4); | |
| var value = 0; | |
| for (var c = this.lookup2D[hash]; c !== undefined; c = c.next) { | |
| var dx = dx0 + c.dx; | |
| var dy = dy0 + c.dy; | |
| var attn = 2 - dx * dx - dy * dy; | |
| if (attn > 0) { | |
| var px = xsb + c.xsb; | |
| var py = ysb + c.ysb; | |
| var indexPartA = this.perm[px & 0xff]; | |
| var index = this.perm2D[(indexPartA + py) & 0xff]; | |
| var valuePart = | |
| constants_1.gradients2D[index] * dx + | |
| constants_1.gradients2D[index + 1] * dy; | |
| value += attn * attn * attn * attn * valuePart; | |
| } | |
| } | |
| return value * constants_1.NORM_2D; | |
| }; | |
| OpenSimplexNoise.prototype.initialize = function() { | |
| var contributions2D = []; | |
| for (var i = 0; i < constants_1.p2D.length; i += 4) { | |
| var baseSet = constants_1.base2D[constants_1.p2D[i]]; | |
| var previous = null; | |
| var current = null; | |
| for (var k = 0; k < baseSet.length; k += 3) { | |
| current = new Contribution2( | |
| baseSet[k], | |
| baseSet[k + 1], | |
| baseSet[k + 2] | |
| ); | |
| if (previous === null) contributions2D[i / 4] = current; | |
| else previous.next = current; | |
| previous = current; | |
| } | |
| current.next = new Contribution2( | |
| constants_1.p2D[i + 1], | |
| constants_1.p2D[i + 2], | |
| constants_1.p2D[i + 3] | |
| ); | |
| } | |
| this.lookup2D = []; | |
| for (var i = 0; i < constants_1.lookupPairs2D.length; i += 2) { | |
| this.lookup2D[constants_1.lookupPairs2D[i]] = | |
| contributions2D[constants_1.lookupPairs2D[i + 1]]; | |
| } | |
| }; | |
| return OpenSimplexNoise; | |
| })(); | |
| })(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment