草庐IT

3D凸包算法

全部标签

javascript - 计算 3d 空间等距离的通用公式

这可能不是发布此内容的正确位置,但我不知道还有什么地方可以发布它。我有5条线(d1->d5)在3d透视图中彼此均匀分布,我有(a)Angular、(d1)和(b5)的值。我需要用jquery计算(b2,b3,b4,d2,d3,d4,d5)。我可以用以下方法计算d5:d5=d1-(b5*Math.tan(a))但我不知道如何计算b2、b3和b4。(d1分为4个相同的segments(s))任何帮助将不胜感激。 最佳答案 您正在寻找的是投影量表。在计算上执行此操作的最简单方法是使用齐次坐标,取一个矩形(如下面第一张图片中的矩形),其中V

javascript - 什么是高频使用最快的 levenshtein 算法

这个问题在这里已经有了答案:Sortanarraybythe"LevenshteinDistance"withbestperformanceinJavascript(7个答案)关闭9年前。对于客户端搜索工具,我需要找到一个词与数百万个其他词的Levenshtein距离。用户应该能够将大约二十个单词的短文本与一本书进行比较。用户可以通过查找书中文本中最具特征的单词的位置来做到这一点。“查找位置”并不意味着寻找完全匹配,而是与levenshtein几乎匹配。我从已经可用的实现开始,但我需要更快的速度。我最终得到了这个:varrowA=newUint16Array(1e6);varrowB=

Javascript 3d 图形实用程序?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有人知道任何好的javascript3d绘图实用程序吗?我知道每个网站都会推荐Canvas3dGraph但它实际上是非常有限的。对于其中一个,它只允许使用1000以内的数据集进行绘图。虽然它确实有一些能力(通过一些代码修改)来绘制有点超出其范围的数据,但完全改造后的任何东西都不允许绘制图形基于时间或值远大于1000的数据。(我的数据值范围为数十亿。)或者我应该放弃所有

javascript - 重复小数算法

我正在尝试编写一个简单的重复十进制算法。现在,我已经非常接近找到有用的东西了。我尝试使用这个算法:Howtoknowtherepeatingdecimalinafraction?"Averysimplealgorithmisthis:implementlongdivision.Recordeveryintermediatedivisionyoudo.Assoonasyouseeadivisionidenticaltotheoneyou'vedonebefore,youhavewhat'sbeingrepeated."除了检测重复的小数模式并将其放在括号中外,我能够执行上述所有操作。对于

javascript - 如何在 Aframejs 中加载 3d 模型?它目前在 threejs 中运行良好

我创建了一个3d动画模型,我设法在threejs中运行它。varloader=newTHREE.FBXLoader();loader.load('model.fbx',function(object){object.mixer=newTHREE.AnimationMixer(object);mixers.push(object.mixer);console.log(object.animations.length);varaction=object.mixer.clipAction(object.animations[0]);action.play();object.traverse(

javascript - 避免用多种不同的语言编写相同的算法

我是一名Web开发人员,我发现很多时候我需要在客户端和服务器上使用相同的功能。所以我用JS以及PHP或任何服务器端语言编写它。我受够了这个。如果我必须更改它,那么我需要在两个地方都进行更改。如果我想将它用于某些手持设备,那么我将不得不使用Objective-C或Java等再次重写该代码。然后如果我需要更改该功能,那么我将需要在所有地方更改它。有解决办法吗?如果我将通过ajax调用一些web服务,那么客户端将有延迟。如果它将在JS中,则无法从PHP或Java等内部访问它。如果我从另一种语言使用PHP中的某些服务,那么这也可能成为性能问题。有时我们也可能需要使用db或不使用db作为输入的某

javascript - 许多节点的图形算法

我一直在尝试开发一个基于Web的应用程序来帮助绘制节点及其交互的图形。我尝试将Sigma.Js与ForceAtlas扩展一起使用。对于我的简单测试(几个节点),结果非常好看,但是如果增加了1000个节点,结果就会变得一团糟。有没有这样的方法可以使结果更易于查看?(在眼睛上更容易/不仅仅是1个大Blob)我将如何去做呢?是否已经编写了任何算法(我可以实现?) 最佳答案 您可以尝试Fruchterman-Reingold力布局(有一个sigmaplugin)。它特别减少了相互交叉的链接数量,因此它通常更适合大型图(除非所有节点都有很多连

javascript - 将 C# 3D 数组移植到 JS 3D 数组

我开发了一个c#库,它在3个项目中使用,该库在该特定代码段中中继,但是,我仍然需要在javascript中使用该代码,所以我将其移植出去,问题是,我不认为我可以复制相同的逻辑,例如,我一直在想这几天我无法得到答案。在C#库中,我有一个3D数组,它有点像应用程序中的核心属性,但我似乎无法弄清楚如何在JS环境中实现它。例如我有这段代码:publicObj[,,]objs=newObj[18,14,8];我会在每个位置分配对象,并尝试将其移植到javascript,这似乎会导致:var3dArr=newArray();3dArr[0]=newArray();3dArr[0][0]=newAr

javascript - 在 HTML5 Canvas 上创建立体 3D 图像

我正在使用HTML5canvas对象创建一个简单的3D引擎。它运作良好,但我想实现红/蓝立体图像处理,这样人们就可以使用红/蓝眼镜真正看到3D。目前,我对3D对象进行了两次渲染,第二次是从紧挨着第一个相机位置的相机位置渲染的。我面临的问题是如何将渲染的两个对象组合成具有正确颜色的浮雕。现在我使用globalAlpha=0.5并将第一个渲染为红色,第二个渲染为蓝色。然而,这并不完全有效,因为仅受红色对象影响的像素应该保持红色,但由于我的背景颜色是黑色,它们会变成黑色和红色之间的颜色。在查看创建3D浮雕的应用程序时,我注意到红色和蓝色像素一起计算如下:2550000255---------

javascript - 三.Object3D.add : object not an instance of THREE. Object3D

所以我遇到了这个错误,但我找不到它的来源。我相信这与我在场景中导入和创建3d对象有关,但我不确定我做错了什么。代码如下:我在调用init之前调用此函数functionloadObjects(){loader=newTHREE.JSONLoader();varfloorDiskmaterial=newTHREE.MeshPhongMaterial({map:THREE.ImageUtils.loadTexture('img/floor_test.jpg'),transparent:true,color:0xeaeaea,ambient:0xeaeaea,overdraw:0.5,//sp