(p5.Vector.obj).angleBetween

def draw 
  background(240)
  v0 = createVector(50, 50)
  v1 = createVector(50, 0)
  drawArrow(v0, v1, 'red')
  v2 = createVector(mouseX - 50, mouseY - 50)
  drawArrow(v0, v2, 'blue')
  angleBetween = v1.angleBetween(v2)
  noStroke
  text("angle between:", 5, 30)
  text(format("%+.2f radians", angleBetween), 5, 65)
  text(format("%+.2f degrees", degrees(angleBetween)), 5, 85)
end

def drawArrow(base, vec, myColor)
  push do
    stroke(myColor)
    strokeWeight(3)
    fill(myColor)
    translate(base.x, base.y)
    line(0, 0, vec.x, vec.y)
    rotate(vec.heading)
    arrowSize = 7
    translate(vec.mag() - arrowSize, 0)
    triangle(0, arrowSize / 2, 0, -arrowSize / 2, arrowSize, 0)
  end
end

p5.jsリファレンス(参考情報)

[p5.js] (p5.Vector.obj).angleBetween

概要

指定されたベクトルとの間の角度を取得します。

書式

angleBetween(vec)

引数

引数名内容備考オプションデフォルト値
vec対象ベクトルp5.Vector

戻値

角度 (単位は angleModeに依存)

備考

関連

angleMode