Dynamo でのフリーフォーム曲線の作成には、基本的な方法が 2 つあります。点の集合を指定して、Dynamo によってその間に滑らかな曲線を補間する方法と、特定の次数の曲線の基礎となる制御点を指定する、より低レベルのメソッドです。補間による曲線は、線分が取るべき形状を設計者が正確に認識している場合や、曲線が通過できる場所と通過できない場所に対する特定の拘束が設計に含まれている場合に便利です。制御点を介して指定された曲線は、本質的には一連の直線セグメントであり、アルゴリズムによってスムージングされて最終的な曲線形状となります。制御点を介して曲線を指定することは、さまざまな次数のスムージングで曲線形状を検討する場合や、曲線セグメント間でスムーズな連続性が必要な場合に便利です。
pts =Point.ByCoordinates(Math.Cos(0..350..#10),Math.Sin(0..350..#10),0);// create an closed curvecrv =NurbsCurve.ByPoints(pts,true);// the same curve, if left open:crv2 =NurbsCurve.ByPoints(pts.Translate(5,0,0),false);
num_pts =6;pts =Point.ByCoordinates(1..30..#num_pts,Math.Sin(0..360..#num_pts) *4,0);// a B-Spline curve with degree 1 is a polylinectrl_curve =NurbsCurve.ByControlPoints(pts,1);
num_pts =6;pts =Point.ByCoordinates(1..30..#num_pts,Math.Sin(0..360..#num_pts) *4,0);// a B-Spline curve with degree 2 is smoothctrl_curve =NurbsCurve.ByControlPoints(pts,2);
Dynamo では、次数 20 までの NURBS (Non-Uniform Rational B Spline、非一様有理 B スプライン)曲線がサポートされます。次のスクリプトは、スムージング レベルの増加が曲線の形状に与える効果を示します。