曲線 : curve, bezier

シンタックス:curve

curve( c1x, c1y, x1, y1, x2, y2, c2x, c2y ) 
C1とC2を制御点とする、(x1, y1)と(x2, y2)を通る曲線を引く

サンプル

コード

int x1 = 200;
int y1 = 150;
int x2 = 400;
int y2 = 250;

void setup(){
  size( 600, 400 );
}

void draw(){
  background( 255 );
  
  stroke( 255, 100, 100 );
  curve( 100, 200, x1, y1, x2, y2, 500, 200 );
  
  stroke( 100, 100, 100 );
  curve( 100, 200, 100, 200, x1, y1, 500, 200 );
  curve( 100, 200, x2, y2, 500, 200, 500, 200 );
}

補足

制御点など詳しくは公式ドキュメントを参照。

シンタックス:bezier

bezier( x1, y1, c1x, c1y, x2, y2, c2x, c2y ) 
C1とC2をアンカーポイントとする、(x1, y1)と(x2, y2)を通るベジェ曲線を引く

サンプル

コード

int x1 = 200;
int y1 = 150;
int x2 = 400;
int y2 = 250;

void setup(){
  size( 600, 400 );
}

void draw(){
  background( 255 );
  
  stroke( 255, 100, 100 );
  bezier( x1, y1, 100, 200, x2, y2, 500, 200 );
  
  stroke( 100, 100, 100 );
  line( 100, 200, x1, y1 );
  line( x2, y2, 500, 200 );
}

補足

Illustratorなどのドローソフトでも採用されているベジェ曲線を引くための関数です。
公式ドキュメントも参照。

コメント