1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
draw_arrow=function(p,x1,y1,x2,y2){
p.push()
p.strokeWeight(5)
p.line(x1,y1,x2,y2)
offset=5
var angle = p.atan2(y1 - y2, x1 - x2); //gets the angle of the line
p.translate(x2, y2); //translates to the destination vertex
p.rotate(angle-p.HALF_PI); //rotates the arrow point
p.triangle(-offset*0.8, offset, offset*0.8, offset, 0, -offset/2); //draws the arrow point as a triangle
p.pop();
// Return the center of the arrow
return(p.createVector(x1+(x2-x1)/2,y1+(y2-y1)/2))
}
|