レイヤにパラメトリック曲線を描画します。 以下のように描画されます。
type | path の指定方法 | 制御点数 | 精度 (accuracy) | コールバック関数 | 説明 |
---|---|---|---|---|---|
tpctPolyline | x1,y1, x2,y2, ... | 2以上 | 無効 (1と見なす) | 無効 | 単純な折れ線 |
tpctKAG3Spline | x1,y1, x2,y2, ... | 3以上 | 一区間あたりの分割数 | 無効 | Bスプライン曲線(KAG3のSplineMover相当) |
tpctCubicSplineOpen | x1,y1, x2,y2, ... | 2以上 | 一区間あたりの平均分割数 | 無効 | 3次スプライン開曲線 |
tpctCubicSplineClose | x1,y1, x2,y2, ... | 3以上(※1) | 一区間あたりの平均分割数 | 無効 | 3次スプライン閉曲線(※1) |
tpctChaikinOpen | x1,y1, x2,y2, ... | 4以上 | 一区間あたりの平均分割数 | 無効 | Bスプライン開曲線(チャイキンのアルゴリズム)(※2) |
tpctChaikinOpenPST | x1,y1, x2,y2, ... | 4以上 | 一区間あたりの平均分割数 | 無効 | Bスプライン開曲線(チャイキンのアルゴリズム)(※3) |
tpctChaikinClose | x1,y1, x2,y2, ... | 4以上(※1) | 一区間あたりの平均分割数 | 無効 | Bスプライン閉曲線(チャイキンのアルゴリズム)(※1) |
tpctBezierOpen | x1,y1, x2,y2, ... | 2以上 | 一区間あたりの平均分割数 | 無効 | N次 ベジエ曲線 |
tpctLagrangeInterpolation | x1,y1, x2,y2, ... | 2以上 | 一区間あたりの平均分割数 | 無効 | ラグランジュ補間曲線(※4) |
tpctUserParametric | 実装依存 | 実装依存 | 始点〜終点の分割数 | 必須 | ユーザ指定曲線 |
// アルキメデスの螺旋 // t : 0.0〜1.0の実数値 // path: drawCurve()の引数path(配列) function spiral_X (t, path) { var theta = 3.0 * t * 2.0 * Math.PI; var radius = (int)(t * 100); return radius * Math.cos(theta) + path[0]; } function spiral_Y (t, path) { var theta = 3.0 * t * 2.0 * Math.PI; var radius = (int)(t * 100); return radius * Math.sin(theta) + path[1]; } lay.drawCurve([ 100, 200 ], 20, tpctUserParametric, 0xff0000, 255, spiral_X, spiral_Y);
描画したピクセル数。
var path = [ 100,50, 200,400, 150,250, 350,100 ]; layer.drawCurve(path, 10, tpctCubicSplineOpen, 0xff0000);