| 34333 | |
| 34334 | function inSphere3(sum, diff, prod, scale) { |
| 34335 | function exactInSphere3(m0, m1, m2) { |
| 34336 | var w0 = prod(m0[0], m0[0]) |
| 34337 | var w0m1 = scale(w0, m1[0]) |
| 34338 | var w0m2 = scale(w0, m2[0]) |
| 34339 | var w1 = prod(m1[0], m1[0]) |
| 34340 | var w1m0 = scale(w1, m0[0]) |
| 34341 | var w1m2 = scale(w1, m2[0]) |
| 34342 | var w2 = prod(m2[0], m2[0]) |
| 34343 | var w2m0 = scale(w2, m0[0]) |
| 34344 | var w2m1 = scale(w2, m1[0]) |
| 34345 | var p = sum(diff(w2m1, w1m2), diff(w1m0, w0m1)) |
| 34346 | var n = diff(w2m0, w0m2) |
| 34347 | var d = diff(p, n) |
| 34348 | return d[d.length - 1] |
| 34349 | } |
| 34350 | return exactInSphere3 |
| 34351 | } |
| 34352 | |