def setup
background(220)
v0 = createVector(9, 4, 2)
v1 = createVector(3, 2, 4)
result = P5Vector.div(v0, v1)
div = createDiv("result: [#{result.x}, #{result.y}, #{result.z}]")
div.position(10, 10)
div.style('font-size', '14px')
div.style('width', '100px')
end
def setup
background(220)
v1 = createVector(6, 4, 2);
v2 = P5Vector.div(v1, 2);
div = createDiv("v2: [#{v2.x}, #{v2.y}, #{v2.z}]")
div.position(10, 10)
div.style('font-size', '14px')
div.style('width', '100px')
end
def draw
background(240)
v0 = createVector(0, 100)
v1 = createVector(50, -50)
drawArrow(v0, v1, 'red')
num = map(mouseX, 0, width, 10, 0.5, true)
v2 = P5Vector.div(v1, num)
drawArrow(v0, v2, 'blue')
noStroke
text(format('divided by %.2f', num), 0, 90)
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