Blender Sverchok Profile Parametric Mk3 各コマンド動作例

Sverchok

はじめに

Profile Prametric Mk3 の各機能の動作をまとめてみた

Line To

  • 現在のポイントから指定した座標へ線を引く
  • L (<2v coordinate>)+ ["n = " num_segments] [z]
  • 大文字は絶対座標、小文字は相対座標
default x = 2;
default y = 3;
L x,y;

HorLineTo To

  • x分平行線を描く
  • H {x})+ ["n = " num_segments] ";"
  • 大文字は絶対座標、小文字は相対座標
default straight_length = 5;
H straight_length;

VertLineTo

  • y分水直線を描く
  • V (<y>)+ ["n =" num_segments] ";"
  • 大文字は絶対座標、小文字は相対座標
default straight_length = 5;
V straight_length;

CurveTo

  • control1 は始点の制御点, control2 は終点の制御点, knot2 は終点の座標
  • C (<2v control1> <2v control2> <2v knot2>)+ ["n = " num_verts] [z]
  • 大文字は絶対座標、小文字は相対座標
default h1_x = 2;
default h1_y = 2;
default h2_x = 3;
default h2_y = 4;
default to_x = 5;
default to_y = 0;
default n = 10;
C h1_x,h1_y h2_x,h2_y to_x,to_y n = n;

SmoothCurveTo

  • 現在の地点から x,y へ三次ベジェ曲線を描く
  • S (<2v control2> <2v knot2>)+ ["n = " num_verts] [z]
  • 始点側の制御点は、直前の命令の終点側の制御点と現在の点を挟む対象点とみなす
  • control2 は終点側の制御点
  • knot2 は終点の座標
  • 大文字は絶対座標、小文字は相対座標
default h1_x = 2;
default h1_y = 2;
default to_x = 5;
default to_y = 0;
default n = 10;
S h1_x,h1_y to_x,to_y n = n;

QuadCurveTo

  • Q (<2v control> <2v knot2>)+ ["n = " num_segments] [z]
  • 2次ベジェ曲線を描く
  • 現在の点から knot2へ2次ベジェ曲線を描く
  • 大文字は絶対座標、小文字は相対座標
default h1_x = 2;
default h1_y = 2;
default to_x = 5;
default to_y = 0;
default n = 10;
q h1_x,h1_y to_x,to_y n = n;

SmthQuadCurve

  • T (<2v knot2>)+ [“n = ” num_segments] [z]
  • 現在の点から滑らかな2次ベジェ曲線を描く
  • 大文字は絶対座標、小文字は相対座標
default to_x = 5;
default to_y = 0;
default n = 10;
t to_x,to_y n = n;

ArcTo

  • 楕円弧を描く
  • A <2v rx,ry> <float rot> <int flag1> <int flag2> <2v x,y> ["n = " num_verts] [z]
  • 現在の点から x,y へ楕円弧を描く。楕円のサイズは rx, ryで定義される
  • 楕円の方位は rot で定義される。※現在の座標系において楕円を deg単位で何度回転するかを指示する
  • flag1(large arc flag)とflag2(sweed flag)は弧をどのように描くかを定める
  • 大文字は絶対座標、小文字は相対座標

フラグの例

default radius_x = 5;
default radius_y = 3;
default x_axis_rotation = 0;
default flag_large_arc = 0;
default flag_sweep = 0;
default to_x = 4;
default to_y = 3;
default n = 20;
a radius_x,radius_y x_axis_rotation
flag_large_arc flag_sweep to_x,to_y n = n

タイトルとURLをコピーしました