Sha256: c9ca0ab511331c154d49c3aa9618f10ef5059848aa838716ffc546c8a2a73325
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
function lagrange(n) { function forward(λ, φ) { if (Math.abs(Math.abs(φ) - π / 2) < ε) return [0, φ < 0 ? -2 : 2]; var sinφ = Math.sin(φ), v = Math.pow((1 + sinφ) / (1 - sinφ), n / 2), c = .5 * (v + 1 / v) + Math.cos(λ *= n); return [ 2 * Math.sin(λ) / c, (v - 1 / v) / c ]; } forward.invert = function(x, y) { var y0 = Math.abs(y); if (Math.abs(y0 - 2) < ε) return x ? null : [0, sgn(y) * π / 2]; if (y0 > 2) return null; x /= 2, y /= 2; var x2 = x * x, y2 = y * y, t = 2 * y / (1 + x2 + y2); // tanh(nφ) t = Math.pow((1 + t) / (1 - t), 1 / n); return [ Math.atan2(2 * x, 1 - x2 - y2) / n, asin((t - 1) / (t + 1)) ]; }; return forward; } function lagrangeProjection() { var n = .5, m = projectionMutator(lagrange), p = m(n); p.spacing = function(_) { if (!arguments.length) return n; return m(n = +_); }; return p; } (d3.geo.lagrange = lagrangeProjection).raw = lagrange;
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
d3js-plugins-rails-0.0.4 | vendor/assets/javascripts/d3/plugins/geo/projection/lagrange.js |
d3js-plugins-rails-0.0.3 | vendor/assets/javascripts/d3/plugins/geo/projection/lagrange.js |