export default function Footer({ path }) { const getPath = (e, path) => { let newLines = []; for (let line of path.split("\n")) { if (line[0] == "P") continue; if (line[0] == "S") continue; if (line[0] == "X") continue; newLines.push(line); } let xs = []; let ys = []; let zs = []; let toti = 0; let al = 0; for (let line of newLines) { al +=1; let theLine = line.split(","); //console.log(theLine) if ( xs && parseFloat(theLine[0]) == xs[-1] && parseFloat(theLine[1]) == ys[-1] ) continue; if (al > 2) { let dist = ((xs[xs.length-1] - xs[xs.length-2]) ** 2 + (ys[ys.length-1] - ys[ys.length-2]) ** 2) ** 0.5; toti += Math.round(dist); } xs.push(parseFloat(theLine[0])); ys.push(parseFloat(theLine[1])); zs.push(parseFloat(theLine[2])); } let prevLine = ["0", "0", "0"]; let scaleFactor = 100000 / 2000; const canvas = document.getElementById("canvas"); if (!canvas.getContext) { console.log("canvas err"); return; } const ctx = canvas.getContext("2d"); // set line stroke and line width ctx.strokeStyle = "red"; ctx.lineWidth = 2; let totalH = Math.max(...zs); let minH = Math.min(...zs); for (let line = 0; line < xs.length - 1; line++) { let theLine = [xs[line], ys[line], zs[line]]; let x = parseFloat(theLine[0]) - parseFloat(prevLine[0]); let y = parseFloat(theLine[1]) - parseFloat(prevLine[1]); let x1 = line * scaleFactor; let y1 = zs[line]; let x2 = (line + 1) * scaleFactor; let y2 = zs[line + 1]; //console.log(x1, y1, x2, y2); let b0 = 0; let b1 = 500; let z1 = b0 + (b1 - b0) * ((y1 - totalH) / (minH - totalH)); let z2 = b0 + (b1 - b0) * ((y2 - totalH) / (minH - totalH)); //b0 + (b1 - b0) * ((x1-0)/(toti*scaleFactor-0)); let x12 = b0 + (b1 - b0) * ((x1 - 0) / (toti*scaleFactor)); let x22 = b0 + (b1 - b0) * ((x2 - 0) / (toti*scaleFactor)); console.log(x12); ctx.beginPath(); ctx.moveTo(x12, z1); ctx.lineTo(x22, z2); ctx.stroke(); } }; const draw = (e) => { //getPath(path); const canvas = document.getElementById("canvas"); if (!canvas.getContext) { return; } const ctx = canvas.getContext("2d"); // set line stroke and line width ctx.strokeStyle = "red"; ctx.lineWidth = 2; // draw a red line ctx.beginPath(); ctx.moveTo(234, 100); ctx.lineTo(234, 105); ctx.stroke(); }; //draw() return ( <> ); }