not good but great

プログラミング、アート、映画・本の感想について書きます。

Processingでdistで距離の計算やアークタンジェントで角度の計算をやってみる

2次元の距離を計算する


・参考
https://processing.org/examples/distance2d.html

void draw() {
  background(#f39c12);
  for(int i = -15;i <= width;i += 20){
    for(int j = -15;j <= height;j += 20){
      float size = dist(mouseX,mouseY,i,j);
      size = size / max_distance * 60;
      float rad = radians(60);
      triangle(i,j,i + size * cos(rad),j + size * sin(rad),i + size,j);
    }
  }
}

dist関数を使ってマウスポインタとの距離を計算しています。その後、triangle関数で三角形を描画します。

アークタンジェントを使う

・参考
https://processing.org/examples/arctangent.html

void update(int mx,int my){
    angle = atan2(my - y,mx - x);
}

y、x座標の順で引数を取るのは少し気持ちが悪いですが、欲しい角度を考えるとそうなります。