jjzjj

javascript - THREE.LineDashedMaterial - 破折号不起作用

我无法让THREE.LineDashedMaterial在三个js中正常工作(我使用的是r73,但也刚刚尝试过r74)。改变颜色很好,但破折号似乎不起作用。这是我的例子:varsegmentCount=200;varradius=100;vargeometry=newTHREE.Geometry();varmaterial=newTHREE.LineDashedMaterial({color:0xff0000,linewidth:5,dashSize:1.0,gapSize:0.5});//newTHREE.LineBasicMaterial({color:0xFFFFFF,linew

8个必须掌握的Blender拓扑技巧

组合3D模型的过程对后续过程影响很大-稍后编辑的难易程度、应用光照和着色器时的外观效果如何、动画时变形的难易程度等等。一个好的模型对于CG管道的所有其他部分的良好运行至关重要。另一方面,凌乱的拓扑结构会使流程的其余部分成为一场灾难。你能做些什么来防止这种情况发生?这里有8个技巧,你可以立即使用。点击这里访问3D场景编辑器,快速搭建可编程的3D数字孪生场景。1、了解常用的网格工具这是一个显而易见的技巧,但每个尝试在Blender中进行3D建模的人都需要精通这一技巧。建模时,了解如何正确添加/删除/修改网格是最重要的方面。毕竟,3d建模要做的就是利用一致的面/边/顶点以形成视觉上令人愉悦的形状。因

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 - Three.js 中的自定义形状

在我的项目中,我创建的形状是球体,我使用图像作为Material的纹理...如何制作自定义形状(不是球体、矩形等)?例如,如何创建半球?我现在的代码://createatexturetexture=THREE.ImageUtils.loadTexture('red.png');//createasphereshapegeometry=newTHREE.SphereGeometry(50,16,16);//giveitashaperedcolormaterial=newTHREE.MeshLambertMaterial({map:texture});//createanobjectmes

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

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

javascript - 计算螺旋半径,使螺旋中的模型位于平截头体内

我正在构建一个应用程序,我在其中展示了一些带有纹理的平面。但是,我想根据平截头体宽度和相机位置动态计算螺旋的半径(我在计算中使用它来创建螺旋)。螺旋位于屏幕中心x=0,y=0,z=0。我希望考虑屏幕方向(横向/纵向)。到目前为止,这是我拥有的代码,但似乎我遗漏了一些东西,因为左侧和右侧的平面不在视口(viewport)。App.prototype.calculateHelixRadius=function(){//planewidth=height=512;varfriend=this.getFriend();varvFOV=friend.camera.fov*Math.PI/180;

javascript - 如果比较函数不可传递,Array.sort() 的行为如何?

我正在编写一种算法来对3D框数组进行排序,以便按从前到后的顺序进行绘制。有一种定义明确、稳定的方法来决定两个盒子中的哪个盒子在另一个盒子前面,所以我编写了一个函数来做到这一点,然后我将我的函数传递给Array.prototype.sort()以获得正确的绘制顺序。但也可能存在这样的框循环,即A>B、B>C和C>A都为真。这意味着整个列表没有明确定义的排序顺序,即使任何对的顺序都是明确定义的。在实践中,这种情况不太可能出现,如果出现,我可以忍受一两个盒子的顺序错误。但是,在这种情况下,是否存在可能对整个列表进行错误排序或崩溃的JS实现?16年11月10日更新现在项目已经完成,只是为了补充

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(