草庐IT

javascript - 根据管端法线将旋转应用于圆柱体

我正在尝试在three.js中制作弯曲的3D箭头。为了完成此任务,我创建了一个沿着弯曲路径的Tube和一个形状为圆锥形的Cylinder(通过将radiusTop设置为微小)。他们目前看起来像这样:我试图将箭头头(圆柱体为圆锥形)放置在电子管的末端,如下所示:(Photoshopped)我的数学不是很强,对three.js还是很陌生。有人可以帮助我了解如何将两者连接起来吗?这是我当前的代码:importTfrom'three';varfindY=function(r,x){returnMath.sqrt((r*r)-(x*x));}varradius=25;varx=0;varz=0;

javascript - 在 JavaScript 舍入函数中硬编码 8191 10485 个值

我在一些遗留代码中看到了以下(奇怪的)Javascript舍入函数。谷歌搜索后,我可以看到它出现在网上的许多地方。但是,我无法弄清楚为什么会出现硬编码值8191和10485。有谁知道包含这些值是否有合理的理由?如果没有,希望我们能消灭模因!functionroundNumber(num,dec){varnewnumber=0;if(num>8191&&num 最佳答案 8191(0x1fff)在二进制表示方面可能很重要,但10485(0x28f5)似乎并不重要。我敢打赌,这是一种解决可感知的浮点舍入错误的技巧。float可能以不可预

javascript - 使用 Leap Motion SDK V2 检测拳头

我想检查LeapMotionFrame中的手当前是否是拳头。通常建议的方法是寻找值为1的hand.grabStrength。问题是即使是“爪状”手或其他任何具有非常轻微curl的手指。另一种方法是检查每个手指是否扩展。但这有一个类似的问题,手指只有完全伸直才算伸长。因此,即使我检查所有手指都没有拉伸(stretch),也会出现与上述相同的问题(爪状手被识别为被捕获)。将这两种方法结合起来也没有解决问题,这并不奇怪,因为它们都遇到了同样的问题。现在,我们确实拥有每个手指的所有骨骼,包括位置和所有内容。但我不知道从哪里开始用数学来检测手指是否curl。基本上我现在有这个设置:varcont

javascript - 在 Javascript 中使用随机数和运算符生成随机数学方程式

我想创建一个程序,它应该使用Randomno打印出最简单形式的数学表达式,例如(21+13)*56。1到100,程序必须带一个level参数,level决定生成方程的长度,例如:游戏必须生成包含加法+和乘法*运算符的方程式,例如(21+13)*56。(使用括号)----level275-54=2162+15=7788/22=493+22=11590*11=990--level3(21+13)*56=190482-19+16=7951*(68-2)=3366输入将是表单:例如level3输出应该是:(21+13)*56//SimpleexpressionusingRandomno.s到目

javascript - 生成和连接 3 个 Math.random() 值是否比 1 个 Math.random() 值更随机?

我需要为较长叙述中的多个句子生成唯一ID(其中多个用户可以同时在不同的机器上执行相同的操作)。我考虑过使用newDate().getTime()(可能还连接了一个username),但由于id是在遍历句子时在循环中生成的,我发现创建了重复项(因为生成可能发生在同一毫秒)。所以我目前正在玩:varrandom1=Math.floor((Math.random()*10000)+1).toString(36);varrandom2=Math.floor((Math.random()*10000)+1);varrandom3=Math.floor((Math.random()*10000)+

javascript - 球体上的纹理未正确对齐?纬度/经度 -> 笛卡尔 xyz

我想知道我的球体的纹理是否以某种方式没有正确应用,我是否可以以某种方式抵消它?我试图通过提供纬度/经度并转换为笛卡尔xyz坐标来在澳大利亚悉尼放置一个盒子。但是,盒子没有放在正确的位置。我的猜测是因为原始图像是墨卡托map,所以当它应用于球体时,纬度/经度中心点不正确。下面的代码是一个最小的可重现示例。我正在加载地球图像并将其应用于球体(半径=400)。然后我提供澳大利亚悉尼的纬度/经度(33.8688,-151.2093)并转换为弧度。将纬度/经度转换为笛卡尔xyz(取自:https://stackoverflow.com/a/1185413/3723165)翻译一个盒子并将其推到该

javascript - 为什么预计算 sin(x) *比在 Javascript 中使用 Math.sin() *慢*?

我在JavaScript中发现了一个有趣的异常现象。其中重点是我尝试通过预先计算sin(x)和cos(x)并简单地引用预先计算的值来加速三Angular变换计算。直觉上,预计算比每次计算Math.sin()和Math.cos()函数更快。特别是如果您的应用程序设计将仅使用一组受限制的值作为三Angular函数的参数(在我的例子中,区间[0°,360°]中的整数度),这足以满足我的目的。所以,我进行了一些测试。在预先计算sin(x)和cos(x)的值并将它们存储在360个元素的数组中之后,我编写了一个简短的测试函数,通过一个简单的测试HTML页面中的按钮激活,以比较两者的速度方法。一个循

javascript - 在 Javascript 中查找坏点的算法

我正在尝试创建一种算法,用于从.csv格式的强度图中检测和计算坏点。我目前的方法是将我正在测试的像素的值除以紧邻右侧的像素值(或者,如果在最右侧,则为左侧的像素值)。如果红利小于某个阈值(当前为.9),那么我将其标记为坏点。我的问题是,是否有更好/更有效的方法来计算像素是否失效?示例csv输出:3183317632073183321232113197319831833191319331771135318531763175318431883179318131813165318431873183在此示例中,中间像素将是“死”像素。 最佳答案

javascript - 使用旋转/缩放/平移在 Google map 上定位图像

我正在开发一个用于在谷歌地图上定位图像的用户界面。我从:http://overlay-tiler.googlecode.com/svn/trunk/upload.html开始这非常接近我想要的。但是我想要一个旋转工具、一个缩放工具和一个平移工具(后者存在)而不是3个接触点。我尝试添加一个旋转工具,但它没有像我预期的那样工作:我在左下角放了一个点来控制旋转(围绕图像的中心)。鼠标拖动控制点,我计算其他3个点。我的代码基于mover对象,但我更改了onMouseMove函数:overlaytiler.Rotater.prototype.rotateDot_=function(dot,the

javascript - 获取鼠标相对于饼图的位置(方程式)

我已经从一组数据创建了一个Canvas饼图,我现在试图定位鼠标相对于饼图的位置,以检测悬停在哪个数据部分。我快到了,但我被一个等式困住了。我的逻辑运行良好,所以我认为这更像是一道数学题,但我会看看其他人对我的方法有何看法。这是我的饼图和我正在使用的变量:图像上列出的变量是我必须使用的变量(mouseX、mouseY、距中心的距离、半径、圆周率(圆周率)和数据点在圆周上相对于圆周率的部分)。图表的起始部分从右边开始,从pi*2的0开始到pi*2的100%,然后灰色部分的起始位置为1.34...相对于pie*2和结束2.228的位置...我目前的主要问题是使用像素测量来计算它相对于pi的位