!function(n){function I(C){if(g[C])return g[C].exports;var t=g[C]={i:C,l:!1,exports:{}};return n[C].call(t.exports,t,t.exports,I),t.l=!0,t.exports}var g={};I.m=n,I.c=g,I.i=function(n){return n},I.d=function(n,g,C){I.o(n,g)||Object.defineProperty(n,g,{configurable:!1,enumerable:!0,get:C})},I.n=function(n){var g=n&&n.__esModule?function(){return n.default}:function(){return n};return I.d(g,"a",g),g},I.o=function(n,I){return Object.prototype.hasOwnProperty.call(n,I)},I.p="",I(I.s=0)}([function(module,exports,__webpack_require__){"use strict";eval('\n\nvar poStrfy = function poStrfy(x, y, z) {\n return [x, y, z].join(" ");\n};\n\nvar cast = function cast(d) {\n Object.keys(d).forEach(function (key) {\n if (!isNaN(+d[key])) d[key] = +d[key];\n });\n return d;\n};\n\nvar rnd = function rnd() {\n return Math.random();\n};\n\nvar xScale = d3.scaleLinear().domain([0, 1]).range([-20, 20]);\nvar yScale = d3.scaleLinear().domain([0, 1]).range([0.1, 15]);\nvar zScale = d3.scaleLinear().domain([0, 1]).range([-10, -35]);\n\nvar rScale = d3.scaleLinear().domain([0, 1]).range([0.1, 3]);\n\nvar data = d3.range(40).map(function () {\n return { x: xScale(rnd()), y: yScale(rnd()), z: zScale(rnd()) };\n});\n\nvar scene1 = d3.select("#scene1").datum(data);\n\nvar addCircle = function addCircle(_selection) {\n var circle = _selection.selectAll(".circle").data(function (d) {\n return d;\n }).enter().append("a-sphere").attr("class", "circle").attr("color", function () {\n return d3.interpolateRainbow(rnd());\n }).attr("radius", function () {\n return rScale(rnd());\n }).attr("shadow", true);\n\n repeat();\n\n function repeat() {\n\n circle.transition()\n // .delay((d,i) => ~~(Math.random() * 500 ))\n .duration(2000).attrTween("position", function (d, i) {\n d.dx = xScale(rnd());\n d.dy = yScale(rnd());\n d.dz = zScale(rnd());\n var xfn = d3.interpolate(d.x, d.dx);\n var yfn = d3.interpolate(d.y, d.dy);\n var zfn = d3.interpolate(d.z, d.dz);\n return function (t) {\n return poStrfy(xfn(t), yfn(t), zfn(t));\n };\n }).transition().duration(2000).attrTween("position", function (d, i) {\n var xfn = d3.interpolate(d.dx, d.x);\n var yfn = d3.interpolate(d.dy, d.y);\n var zfn = d3.interpolate(d.dz, d.z);\n return function (t) {\n return poStrfy(xfn(t), yfn(t), zfn(t));\n };\n }).on("end", repeat);\n };\n};\n\nscene1.call(addCircle);//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9zY3JpcHQuanM/OWE5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwb1N0cmZ5ID0gKHgsIHksIHopID0+IFt4LCB5LCB6XS5qb2luKFwiIFwiKTtcblxuY29uc3QgY2FzdCA9IGQgPT4ge1xuICBPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgaWYgKCFpc05hTigrZFtrZXldKSkgZFtrZXldID0gK2Rba2V5XTtcbiAgfSk7XG4gIHJldHVybiBkO1xufTtcblxuY29uc3Qgcm5kID0gKCkgPT4gTWF0aC5yYW5kb20oKTtcblxuY29uc3QgeFNjYWxlID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsIDFdKS5yYW5nZShbLTIwLCAyMF0pXG5jb25zdCB5U2NhbGUgPSBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMCwgMV0pLnJhbmdlKFswLjEsIDE1XSlcbmNvbnN0IHpTY2FsZSA9IGQzLnNjYWxlTGluZWFyKCkuZG9tYWluKFswLCAxXSkucmFuZ2UoWy0xMCwgLTM1XSlcblxuXG5jb25zdCByU2NhbGUgPSBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMCwgMV0pLnJhbmdlKFswLjEsIDNdKVxuXG5jb25zdCBkYXRhID0gZDMucmFuZ2UoNDApLm1hcCggKCkgPT57IHJldHVybiB7eDp4U2NhbGUocm5kKCkpLHk6eVNjYWxlKHJuZCgpKSwgejp6U2NhbGUocm5kKCkpfSB9KVxuXG5cbmNvbnN0IHNjZW5lMSA9IGQzLnNlbGVjdChcIiNzY2VuZTFcIikuZGF0dW0oZGF0YSk7XG5cblxuY29uc3QgYWRkQ2lyY2xlID0gKF9zZWxlY3Rpb24pID0+IHtcblx0Y29uc3QgY2lyY2xlID0gX3NlbGVjdGlvblxuICAgIC5zZWxlY3RBbGwoXCIuY2lyY2xlXCIpXG4gICAgLmRhdGEoZCA9PiBkKVxuICAgIC5lbnRlcigpXG4gICAgLmFwcGVuZChcImEtc3BoZXJlXCIpXG4gICAgLmF0dHIoXCJjbGFzc1wiLCBcImNpcmNsZVwiKVxuICAgIC5hdHRyKFwiY29sb3JcIiwgKCk9PiBkMy5pbnRlcnBvbGF0ZVJhaW5ib3cocm5kKCkpKVxuXHQuYXR0cihcInJhZGl1c1wiLCAoKT0+IHJTY2FsZShybmQoKSkpXG4gICAgLmF0dHIoXCJzaGFkb3dcIiwgdHJ1ZSlcbiAgICBcbiAgICByZXBlYXQoKTtcbiAgICBcbiAgICBcbiAgICBmdW5jdGlvbiByZXBlYXQoKSB7XG4gICAgICAgIFxuICAgICAgY2lyY2xlXG4gICAgICAgIC50cmFuc2l0aW9uKCkgICAgICAgIFxuLy8gICAgICAgIC5kZWxheSgoZCxpKSA9PiB+fihNYXRoLnJhbmRvbSgpICogNTAwICkpXG4gICAgICAgIC5kdXJhdGlvbigyMDAwKVxuICAgICAgICAuYXR0clR3ZWVuKFwicG9zaXRpb25cIiwgKGQsIGkpID0+IHtcbiAgICAgICAgICAgIGQuZHggPSB4U2NhbGUocm5kKCkpOyAgICAgICAgICAgIFxuICAgICAgICAgICAgZC5keSA9IHlTY2FsZShybmQoKSk7ICAgICAgICAgICAgXG4gICAgICAgICAgICBkLmR6ID0gelNjYWxlKHJuZCgpKTsgICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnN0IHhmbiA9IGQzLmludGVycG9sYXRlKGQueCwgZC5keCk7XG4gICAgICAgICAgICBjb25zdCB5Zm4gPSBkMy5pbnRlcnBvbGF0ZShkLnksIGQuZHkpO1xuICAgICAgICAgICAgY29uc3QgemZuID0gZDMuaW50ZXJwb2xhdGUoZC56LCBkLmR6KTtcbiAgICAgICAgICAgIHJldHVybiB0ID0+IHBvU3RyZnkoeGZuKHQpLCB5Zm4odCksIHpmbih0KSk7XG4gICAgICAgIH0pXG4gICAgICAgIC50cmFuc2l0aW9uKCkgICAgICAgIFxuICAgICAgICAuZHVyYXRpb24oMjAwMClcbiAgICAgICAgLmF0dHJUd2VlbihcInBvc2l0aW9uXCIsIChkLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB4Zm4gPSBkMy5pbnRlcnBvbGF0ZShkLmR4LCBkLngpO1xuICAgICAgICAgICAgY29uc3QgeWZuID0gZDMuaW50ZXJwb2xhdGUoZC5keSwgZC55KTtcbiAgICAgICAgICAgIGNvbnN0IHpmbiA9IGQzLmludGVycG9sYXRlKGQuZHosIGQueik7XG4gICAgICAgICAgICByZXR1cm4gdCA9PiBwb1N0cmZ5KHhmbih0KSwgeWZuKHQpLCB6Zm4odCkpO1xuICAgICAgICB9KVxuICAgICAgICAub24oXCJlbmRcIiwgcmVwZWF0KVxuICAgICAgICBcbiAgICB9O1xuICAgIFxufVxuXG5cblxuXG5zY2VuZTEuY2FsbChhZGRDaXJjbGUpO1xuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc2NyaXB0LmpzIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUZBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9')}]);