Three.js 3.NurbCurve获取点(t)?

Three.js 3.NurbCurve获取点(t)?,three.js,Three.js,我尝试了多种不同的方法,但似乎都不管用。有什么想法吗? 我想模型沿着NURBSCurve布局,可以看出从小提琴到增量模型的布局我使用了5个步骤,但在使用getPoint方法时显然是第二个位置多于5个单元的模型。也许我不知道getPoint的算法。如何获得距离曲线起点指定距离后的点?提前谢谢 //简单的three.js示例 var网格、渲染器、场景、摄影机、控件; init(); 制作动画(); 函数init(){ //渲染器 renderer=new THREE.WebGLRenderer();

我尝试了多种不同的方法,但似乎都不管用。有什么想法吗? 我想模型沿着NURBSCurve布局,可以看出从小提琴到增量模型的布局我使用了5个步骤,但在使用getPoint方法时显然是第二个位置多于5个单元的模型。也许我不知道getPoint的算法。如何获得距离曲线起点指定距离后的点?提前谢谢

//简单的three.js示例
var网格、渲染器、场景、摄影机、控件;
init();
制作动画();
函数init(){
//渲染器
renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
//场面
场景=新的三个。场景();
//摄像机
摄像头=新的三个透视摄像头(40,window.innerWidth/window.innerHeight,11000);
摄像机位置设置(20,20,20);
//控制
控制装置=新的三个控制装置(摄像机);
//环境的
添加(新的3.AmbientLight(0x22222));
变量大小=100;
var分区=100;
var gridHelper=新的三个.gridHelper(大小、分区);
添加(gridHelper);
//轻的
var灯=新的三方向灯(0xffffff,1);
光。位置。设置(20,20,0);
场景。添加(灯光);
//斧头
添加(新的3.AxisHelper(20));
var group=新的三个.group();
场景。添加(组);
//NURBS曲线
var nurbsControlPoints=[];
var nurbsnots=[];
var nurbsDegree=3;

for(var i=0;i
THREE.nurbCurve
源自
THREE.Curve
,它实现了一个名为
getSpacedPoints
的方法,该方法将曲线划分为大约相等的给定数量的分段 长度并返回多个点加上一个。这些点给出每个点的端点 曲线的一部分。示例:

 var pieces=nurbsCurve.getSpacedPoints(5);

要获取距离曲线特定距离的点,请使用:

 // If "distance" ranges from 0 to the curve's length, use:
 var point=nurbsCurve.getPointAt(distance/nurbsCurve.getLength());
 // If "distance" ranges from 0 to 1, use:
 var point=nurbsCurve.getPointAt(distance);
有关
THREE.Curve
的更多信息,请参阅


还请注意,我发现您的代码存在一个潜在问题:

 pos.z=10;
这使每个立方体点的位置具有相同的Z坐标。您的意图可能是 将每个立方体的位置移动10。在这种情况下,请尝试以下操作:

 pos.z+=10;

谢谢你的回复!我的意图不是分割曲线,而是想通过在特定距离上获得曲线上指定长度的坐标,用这个点来定位我的模型。但是我不知道是否实现,非常需要你的帮助,非常感谢!