我目前正在做一个在paper.js画布上显示DXF文件的项目。但是,当我读取DXF文件中的样条线对象时,我完全被命名和如何将它们转换为paper.js curve对象弄糊涂了。
DXF有:degree、control points和know values
Paper.js有:http://paperjs.org/reference/curve/
以下是DXF Spline数据对象的示例:
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"如果您需要更多信息,请告诉我
发布于 2018-11-01 06:07:45
paper.js曲线实现为任意次非均匀有理B样条曲线(NURBS贝塞尔曲线),而DXF曲线仅支持三次贝塞尔曲线。在Paper.js中,一段bezier曲线是由一个点、handleIn和handleOut向量定义的。请参阅http://paperjs.org/reference/segment/
NURBS是比Bezier更通用的表示,因此可能无法使用精确的bezier曲线呈现任何NURBS,但您仍然可以使用bezier曲线或直线段在DXF中找到足够接近的曲线。
https://stackoverflow.com/questions/50989723
复制相似问题