草庐IT

osgText3D

全部标签

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式Allegro可以显示PCB的3D效果,利于查看和检查,如下图具体操作如下选择Set-up-userpreferences选择Display

javascript - Three.js:将 3d 位置转换为 2d 屏幕位置

我有一个位置为(x,y,z)的3D对象。如何计算该对象的屏幕位置(x,y)?我已经搜索过它,一个解决方案是我必须找出投影矩阵,然后将3D位置点乘以该矩阵以将其投影到某些2D观看表面(计算机屏幕)上。但是我不知道如何在Three.js中找到这个矩阵。我尝试了这样的转换函数,但它给出了错误的结果functionPoint3DToScreen2D(point3D){varscreenX=0;varscreenY=0;varinputX=point3D.x-camera.position.x;varinputY=point3D.y-camera.position.y;varinputZ=poi

javascript - 使用 CSS 3D 变换从 DOM 对象接收变换后的鼠标事件数据

目前在javascript鼠标事件中是否有任何数据可以让我轻松找到或计算相对于转换元素的3D空间的鼠标位置?为了直观地说明,左边是没有3d矩阵的div,右边是3d变换后的div。o是鼠标事件的来源+/|/|+-----++||||||o|=>|o|||||+-----++|\|\|+在下面的脚本中,单击div中的相同像素将报告一个位于文档/屏幕的二维变换空间中的event.layerX。我知道,但对解析div的matrix3d并使用它乘以事件位置以发现这一点的前景并不感到兴奋,但是在实际实现中,div将具有更复杂的转换,这需要在不止一个对象的每一帧上完成,我担心会带来的开销......

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 3d 图形实用程序?

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

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 - 将 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

javascript - 将几何添加到 THREE.Object3D

我已经编辑了这篇文章以使其更加清晰。好吧,我在这里要做的是表示一个由8个不同三Angular形组成的图block。每个三Angular形都应该能够独立地改变它的颜色。所以,我遇到的问题是,当我更改单个三Angular形的颜色时,它会更改中间线条的颜色,如您在第二张图片中所见。这是创建磁贴的代码:vartile=[];varn=0;for(vari=0;i要更新我使用此代码的Tile三Angular形的状态:for(varj=0;j这是更改Material的正确方法吗?我稍微简化了代码以更好地展示我的问题。但是,真正的代码在这个存储库中https://github.com/tul1/Ti