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.Vector.obj).angleBetween
指定されたベクトルとの間の角度を取得します。
| 引数名 | 内容 | 備考 | オプション | デフォルト値 |
|---|---|---|---|---|
| vec | 対象ベクトル | p5.Vector |
角度 (単位は angleModeに依存)