N = (u, v) => [
-(
(5 * Math.cos(u) - 5 * Math.cos(3 * u) + 12 * Math.sin(u)) *
(80 +
120 * Math.cos(2 * u) +
110 * Math.cos(4 * u) -
200 * Math.cos(6 * u) -
110 * Math.cos(8 * u) +
60 * Math.cos(2 * u - 2 * v) +
35 * Math.cos(4 * u - 2 * v) -
60 * Math.cos(6 * u - 2 * v) -
35 * Math.cos(8 * u - 2 * v) +
1920 * Math.cos(u - v) +
1920 * Math.cos(u + v) +
60 * Math.cos(2 * (u + v)) +
35 * Math.cos(4 * u + 2 * v) -
60 * Math.cos(6 * u + 2 * v) -
35 * Math.cos(8 * u + 2 * v) +
288 * Math.sin(4 * u) +
168 * Math.sin(6 * u) +
144 * Math.sin(4 * u - 2 * v) +
84 * Math.sin(6 * u - 2 * v) +
144 * Math.sin(4 * u + 2 * v) +
84 * Math.sin(6 * u + 2 * v))
) / 14400,
-(
(6 + 5 * Math.sin(2 * u)) *
(15 * Math.cos(u) +
25 * Math.cos(3 * u) -
Math.sin(u) *
(12 +
12 * Math.cos(2 * v) +
5 * Math.sin(2 * u - 2 * v) +
120 * Math.sin(3 * u - v) -
30 * Math.sin(5 * u - v) -
30 * Math.sin(7 * u - v) +
5 * Math.sin(2 * (u + v)) +
120 * Math.sin(3 * u + v) -
30 * Math.sin(5 * u + v) -
30 * Math.sin(7 * u + v)))
) / 900,
(1 / 14400) *
((5 * Math.cos(u) - 5 * Math.cos(3 * u) + 12 * Math.sin(u)) *
(96 * Math.cos(3 * u - 2 * v) +
108 * Math.cos(5 * u - 2 * v) +
36 * Math.cos(7 * u - 2 * v) -
96 * Math.cos(3 * u + 2 * v) -
108 * Math.cos(5 * u + 2 * v) -
36 * Math.cos(7 * u + 2 * v) -
40 * Math.sin(u - 2 * v) -
45 * Math.sin(3 * u - 2 * v) +
25 * Math.sin(5 * u - 2 * v) +
45 * Math.sin(7 * u - 2 * v) +
15 * Math.sin(9 * u - 2 * v) -
870 * Math.sin(2 * u - v) +
120 * Math.sin(4 * u - v) +
240 * Math.sin(6 * u - v) -
120 * Math.sin(8 * u - v) -
105 * Math.sin(10 * u - v) +
30 * Math.sin(12 * u - v) +
15 * Math.sin(14 * u - v) +
2460 * Math.sin(v) +
870 * Math.sin(2 * u + v) -
120 * Math.sin(4 * u + v) -
240 * Math.sin(6 * u + v) +
120 * Math.sin(8 * u + v) +
105 * Math.sin(10 * u + v) -
30 * Math.sin(12 * u + v) -
15 * Math.sin(14 * u + v) +
40 * Math.sin(u + 2 * v) +
45 * Math.sin(3 * u + 2 * v) -
25 * Math.sin(5 * u + 2 * v) -
45 * Math.sin(7 * u + 2 * v) -
15 * Math.sin(9 * u + 2 * v)))
]