diff --git a/src/fisceToyBox.js b/src/fisceToyBox.js index 635954f..1b11322 100644 --- a/src/fisceToyBox.js +++ b/src/fisceToyBox.js @@ -30,6 +30,8 @@ p5依存です getIntersectionをgetIntersectionsと誤植したせいで 通らなかった ごめんなさい + + createDisjointPathsは出力形式を変えるoptionがあってもいいかもしれない。 */ const fisceToyBox = (function(){ @@ -307,11 +309,76 @@ const fisceToyBox = (function(){ いちいち書き換えるのめんどくさいだろ */ function evenlySpacingAll(contours, options = {}){ - for(let contour of contours){ + for(const contour of contours){ evenlySpacing(contour, options); } } + /* + quadBezierize(points, options={}) + points: p5のベクトル列 + options: + detail: 分割のディテール。default:4 + closed: 閉路かどうか + もともとの点列を制御点とし、点列ごとに中点を取り、中点を端点とするクワドベジエで置き換える。 + 閉路の場合は端点も考慮される。 + */ + function quadBezierize(points, options = {}){ + const {detail = 4, closed = false} = options; + const subPoints = []; + for(let i=0; i