diff --git a/src/util/qpolygon-utils.js b/src/util/qpolygon-utils.js index 4e9351a8..d4417f9c 100644 --- a/src/util/qpolygon-utils.js +++ b/src/util/qpolygon-utils.js @@ -7250,11 +7250,12 @@ const drawHipLine = (points, canvas, roof, textMode, currentRoof, prevDegree, cu const baseX = Big(points[0]).minus(Big(points[2])).abs() const baseY = Big(points[1]).minus(Big(points[3])).abs() if (baseX.gt(1) && baseY.gt(1)) { - const base = calcLinePlaneSize({ x1: points[0], y1: points[1], x2: points[2], y2: points[3] }) / 10 - const heightX = baseX.times(Math.tan((currentDegree * Math.PI) / 180)).round() - const heightY = baseY.times(Math.tan((prevDegree * Math.PI) / 180)).round() - const degreeX = Math.atan(heightX.div(base).toNumber()) / (Math.PI / 180) - const degreeY = Math.atan(heightY.div(base).toNumber()) / (Math.PI / 180) + const hypotenuse = calcLinePlaneSize({ x1: points[0], y1: points[1], x2: points[2], y2: points[3] }) + const base = getAdjacent(hypotenuse) + const heightX = base * Math.tan((currentDegree * Math.PI) / 180) + const heightY = base * Math.tan((prevDegree * Math.PI) / 180) + const degreeX = Math.atan2(heightX, hypotenuse) * (180 / Math.PI) + const degreeY = Math.atan2(heightY, hypotenuse) * (180 / Math.PI) if (Math.abs(degreeX - degreeY) < 1) { currentDegree = degreeX prevDegree = degreeY