def setup
background(220)
v = createVector(10.0, 20.0)
rotated_v = P5Vector.rotate(v, HALF_PI)
text(rotated_v.toString, 10, 20, 70)
end
def setup
@angle = 0
end
def draw
background(240)
v0 = createVector(50, 50)
v1 = createVector(50, 0)
drawArrow(v0, P5Vector.rotate(v1, @angle), 'black')
@angle += 0.01
end
# draw an arrow for a vector at a given base position
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
与えられたベクトルを回転させて新たなベクトルを生成します。
| 引数名 | 内容 | 備考 | オプション | デフォルト値 |
|---|---|---|---|---|
| v | ベクトル | p5vectorオブジェクト | ||
| angle | 回転角度 | angleModeの設定に依存 |
vec : 新たなベクトル (p5vectorオブジェクト)
・オプションとして p5.jsでは第3引数に結果収録用ベクトルの指定ができますが、
rbCanvas/p5ではその書式は採用していません。