Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在paper.js中绘制样条曲线_Javascript_Computational Geometry_Spline_Paperjs_Cad - Fatal编程技术网

Javascript 如何在paper.js中绘制样条曲线

Javascript 如何在paper.js中绘制样条曲线,javascript,computational-geometry,spline,paperjs,cad,Javascript,Computational Geometry,Spline,Paperjs,Cad,我目前正在做一个项目,在paper.js画布上显示DXF文件。但是,当我读取DXF文件中的样条线对象时,我完全被命名和如何将它们转换为paper.jscurve对象弄糊涂了 DXF有:度,控制点和已知值 Paper.js有: 以下是DXF样条线数据对象的示例: controlPoints:(15) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}], degreeOfSplineCurve:5,

我目前正在做一个项目,在
paper.js
画布上显示DXF文件。但是,当我读取DXF文件中的样条线对象时,我完全被命名和如何将它们转换为paper.js
curve
对象弄糊涂了

DXF有:
控制点
已知值

Paper.js有:

以下是DXF样条线数据对象的示例:

controlPoints:(15) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}],
degreeOfSplineCurve:5,
handle:"100",
knotValues:(21) [0, 0, 0, 0, 0, 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 1, 1, 1, 1, 1, 1],
layer:"0",
numberOfControlPoints:15,
numberOfFitPoints:0,
numberOfKnots:21,
planar:true,
type:"SPLINE"

如果需要更多信息,请告诉我

DXF曲线实现为任意阶非均匀有理B样条曲线(NURBS),而paper.js仅支持三次bezier曲线。在Paper.js中,bezier曲线的一段由点、handleIn和handleOut向量定义。看

NURBS是比Bezier更通用的表示形式,因此可能无法使用精确的Bezier曲线表示任何NURBS,但您仍然可以使用Bezier曲线或使用直线段在DXF中找到足够接近的曲线近似值