Articles of math

计算避开障碍物的圆angular

我正在制作一个名为Ogar的项目,一个用Node.js编写的Agar.io服务器实现。 这个机器人有一个障碍,一个叫做病毒的绿色尖刺细胞(见插图)。 我需要编程这个机器人,以避免这个障碍,但我没有运气。 由于插图中有很多目标,所以基于更新。 这是我到目前为止的代码。 BotPlayer.prototype.avoidObstacles = function(cell, angle) { // Sum up all of the vector angles of obstacles to cell and react against it var angleSum = 0; var collided = this.collisionFromList(cell, this.obstacles); if (collided.length == 0) return angle; // Not to return NaN for (var i = 0; i < collided.length; i++) […]

用KaTeX在node.js模板中渲染math

我想在node.js使用latex模式在页面中渲染math。 我看了MathJaX和KaTeX 。 我用我的页面 router.get('/math', function (req, res) { res.render('math'); }); 所以我怎样才能确保在这个网页上的math是math呈现? 我可以用 const katex = require('katex'); const math = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", { displayMode: true }); 然后在模板中设置variables router.get('/math', function (req, res) { res.render('math', { math: math }); }); 但我宁愿要直接在模板中写所有的math,而不是专门在JavaScript代码中设置每个variables。 编辑 我正在从模板中获取html router.get('/math', function (req, res) { res.render('math', function (err, html) { html […]

我如何在js中像Excel中的圆形函数一样以负的精度舍入一个数字

我正在尝试从8904000到8900000的值。有没有什么可能的方法来改变这个使用Math.round。 在MS Excel中的例子 =round(8904000,-5); ANS: 8900000 我尝试了下面的代码,但Math.round不采取第二个参数 Math.round(8904000,-5); ANS: 8904000 总之我想把这个数字凑到最接近的100,000个数字 所以5300 * 56 * 30 = 8904000变成8900000

计算趋势线并预测未来的结果

我正在为正在编写的网站编写一些分析模块,我需要估计当前小时后的总体视图。 我有每分钟到目前的分钟的数据,所以如果时间是12:28,我将有一个数组,看起来像这样: 0: "21410" 1: "21886" 2: "21837" 3: "21895" 4: "21564" 5: "21714" 6: "21571" 7: "21324" 8: "21310" 9: "21390" 10: "21764" 11: "21598" 12: "21493" 13: "21352" 14: "21478" 15: "21058" 16: "20942" 17: "20825" 18: "21321" 19: "20950" 20: "21039" 21: "21117" 22: "20733" 23: "20773" 24: "20929" 25: "20900" 26: […]

节点:将缓冲区转换为十进制值

我有一个填充数据的缓冲区,并以<Buffer 52 49 …>开头 假设这个缓冲区被定义为buf,如果我运行buf.readInt16LE(0),返回如下内容: 18770 现在,hex值52和49的二进制表示是: 01010010 01001001 如果我要将前15位转换为十进制,则省略第16位来补码,我会得到以下结果: 21065 为什么我的结果没有给我18770的价值?

生成20位数字的唯一可逆ID

我想从一个代表数字的string中产生一个新的唯一的20位数的string 例如 : var uid = key.pseudoHash("00000000000000000000"), // "45021-78054-45021-16875" uid = key.pseudoHash("00000000000000000001"), // "15751-40213-97315-65348" .. uid = key.pseudoHash("99999999999999999999"); // "01197-95791-58880-58368" 我怎样才能有这个伪造的function,使不碰撞,可以颠倒?

Node.js Math.random()不起作用

我写了这段代码来使用Monte Carlo模拟来估计Pi,但是我注意到无论迭代的数量如何,结果总是在2.0附近。 我想这可能是Math.random()不起作用。 代码使用Node v7.5.0在Mac OS Sierra上运行。 有任何想法吗? // Begin of code iterations = 100000000; in_circle = 0; function find_pi(){ for ( i = 0; i < iterations; i++ ){ x = 1 – 2 * Math.random(); y = 1 – 2 * Math.random(); if ( (x^2 + y^2) < 1 ) in_circle++; } console.log( […]

在javascript中使用较大的数字查找LCM时出错

目前试图find一个课程使用JS的LCM。 这似乎工作没有问题,但是当我提交它,我得到一个失败的结果input226553150 1023473145 ,并返回46374212988031340当它应该返回46374212988031350感谢您的任何事情,你可以做! var readline = require('readline'); process.stdin.setEncoding('utf8'); var rl = readline.createInterface({ input: process.stdin, terminal: false }); function lcm(a,b) { return((a*b)/gcd(a,b)) } function gcd(a,b) { if(b == 0){ return a; } return gcd(b,(a%b)); } rl.on('line', (line) => { var a = parseInt(line.toString().split(' ')[0]); var b = parseInt(line.toString().split(' ')[1]); console.log(lcm(a,b)); rl.close(); })

球员运动对angular线 – 太快|| 的NodeJS

如果我向右或向左或向下移动播放器,则向该方向移动5px。 但是,如果我按下,右侧例如播放器正在向右移动5像素和5像素,从前一个位置,而不是5像素约7像素。 我可以添加下一个IF语句:if(up and down)然后spdX和spdY =(maxSpd – maxSpd√2)/或简单的-25%? 但是我觉得我的代码有点混乱 任何不错的解决scheme,快速,看起来很简单? 🙂 这是我的代码: self.updateSpd = function(){ if(self.pressingRight){ self.spdX = self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX += self.maxRun; self.stamina –; } } else if(self.pressingLeft){ self.spdX = -self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX -= self.maxRun; self.stamina –; } } else{ self.spdX = 0; } if(self.pressingUp){ self.spdY […]

我试图在node.js中求解一个非线性方程组

我试图通过编程来解决以下公式: (ax−x0)^2 + (ay−y0)^2 = r^2 (bx−x0)^2 + (by−y0)^2 = (r+330bs)^2 (cx−x0)^2 + (cy−y0)^2 = (r+330cs)^2 ax,bx,cx,ay,by,cy,bs和cs是我在运行时得到的所有参数。 我试图findx0和y0 ,但是当我把这个喂给algebra.js它错误了。 我是一名高中生,所以我没有学习高端math(我find了解决scheme的旋转matrix,我还没有学习) 会喜欢一些帮助,提前感谢。 编辑: 我用代数.js的代码是: /* a = ax* b = bx* c = cx* d = ay* e = by* f = cy* g = x0 h = y0 i = r j = bs* k […]