xxxxxxxxxx
27
function arrow(x1, y1, x2, y2) {
line(x1, y1, x2, y2)
let r = 8 // Arrowhead radius
let u = createVector(x2-x1, y2-y1).normalize()
let a = 0.94, b = 0.34 // Arrowhead half angle
beginShape()
vertex( x2 + (-a * u.x - b * u.y) * r,
y2 + ( b * u.x - a * u.y) * r )
vertex( x2, y2 )
vertex( x2 + (-a * u.x + b * u.y) * r,
y2 + (-b * u.x - a * u.y) * r )
endShape()
}
function setup() {
createCanvas(400, 400);
stroke("darkgreen")
noFill()
}
function draw() {
background(220);
translate(200,200)
rotate(frameCount * 0.005)
translate(-200,-200)
arrow(200, 200, 250,300, true)
}