草庐IT

Geometry

全部标签

javascript - 如何创建具有宽度和厚度的 Three.js 3D 线系列?

有没有办法创建具有宽度和厚度的Three.js3D线系列?尽管Three.js线对象支持线宽,但WebGL中所有平台上的所有浏览器尚不支持此属性。这是在Three.js中设置线宽的地方:varmaterial=newTHREE.LineBasicMaterial({color:0xff0000,linewidth:5});具有宽度的Three.js功能区对象最近已被删除。Three.js管对象生成3D挤压,但基于贝塞尔曲线的线条不会通过控制点。谁能想到一种在Three.js中绘制具有某种用户可定义的“体积”(例如宽度、厚度或半径)的线系列(折线、绘图线)的方法?这个问题可能是对这个问题

javascript - 用大小不等的圆圈填充空间

这是我的问题:我有一堆需要在Canvas中显示的圆圈。有任意数量的圆,每个圆都有预定义的半径。圆的总面积总是小于Canvas的面积。我想定位圆圈,使它们占据Canvas内可用的最大空间,而不会相互接触。我的目标是实现视觉上令人愉悦的效果,使圆圈在Canvas内分布均匀。我不知道这是否真的是“空间填充”,因为我的目标不是最小化元素之间的距离,而是最大化它。下面是我正在努力实现的一个例子:我的第一个“蛮力”想法如下:对于每个圆:计算其边界与其他圆的边界之间的最短距离;将所有这些距离相加,称之为X。计算所有X的总和。随机改变圆圈之间的距离。重复1-3进行预设的迭代次数,并取在步骤(2)中获得

javascript - 如何在谷歌地图上画圆时知道半径

我有什么:根据Google的建议,我们使用了MVC对象和事件DistanceWidget和RadiusWidget来显示半径,同时重新调整圆的大小,这对于现有的圆(由DistanceWidget绘制的圆圈)。FiddleDemo我需要什么:我需要在绘制新圆时显示圆的半径。DistanceWidget和RadiusWidget事件仅用于现有圆(由DistanceWidget绘制的圆)而不用于新圆(用户使用DrawingManager工具绘制的圆)).是否可以显示用于创建新圈子的DistanceWidget?Fiddle 最佳答案 确实

javascript - 在圆圈内环绕文字

我正在使用d3绘制UML图,并希望将文本包裹在使用d3绘制的形状中。我已经了解了下面的代码,但找不到使文本“适合”我的形状的解决方案(见下图)。varsvg=d3.select('#svg').append('svg').attr('width',500).attr('height',200);varglobal=svg.append('g');global.append('circle').attr('cx',150).attr('cy',100).attr('r',50);global.append('text').attr('x',150).attr('y',100).attr(

javascript - 圆坐标到 Javascript 中的数组

在JavaScript中将圆的坐标添加到数组的最佳方法是什么?到目前为止,我只能做一个半圆,但我需要一个将整个圆返回到两个不同数组的公式:xValues和yValues。(我正在尝试获取坐标,以便我可以沿路径为对象设置动画。)这是我目前所拥有的:circle:function(radius,steps,centerX,centerY){varxValues=[centerX];varyValues=[centerY];for(vari=1;i 最佳答案 你的循环应该这样设置:for(vari=0;i从0开始循环遍历整个2*PI范围,

javascript - 找到两个移动物体的最佳交点

我想大幅优化我的一个算法,我会尽我所能来解释它。主题t=0时,我们处于二维欧几里得系统中。在这个系统中有两个对象:O1和O2。O1和O2分别位于PA和PC点。O1以恒定且已知的速度向点PB移动。物体到达PB时停止。O2可以恒定且已知的速度在任何方向上不同或不O1。在时间0,O2没有方向,我们需要为它找到一个方向。已知参数:O1:位置、方向、速度O2:位置、速度这是系统的小图。我们想找到点PI和时间ti为:O1在时间ti的位置=O2在时间ti的位置=圆周率。然后让物体O2移动到PI点,得到O2方向。选择O2的方向(PointPi)并且两个对象O1和O2都在移动时,对象将永远不会停止或等待

javascript - 从街景中的像素获取航向和俯仰

我认为这是这个问题的最佳位置。我正在尝试获取嵌入式Google街景View中任何点击点的航向和俯仰。我唯一知道并可以获得的信息是:视野(度)中心点的航向和俯仰(以度为单位)以及x和y像素位置鼠标点击的x和y像素位置我在此处提供了一个带有简化测量值的屏幕截图作为示例:我最初只是认为你可以将视野除以像素宽度以获得每个像素的度数,但它更复杂,我认为它与投影到球体内部有关,相机位于球心?奖金,如果你能告诉我如何做相反的......澄清:目标不是将View移动到单击点,而是提供有关单击点的信息。每像素度数方法不起作用,因为视口(viewport)不是线性的。我这里的值只是示例,但视野可以更大或更

javascript - 我可以在 three.js 中隐藏网格的面吗?

我想让网格的一部分在运行时不可见。我可以将这些部分设置为不可见/透明吗?通过改变单个面孔的属性?网格本身仅使用一种Material。示例说明作为编辑理解这个问题:想象一个网格(这里有20个顶点的几何形状),其中四个顶点的每个四边形构建一个Face4。现在,网格的某些部分应该是不可见的(这里有两个面是不可见的)。 最佳答案 注意:此答案适用于three.js的旧版本您可以为每个面指定不同的Material。这是一个示例,其中面共享Material,但有些面是透明的://geometryvargeometry=newTHREE.BoxG

javascript - 试图在圆的边缘绘制坐标

我正在尝试以编程方式绘制围绕圆的坐标。这是硬编码以显示我所追求的:http://jsfiddle.net/jE26S/1/variteration=4;varleft=[94,200,104,-6];vartop=[-6,94,200,94];for(vari=0;i");}数学绝对不是我的强项。我需要将人表示为围绕一个大圆圈的小圆圈。但是,会有随机数量的人,他们都需要等距。我不确定我是否应该从一个中心点开始工作。 最佳答案 假设(x0,y0)是圆心,r是半径:varitems=4;for(vari=0;i");}

javascript - 用渐变颜色绘制一个 D3 圆

如何画一个渐变色的圆?比如,从黄色到蓝色的渐变。通常,要创建一个黄色的圆圈,我们可以使用以下代码:varcdata=[50,40];varxscale=40;varxspace=50;varyscale=70;varsvg=d3.select("body").append("svg").attr("width",1600).attr("height",1600);varcircle=svg.selectAll("circle").data(cdata).enter().append("circle");varcircleattr=circle.attr("cx",function(d)