xxxxxxxxxx
33
function setup() {
createCanvas(400, 400, WEBGL);
}
function draw() {
background(200,200,0);
strokeWeight(2);
rotateZ(frameCount * 0.01);
rotateX(frameCount * 0.01);
rotateY(frameCount * 0.01);
//drawingContext.setLineDash([5, 10]);
stroke(200,0,0);
line(0,5,0,100,105,100); //__ use some offset to see both
stroke(0,0,200);
dash_line(0, 0, 0, 100, 100, 100, 2, 5);
}
function dash_line(x1, y1, z1, x2, y2, z2, lon, loff) {
let v1 = createVector(x1, y1, z1);
let v2 = createVector(x2, y2, z2);
let vd = p5.Vector.sub(v2, v1);
let llong = vd.mag();
let kn = int( llong/(lon + loff) );
push();
translate(x1, y1, z1);
let vdon = vd.copy().setMag(lon); //_____ make line
let vdt = vd.copy().setMag(lon+loff); //_ translate to next line
for (let k = 0; k < kn; k++) {
line(0, 0, 0, vdon.x, vdon.y, vdon.z);
translate(vdt.x, vdt.y, vdt.z);
}
pop();
}